77841-factor-diffs

Created Diff never expires
136 removals
546 lines
137 additions
547 lines
; Assembly listing for method PimpMyNet.Program:factor(double[][],int[]):int
; Assembly listing for method PimpMyNet.Program:factor(double[][],int[]):int
; Emitting BLENDED_CODE for X64 CPU with AVX - Windows
; Emitting BLENDED_CODE for X64 CPU with AVX - Windows
; optimized code
; optimized code
; rsp based frame
; rsp based frame
; fully interruptible
; fully interruptible
; No PGO data
; No PGO data
; 1 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data
; 1 inlinees with PGO data; 0 single block inlinees; 0 inlinees without PGO data


G_M000_IG01: ;; offset=0000H
G_M000_IG01: ;; offset=0000H
4157 push r15
4157 push r15
4156 push r14
4156 push r14
4155 push r13
4155 push r13
4154 push r12
4154 push r12
57 push rdi
57 push rdi
56 push rsi
56 push rsi
55 push rbp
55 push rbp
53 push rbx
53 push rbx
4883EC68 sub rsp, 104
4883EC68 sub rsp, 104
C5F877 vzeroupper
C5F877 vzeroupper
C5F829742450 vmovaps xmmword ptr [rsp+50H], xmm6
C4E17829742450 vmovaps xmmword ptr [rsp+50H], xmm6
C5F8297C2440 vmovaps xmmword ptr [rsp+40H], xmm7
C4E178297C2440 vmovaps xmmword ptr [rsp+40H], xmm7
488BF1 mov rsi, rcx
488BF1 mov rsi, rcx
488BFA mov rdi, rdx
488BFA mov rdi, rdx


G_M000_IG02: ;; offset=0025H
G_M000_IG02: ;; offset=0027H
8B5E08 mov ebx, dword ptr [rsi+08H]
8B5E08 mov ebx, dword ptr [rsi+08H]
895C2438 mov dword ptr [rsp+38H], ebx
895C2438 mov dword ptr [rsp+38H], ebx
8BEB mov ebp, ebx
8BEB mov ebp, ebx
85DB test ebx, ebx
85DB test ebx, ebx
0F8434060000 je G_M000_IG62
0F842D060000 je G_M000_IG62
488B5610 mov rdx, gword ptr [rsi+10H]
488B5610 mov rdx, gword ptr [rsi+10H]
448B7208 mov r14d, dword ptr [rdx+08H]
448B7208 mov r14d, dword ptr [rdx+08H]
443BF5 cmp r14d, ebp
443BF5 cmp r14d, ebp
0F8FB4000000 jg G_M000_IG10
0F8FB2000000 jg G_M000_IG10


G_M000_IG03: ;; offset=0047H
G_M000_IG03: ;; offset=0049H
458BFE mov r15d, r14d
458BFE mov r15d, r14d


G_M000_IG04: ;; offset=004AH
G_M000_IG04: ;; offset=004CH
4533E4 xor r12d, r12d
4533E4 xor r12d, r12d
4585FF test r15d, r15d
4585FF test r15d, r15d
0F8ECF050000 jle G_M000_IG58
0F8EC8050000 jle G_M000_IG58
4885FF test rdi, rdi
4885FF test rdi, rdi
0F84AC030000 je G_M000_IG42
0F84A5030000 je G_M000_IG42
413BDF cmp ebx, r15d
413BDF cmp ebx, r15d
0F8CA3030000 jl G_M000_IG42
0F8C9C030000 jl G_M000_IG42
44397F08 cmp dword ptr [rdi+08H], r15d
44397F08 cmp dword ptr [rdi+08H], r15d
0F8C99030000 jl G_M000_IG42
0F8C92030000 jl G_M000_IG42


G_M000_IG05: ;; offset=0072H
G_M000_IG05: ;; offset=0074H
458BEC mov r13d, r12d
458BEC mov r13d, r12d
418BC5 mov eax, r13d
418BC5 mov eax, r13d
4889442428 mov qword ptr [rsp+28H], rax
4889442428 mov qword ptr [rsp+28H], rax
4C8B44C610 mov r8, gword ptr [rsi+8*rax+10H]
4C8B44C610 mov r8, gword ptr [rsi+8*rax+10H]
4D8BC8 mov r9, r8
4D8BC8 mov r9, r8
453B6908 cmp r13d, dword ptr [r9+08H]
453B6908 cmp r13d, dword ptr [r9+08H]
0F83DB050000 jae G_M000_IG62
0F83D4050000 jae G_M000_IG62
C4C17B1044C110 vmovsd xmm0, qword ptr [r9+8*rax+10H]
C4C17B1044C110 vmovsd xmm0, qword ptr [r9+8*rax+10H]
C5F85405E2050000 vandps xmm0, xmm0, qword ptr [reloc @RWD00]
C4E1785405CF050000 vandps xmm0, xmm0, qword ptr [reloc @RWD00]
458D5501 lea r10d, [r13+01H]
458D5501 lea r10d, [r13+01H]
448954243C mov dword ptr [rsp+3CH], r10d
448954243C mov dword ptr [rsp+3CH], r10d
418BD2 mov edx, r10d
418BD2 mov edx, r10d
413BD6 cmp edx, r14d
413BD6 cmp edx, r14d
0F8D8F000000 jge G_M000_IG14
0F8D8D000000 jge G_M000_IG14
85D2 test edx, edx
8BCA mov ecx, edx
7C4B jl SHORT G_M000_IG11
410BCE or ecx, r14d
4585F6 test r14d, r14d
7C46 jl SHORT G_M000_IG11
7C46 jl SHORT G_M000_IG11
413BDE cmp ebx, r14d
413BDE cmp ebx, r14d
7C41 jl SHORT G_M000_IG11
7C41 jl SHORT G_M000_IG11
align [0 bytes for IG06]
align [0 bytes for IG06]


G_M000_IG06: ;; offset=00C1H
G_M000_IG06: ;; offset=00C2H
8BCA mov ecx, edx
8BCA mov ecx, edx
4C8B5CCE10 mov r11, gword ptr [rsi+8*rcx+10H]
4C8B5CCE10 mov r11, gword ptr [rsi+8*rcx+10H]
453B6308 cmp r12d, dword ptr [r11+08H]
453B6308 cmp r12d, dword ptr [r11+08H]
0F8397050000 jae G_M000_IG62
0F8392050000 jae G_M000_IG62
C4C17B104CC310 vmovsd xmm1, qword ptr [r11+8*rax+10H]
C4C17B104CC310 vmovsd xmm1, qword ptr [r11+8*rax+10H]
C5F0540D9F050000 vandps xmm1, xmm1, qword ptr [reloc @RWD00]
C4E170540D8D050000 vandps xmm1, xmm1, qword ptr [reloc @RWD00]
C5F92EC8 vucomisd xmm1, xmm0
C4E1792EC8 vucomisd xmm1, xmm0
7608 jbe SHORT G_M000_IG08
7608 jbe SHORT G_M000_IG08


G_M000_IG07: ;; offset=00E7H
G_M000_IG07: ;; offset=00EAH
448BEA mov r13d, edx
448BEA mov r13d, edx
C5F828C1 vmovaps xmm0, xmm1
C4E17828C1 vmovaps xmm0, xmm1


G_M000_IG08: ;; offset=00EEH
G_M000_IG08: ;; offset=00F2H
FFC2 inc edx
FFC2 inc edx
413BD6 cmp edx, r14d
413BD6 cmp edx, r14d
7CCC jl SHORT G_M000_IG06
7CC9 jl SHORT G_M000_IG06


G_M000_IG09: ;; offset=00F5H
G_M000_IG09: ;; offset=00F9H
EB48 jmp SHORT G_M000_IG14
EB48 jmp SHORT G_M000_IG14


G_M000_IG10: ;; offset=00F7H
G_M000_IG10: ;; offset=00FBH
448BFD mov r15d, ebp
448BFD mov r15d, ebp
E94BFFFFFF jmp G_M000_IG04
E949FFFFFF jmp G_M000_IG04
align [0 bytes for IG19]
align [0 bytes for IG19]


G_M000_IG11: ;; offset=00FFH
G_M000_IG11: ;; offset=0103H
3BD3 cmp edx, ebx
3BD3 cmp edx, ebx
0F835F050000 jae G_M000_IG62
0F835A050000 jae G_M000_IG62
448BDA mov r11d, edx
448BDA mov r11d, edx
4E8B5CDE10 mov r11, gword ptr [rsi+8*r11+10H]
4E8B5CDE10 mov r11, gword ptr [rsi+8*r11+10H]
453B6308 cmp r12d, dword ptr [r11+08H]
453B6308 cmp r12d, dword ptr [r11+08H]
0F834D050000 jae G_M000_IG62
0F8348050000 jae G_M000_IG62
C4C17B104CC310 vmovsd xmm1, qword ptr [r11+8*rax+10H]
C4C17B104CC310 vmovsd xmm1, qword ptr [r11+8*rax+10H]
C5F0540D58050000 vandps xmm1, xmm1, qword ptr [reloc @RWD00]
C4E170540D43050000 vandps xmm1, xmm1, qword ptr [reloc @RWD00]
C5F92EC8 vucomisd xmm1, xmm0
C4E1792EC8 vucomisd xmm1, xmm0
7608 jbe SHORT G_M000_IG13
7608 jbe SHORT G_M000_IG13


G_M000_IG12: ;; offset=012EH
G_M000_IG12: ;; offset=0134H
448BEA mov r13d, edx
448BEA mov r13d, edx
C5F828C1 vmovaps xmm0, xmm1
C4E17828C1 vmovaps xmm0, xmm1


G_M000_IG13: ;; offset=0135H
G_M000_IG13: ;; offset=013CH
FFC2 inc edx
FFC2 inc edx
413BD6 cmp edx, r14d
413BD6 cmp edx, r14d
7CC3 jl SHORT G_M000_IG11
7CC0 jl SHORT G_M000_IG11


G_M000_IG14: ;; offset=013CH
G_M000_IG14: ;; offset=0143H
44896C8710 mov dword ptr [rdi+4*rax+10H], r13d
44896C8710 mov dword ptr [rdi+4*rax+10H], r13d
443BEB cmp r13d, ebx
443BEB cmp r13d, ebx
0F8319050000 jae G_M000_IG62
0F8314050000 jae G_M000_IG62
418BD5 mov edx, r13d
418BD5 mov edx, r13d
488B54D610 mov rdx, gword ptr [rsi+8*rdx+10H]
488B54D610 mov rdx, gword ptr [rsi+8*rdx+10H]
488BCA mov rcx, rdx
488BCA mov rcx, rdx
443B6108 cmp r12d, dword ptr [rcx+08H]
443B6108 cmp r12d, dword ptr [rcx+08H]
0F8304050000 jae G_M000_IG62
0F83FF040000 jae G_M000_IG62
C5FB1044C110 vmovsd xmm0, qword ptr [rcx+8*rax+10H]
C4E17B1044C110 vmovsd xmm0, qword ptr [rcx+8*rax+10H]
C5F057C9 vxorps xmm1, xmm1
C4E17057C9 vxorps xmm1, xmm1
C5F92EC1 vucomisd xmm0, xmm1
C4E1792EC1 vucomisd xmm0, xmm1
7A06 jp SHORT G_M000_IG15
7A06 jp SHORT G_M000_IG15
0F84C7040000 je G_M000_IG60
0F84C2040000 je G_M000_IG60


G_M000_IG15: ;; offset=0175H
G_M000_IG15: ;; offset=017FH
453BEC cmp r13d, r12d
453BEC cmp r13d, r12d
7424 je SHORT G_M000_IG17
7424 je SHORT G_M000_IG17


G_M000_IG16: ;; offset=017AH
G_M000_IG16: ;; offset=0184H
4C89442420 mov gword ptr [rsp+20H], r8
4C89442420 mov gword ptr [rsp+20H], r8
488D4CC610 lea rcx, bword ptr [rsi+8*rax+10H]
488D4CC610 lea rcx, bword ptr [rsi+8*rax+10H]
E8C7EAE2FF call CORINFO_HELP_ASSIGN_REF
E8BDEAE2FF call CORINFO_HELP_ASSIGN_REF
4963D5 movsxd rdx, r13d
4963D5 movsxd rdx, r13d
488BCE mov rcx, rsi
488BCE mov rcx, rsi
4C8B442420 mov r8, gword ptr [rsp+20H]
4C8B442420 mov r8, gword ptr [rsp+20H]
E8C7EAFFFF call CORINFO_HELP_ARRADDR_ST
E8BDEAFFFF call CORINFO_HELP_ARRADDR_ST
488B442428 mov rax, qword ptr [rsp+28H]
488B442428 mov rax, qword ptr [rsp+28H]


G_M000_IG17: ;; offset=019EH
G_M000_IG17: ;; offset=01A8H
418D56FF lea edx, [r14-01H]
418D56FF lea edx, [r14-01H]
443BE2 cmp r12d, edx
443BE2 cmp r12d, edx
0F8D95000000 jge G_M000_IG23
0F8D96000000 jge G_M000_IG23


G_M000_IG18: ;; offset=01ABH
G_M000_IG18: ;; offset=01B5H
4C8B44C610 mov r8, gword ptr [rsi+8*rax+10H]
4C8B44C610 mov r8, gword ptr [rsi+8*rax+10H]
453B6008 cmp r12d, dword ptr [r8+08H]
453B6008 cmp r12d, dword ptr [r8+08H]
0F83A6040000 jae G_M000_IG62
0F83A1040000 jae G_M000_IG62
C5FB1005CE040000 vmovsd xmm0, qword ptr [reloc @RWD16]
C4E17B1005B3040000 vmovsd xmm0, qword ptr [reloc @RWD16]
C4C17B5E74C010 vdivsd xmm6, xmm0, qword ptr [r8+8*rax+10H]
C4C17B5E74C010 vdivsd xmm6, xmm0, qword ptr [r8+8*rax+10H]
448B54243C mov r10d, dword ptr [rsp+3CH]
448B54243C mov r10d, dword ptr [rsp+3CH]
418BD2 mov edx, r10d
418BD2 mov edx, r10d
413BD6 cmp edx, r14d
413BD6 cmp edx, r14d
7D37 jge SHORT G_M000_IG21
7D35 jge SHORT G_M000_IG21
85D2 test edx, edx
8BCA mov ecx, edx
7C35 jl SHORT G_M000_IG22
410BCE or ecx, r14d
4585F6 test r14d, r14d
7C33 jl SHORT G_M000_IG22
7C30 jl SHORT G_M000_IG22
413BDE cmp ebx, r14d
413BDE cmp ebx, r14d
7C2B jl SHORT G_M000_IG22
7C2E jl SHORT G_M000_IG22


G_M000_IG19: ;; offset=01E4H
G_M000_IG19: ;; offset=01EDH
8BCA mov ecx, edx
8BCA mov ecx, edx
4C8B4CCE10 mov r9, gword ptr [rsi+8*rcx+10H]
4C8B4CCE10 mov r9, gword ptr [rsi+8*rcx+10H]
453B6108 cmp r12d, dword ptr [r9+08H]
453B6108 cmp r12d, dword ptr [r9+08H]
0F836A040000 jae G_M000_IG62
0F8367040000 jae G_M000_IG62
4D8D5CC110 lea r11, bword ptr [r9+8*rax+10H]
4D8D5CC110 lea r11, bword ptr [r9+8*rax+10H]
C4C14B5903 vmulsd xmm0, xmm6, qword ptr [r11]
C4C14B5903 vmulsd xmm0, xmm6, qword ptr [r11]
C4C17B1103 vmovsd qword ptr [r11], xmm0
C4C17B1103 vmovsd qword ptr [r11], xmm0
FFC2 inc edx
FFC2 inc edx
413BD6 cmp edx, r14d
413BD6 cmp edx, r14d
7CD9 jl SHORT G_M000_IG19
7CD9 jl SHORT G_M000_IG19


G_M000_IG20: ;; offset=020BH
G_M000_IG20: ;; offset=0214H
EB32 jmp SHORT G_M000_IG23
EB35 jmp SHORT G_M000_IG23


G_M000_IG21: ;; offset=020DH
G_M000_IG21: ;; offset=0216H
EB30 jmp SHORT G_M000_IG23
EB33 jmp SHORT G_M000_IG23
align [0 bytes for IG26]
0F1F00 align [3 bytes for IG26]


G_M000_IG22: ;; offset=020FH
G_M000_IG22: ;; offset=021BH
3BD3 cmp edx, ebx
3BD3 cmp edx, ebx
0F8348040000 jae G_M000_IG62
0F8342040000 jae G_M000_IG62
448BCA mov r9d, edx
448BCA mov r9d, edx
4E8B4CCE10 mov r9, gword ptr [rsi+8*r9+10H]
4E8B4CCE10 mov r9, gword ptr [rsi+8*r9+10H]
453B6108 cmp r12d, dword ptr [r9+08H]
453B6108 cmp r12d, dword ptr [r9+08H]
0F8336040000 jae G_M000_IG62
0F8330040000 jae G_M000_IG62
4D8D5CC110 lea r11, bword ptr [r9+8*rax+10H]
4D8D5CC110 lea r11, bword ptr [r9+8*rax+10H]
C4C14B5903 vmulsd xmm0, xmm6, qword ptr [r11]
C4C14B5903 vmulsd xmm0, xmm6, qword ptr [r11]
C4C17B1103 vmovsd qword ptr [r11], xmm0
C4C17B1103 vmovsd qword ptr [r11], xmm0
FFC2 inc edx
FFC2 inc edx
413BD6 cmp edx, r14d
413BD6 cmp edx, r14d
7CD0 jl SHORT G_M000_IG22
7CD0 jl SHORT G_M000_IG22


G_M000_IG23: ;; offset=023FH
G_M000_IG23: ;; offset=024BH
418D57FF lea edx, [r15-01H]
418D57FF lea edx, [r15-01H]
443BE2 cmp r12d, edx
443BE2 cmp r12d, edx
0F8D9E010000 jge G_M000_IG40
0F8D98010000 jge G_M000_IG40


G_M000_IG24: ;; offset=024CH
G_M000_IG24: ;; offset=0258H
448B54243C mov r10d, dword ptr [rsp+3CH]
448B54243C mov r10d, dword ptr [rsp+3CH]
418BD2 mov edx, r10d
418BD2 mov edx, r10d
413BD6 cmp edx, r14d
413BD6 cmp edx, r14d
0F8DB1000000 jge G_M000_IG32
0F8DAB000000 jge G_M000_IG32
85D2 test edx, edx
8BCA mov ecx, edx
0F8C06010000 jl G_M000_IG37
410BCE or ecx, r14d
4585F6 test r14d, r14d
0F8CFD000000 jl G_M000_IG37
0F8CFD000000 jl G_M000_IG37
413BDE cmp ebx, r14d
413BDE cmp ebx, r14d
0F8CF4000000 jl G_M000_IG37
0F8CF4000000 jl G_M000_IG37
4C8B4CC610 mov r9, gword ptr [rsi+8*rax+10H]
4C8B4CC610 mov r9, gword ptr [rsi+8*rax+10H]


G_M000_IG25: ;; offset=027CH
G_M000_IG25: ;; offset=0282H
8BCA mov ecx, edx
8BCA mov ecx, edx
488B4CCE10 mov rcx, gword ptr [rsi+8*rcx+10H]
488B4CCE10 mov rcx, gword ptr [rsi+8*rcx+10H]
4D8BC1 mov r8, r9
4D8BC1 mov r8, r9
448B5908 mov r11d, dword ptr [rcx+08H]
448B5908 mov r11d, dword ptr [rcx+08H]
453BE3 cmp r12d, r11d
453BE3 cmp r12d, r11d
0F83CC030000 jae G_M000_IG62
0F83CC030000 jae G_M000_IG62
C5FB107CC110 vmovsd xmm7, qword ptr [rcx+8*rax+10H]
C4E17B107CC110 vmovsd xmm7, qword ptr [rcx+8*rax+10H]
458BEA mov r13d, r10d
458BEA mov r13d, r10d
443BED cmp r13d, ebp
443BED cmp r13d, ebp
0F8DB5000000 jge G_M000_IG35
0F8DB5000000 jge G_M000_IG35
4D85C0 test r8, r8
4D85C0 test r8, r8
7459 je SHORT G_M000_IG31
7459 je SHORT G_M000_IG31
85ED test ebp, ebp
85ED test ebp, ebp
7C4B jl SHORT G_M000_IG30
7C4B jl SHORT G_M000_IG30
443BDD cmp r11d, ebp
443BDD cmp r11d, ebp
7C3C jl SHORT G_M000_IG29
7C3C jl SHORT G_M000_IG29
41396808 cmp dword ptr [r8+08H], ebp
41396808 cmp dword ptr [r8+08H], ebp
7C2C jl SHORT G_M000_IG28
7C2C jl SHORT G_M000_IG28


G_M000_IG26: ;; offset=02B9H
G_M000_IG26: ;; offset=02C0H
458BDD mov r11d, r13d
458BDD mov r11d, r13d
4A8D5CD910 lea rbx, bword ptr [rcx+8*r11+10H]
4A8D5CD910 lea rbx, bword ptr [rcx+8*r11+10H]
C5FB1003 vmovsd xmm0, qword ptr [rbx]
C5FB1003 vmovsd xmm0, qword ptr [rbx]
C48143594CD810 vmulsd xmm1, xmm7, qword ptr [r8+8*r11+10H]
C48143594CD810 vmulsd xmm1, xmm7, qword ptr [r8+8*r11+10H]
C5FB5CC1 vsubsd xmm0, xmm0, xmm1
C5FB5CC1 vsubsd xmm0, xmm0, xmm1
C5FB1103 vmovsd qword ptr [rbx], xmm0
C5FB1103 vmovsd qword ptr [rbx], xmm0
41FFC5 inc r13d
41FFC5 inc r13d
443BED cmp r13d, ebp
443BED cmp r13d, ebp
7CDD jl SHORT G_M000_IG26
7CDD jl SHORT G_M000_IG26


G_M000_IG27: ;; offset=02DCH
G_M000_IG27: ;; offset=02E3H
8B5C2438 mov ebx, dword ptr [rsp+38H]
8B5C2438 mov ebx, dword ptr [rsp+38H]
EB75 jmp SHORT G_M000_IG35
EB75 jmp SHORT G_M000_IG35


G_M000_IG28: ;; offset=02E2H
G_M000_IG28: ;; offset=02E9H
4889BC24B8000000 mov gword ptr [rsp+B8H], rdi
4889BC24B8000000 mov gword ptr [rsp+B8H], rdi
EB23 jmp SHORT G_M000_IG33
EB23 jmp SHORT G_M000_IG33


G_M000_IG29: ;; offset=02ECH
G_M000_IG29: ;; offset=02F3H
4889BC24B8000000 mov gword ptr [rsp+B8H], rdi
4889BC24B8000000 mov gword ptr [rsp+B8H], rdi
EB19 jmp SHORT G_M000_IG33
EB19 jmp SHORT G_M000_IG33


G_M000_IG30: ;; offset=02F6H
G_M000_IG30: ;; offset=02FDH
4889BC24B8000000 mov gword ptr [rsp+B8H], rdi
4889BC24B8000000 mov gword ptr [rsp+B8H], rdi
EB0F jmp SHORT G_M000_IG33
EB0F jmp SHORT G_M000_IG33


G_M000_IG31: ;; offset=0300H
G_M000_IG31: ;; offset=0307H
4889BC24B8000000 mov gword ptr [rsp+B8H], rdi
4889BC24B8000000 mov gword ptr [rsp+B8H], rdi
EB05 jmp SHORT G_M000_IG33
EB05 jmp SHORT G_M000_IG33


G_M000_IG32: ;; offset=030AH
G_M000_IG32: ;; offset=0311H
E9D7000000 jmp G_M000_IG40
E9D7000000 jmp G_M000_IG40


G_M000_IG33: ;; offset=030FH
G_M000_IG33: ;; offset=0316H
453BEB cmp r13d, r11d
453BEB cmp r13d, r11d
0F8343030000 jae G_M000_IG62
0F8343030000 jae G_M000_IG62
418BDD mov ebx, r13d
418BDD mov ebx, r13d
488D5CD910 lea rbx, bword ptr [rcx+8*rbx+10H]
488D5CD910 lea rbx, bword ptr [rcx+8*rbx+10H]
C5FB1003 vmovsd xmm0, qword ptr [rbx]
C5FB1003 vmovsd xmm0, qword ptr [rbx]
453B6808 cmp r13d, dword ptr [r8+08H]
453B6808 cmp r13d, dword ptr [r8+08H]
0F832C030000 jae G_M000_IG62
0F832C030000 jae G_M000_IG62
418BFD mov edi, r13d
418BFD mov edi, r13d
C4C143594CF810 vmulsd xmm1, xmm7, qword ptr [r8+8*rdi+10H]
C4C143594CF810 vmulsd xmm1, xmm7, qword ptr [r8+8*rdi+10H]
C5FB5CC1 vsubsd xmm0, xmm0, xmm1
C5FB5CC1 vsubsd xmm0, xmm0, xmm1
C5FB1103 vmovsd qword ptr [rbx], xmm0
C5FB1103 vmovsd qword ptr [rbx], xmm0
41FFC5 inc r13d
41FFC5 inc r13d
443BED cmp r13d, ebp
443BED cmp r13d, ebp
7CC7 jl SHORT G_M000_IG33
7CC7 jl SHORT G_M000_IG33


G_M000_IG34: ;; offset=0348H
G_M000_IG34: ;; offset=034FH
8B5C2438 mov ebx, dword ptr [rsp+38H]
8B5C2438 mov ebx, dword ptr [rsp+38H]
488BBC24B8000000 mov rdi, gword ptr [rsp+B8H]
488BBC24B8000000 mov rdi, gword ptr [rsp+B8H]


G_M000_IG35: ;; offset=0354H
G_M000_IG35: ;; offset=035BH
FFC2 inc edx
FFC2 inc edx
413BD6 cmp edx, r14d
413BD6 cmp edx, r14d
0F8C1DFFFFFF jl G_M000_IG25
0F8C1CFFFFFF jl G_M000_IG25


G_M000_IG36: ;; offset=035FH
G_M000_IG36: ;; offset=0366H
E97F000000 jmp G_M000_IG40
E97F000000 jmp G_M000_IG40


G_M000_IG37: ;; offset=0364H
G_M000_IG37: ;; offset=036BH
3BD3 cmp edx, ebx
3BD3 cmp edx, ebx
0F83EC020000 jae G_M000_IG62
0F83EC020000 jae G_M000_IG62
8BCA mov ecx, edx
8BCA mov ecx, edx
488B4CCE10 mov rcx, gword ptr [rsi+8*rcx+10H]
488B4CCE10 mov rcx, gword ptr [rsi+8*rcx+10H]
4C8B44C610 mov r8, gword ptr [rsi+8*rax+10H]
4C8B44C610 mov r8, gword ptr [rsi+8*rax+10H]
448B4908 mov r9d, dword ptr [rcx+08H]
448B4908 mov r9d, dword ptr [rcx+08H]
44894C2434 mov dword ptr [rsp+34H], r9d
44894C2434 mov dword ptr [rsp+34H], r9d
453BE1 cmp r12d, r9d
453BE1 cmp r12d, r9d
0F83CE020000 jae G_M000_IG62
0F83CE020000 jae G_M000_IG62
C5FB107CC110 vmovsd xmm7, qword ptr [rcx+8*rax+10H]
C5FB107CC110 vmovsd xmm7, qword ptr [rcx+8*rax+10H]
458BDA mov r11d, r10d
458BDA mov r11d, r10d
443BDD cmp r11d, ebp
443BDD cmp r11d, ebp
7D43 jge SHORT G_M000_IG39
7D43 jge SHORT G_M000_IG39


G_M000_IG38: ;; offset=0398H
G_M000_IG38: ;; offset=039FH
453BD9 cmp r11d, r9d
453BD9 cmp r11d, r9d
0F83B6020000 jae G_M000_IG62
0F83B6020000 jae G_M000_IG62
458BEB mov r13d, r11d
458BEB mov r13d, r11d
4E8D6CE910 lea r13, bword ptr [rcx+8*r13+10H]
4E8D6CE910 lea r13, bword ptr [rcx+8*r13+10H]
C4C17B104500 vmovsd xmm0, qword ptr [r13]
C4C17B104500 vmovsd xmm0, qword ptr [r13]
453B5808 cmp r11d, dword ptr [r8+08H]
453B5808 cmp r11d, dword ptr [r8+08H]
0F839E020000 jae G_M000_IG62
0F839E020000 jae G_M000_IG62
458BCB mov r9d, r11d
458BCB mov r9d, r11d
C48143594CC810 vmulsd xmm1, xmm7, qword ptr [r8+8*r9+10H]
C48143594CC810 vmulsd xmm1, xmm7, qword ptr [r8+8*r9+10H]
C5FB5CC1 vsubsd xmm0, xmm0, xmm1
C5FB5CC1 vsubsd xmm0, xmm0, xmm1
C4C17B114500 vmovsd qword ptr [r13], xmm0
C4C17B114500 vmovsd qword ptr [r13], xmm0
41FFC3 inc r11d
41FFC3 inc r11d
443BDD cmp r11d, ebp
443BDD cmp r11d, ebp
448B4C2434 mov r9d, dword ptr [rsp+34H]
448B4C2434 mov r9d, dword ptr [rsp+34H]
7CBE jl SHORT G_M000_IG38
7CBE jl SHORT G_M000_IG38


G_M000_IG39: ;; offset=03DAH
G_M000_IG39: ;; offset=03E1H
FFC2 inc edx
FFC2 inc edx
413BD6 cmp edx, r14d
413BD6 cmp edx, r14d
7C83 jl SHORT G_M000_IG37
7C83 jl SHORT G_M000_IG37


G_M000_IG40: ;; offset=03E1H
G_M000_IG40: ;; offset=03E8H
448B54243C mov r10d, dword ptr [rsp+3CH]
448B54243C mov r10d, dword ptr [rsp+3CH]
458BE2 mov r12d, r10d
458BE2 mov r12d, r10d
453BE7 cmp r12d, r15d
453BE7 cmp r12d, r15d
0F8C80FCFFFF jl G_M000_IG05
0F8C7BFCFFFF jl G_M000_IG05


G_M000_IG41: ;; offset=03F2H
G_M000_IG41: ;; offset=03F9H
E91A020000 jmp G_M000_IG58
E91A020000 jmp G_M000_IG58


G_M000_IG42: ;; offset=03F7H
G_M000_IG42: ;; offset=03FEH
458BEC mov r13d, r12d
458BEC mov r13d, r12d
443BEB cmp r13d, ebx
443BEB cmp r13d, ebx
0F8353020000 jae G_M000_IG62
0F8353020000 jae G_M000_IG62
418BD5 mov edx, r13d
418BD5 mov edx, r13d
4C8B44D610 mov r8, gword ptr [rsi+8*rdx+10H]
4C8B44D610 mov r8, gword ptr [rsi+8*rdx+10H]
4D8BC8 mov r9, r8
4D8BC8 mov r9, r8
453B6908 cmp r13d, dword ptr [r9+08H]
453B6908 cmp r13d, dword ptr [r9+08H]
0F833E020000 jae G_M000_IG62
0F833E020000 jae G_M000_IG62
418BD5 mov edx, r13d
418BD5 mov edx, r13d
C4C17B1044D110 vmovsd xmm0, qword ptr [r9+8*rdx+10H]
C4C17B1044D110 vmovsd xmm0, qword ptr [r9+8*rdx+10H]
C5F8540556020000 vandps xmm0, xmm0, qword ptr [reloc @RWD00]
C5F854053F020000 vandps xmm0, xmm0, qword ptr [reloc @RWD00]
418D5501 lea edx, [r13+01H]
418D5501 lea edx, [r13+01H]
413BD6 cmp edx, r14d
413BD6 cmp edx, r14d
7D42 jge SHORT G_M000_IG46
7D42 jge SHORT G_M000_IG46


G_M000_IG43: ;; offset=0433H
G_M000_IG43: ;; offset=043AH
3BD3 cmp edx, ebx
3BD3 cmp edx, ebx
0F831A020000 jae G_M000_IG62
0F831A020000 jae G_M000_IG62
8BCA mov ecx, edx
8BCA mov ecx, edx
4C8B5CCE10 mov r11, gword ptr [rsi+8*rcx+10H]
4C8B5CCE10 mov r11, gword ptr [rsi+8*rcx+10H]
453B6308 cmp r12d, dword ptr [r11+08H]
453B6308 cmp r12d, dword ptr [r11+08H]
0F8309020000 jae G_M000_IG62
0F8309020000 jae G_M000_IG62
418BCC mov ecx, r12d
418BCC mov ecx, r12d
C4C17B104CCB10 vmovsd xmm1, qword ptr [r11+8*rcx+10H]
C4C17B104CCB10 vmovsd xmm1, qword ptr [r11+8*rcx+10H]
C5F0540D22020000 vandps xmm1, xmm1, qword ptr [reloc @RWD00]
C5F0540D0B020000 vandps xmm1, xmm1, qword ptr [reloc @RWD00]
C5F92EC8 vucomisd xmm1, xmm0
C5F92EC8 vucomisd xmm1, xmm0
7608 jbe SHORT G_M000_IG45
7608 jbe SHORT G_M000_IG45


G_M000_IG44: ;; offset=0464H
G_M000_IG44: ;; offset=046BH
448BEA mov r13d, edx
448BEA mov r13d, edx
C5F828C1 vmovaps xmm0, xmm1
C5F828C1 vmovaps xmm0, xmm1


G_M000_IG45: ;; offset=046BH
G_M000_IG45: ;; offset=0472H
FFC2 inc edx
FFC2 inc edx
413BD6 cmp edx, r14d
413BD6 cmp edx, r14d
7CC1 jl SHORT G_M000_IG43
7CC1 jl SHORT G_M000_IG43


G_M000_IG46: ;; offset=0472H
G_M000_IG46: ;; offset=0479H
443B6708 cmp r12d, dword ptr [rdi+08H]
443B6708 cmp r12d, dword ptr [rdi+08H]
0F83D6010000 jae G_M000_IG62
0F83D6010000 jae G_M000_IG62
418BD4 mov edx, r12d
418BD4 mov edx, r12d
44896C9710 mov dword ptr [rdi+4*rdx+10H], r13d
44896C9710 mov dword ptr [rdi+4*rdx+10H], r13d
443BEB cmp r13d, ebx
443BEB cmp r13d, ebx
0F83C5010000 jae G_M000_IG62
0F83C5010000 jae G_M000_IG62
418BD5 mov edx, r13d
418BD5 mov edx, r13d
488B54D610 mov rdx, gword ptr [rsi+8*rdx+10H]
488B54D610 mov rdx, gword ptr [rsi+8*rdx+10H]
488BCA mov rcx, rdx
488BCA mov rcx, rdx
443B6108 cmp r12d, dword ptr [rcx+08H]
443B6108 cmp r12d, dword ptr [rcx+08H]
0F83B0010000 jae G_M000_IG62
0F83B0010000 jae G_M000_IG62
418BC4 mov eax, r12d
418BC4 mov eax, r12d
C5FB1044C110 vmovsd xmm0, qword ptr [rcx+8*rax+10H]
C5FB1044C110 vmovsd xmm0, qword ptr [rcx+8*rax+10H]
C5F057C9 vxorps xmm1, xmm1
C5F057C9 vxorps xmm1, xmm1
C5F92EC1 vucomisd xmm0, xmm1
C5F92EC1 vucomisd xmm0, xmm1
7A06 jp SHORT G_M000_IG47
7A06 jp SHORT G_M000_IG47
0F8470010000 je G_M000_IG60
0F8470010000 je G_M000_IG60


G_M000_IG47: ;; offset=04BBH
G_M000_IG47: ;; offset=04C2H
453BEC cmp r13d, r12d
453BEC cmp r13d, r12d
742B je SHORT G_M000_IG49
742B je SHORT G_M000_IG49


G_M000_IG48: ;; offset=04C0H
G_M000_IG48: ;; offset=04C7H
4C89442420 mov gword ptr [rsp+20H], r8
4C89442420 mov gword ptr [rsp+20H], r8
443BE3 cmp r12d, ebx
443BE3 cmp r12d, ebx
0F8381010000 jae G_M000_IG62
0F8381010000 jae G_M000_IG62
418BCC mov ecx, r12d
418BCC mov ecx, r12d
488D4CCE10 lea rcx, bword ptr [rsi+8*rcx+10H]
488D4CCE10 lea rcx, bword ptr [rsi+8*rcx+10H]
E875E7E2FF call CORINFO_HELP_ASSIGN_REF
E86EE7E2FF call CORINFO_HELP_ASSIGN_REF
4963D5 movsxd rdx, r13d
4963D5 movsxd rdx, r13d
488BCE mov rcx, rsi
488BCE mov rcx, rsi
4C8B442420 mov r8, gword ptr [rsp+20H]
4C8B442420 mov r8, gword ptr [rsp+20H]
E875E7FFFF call CORINFO_HELP_ARRADDR_ST
E86EE7FFFF call CORINFO_HELP_ARRADDR_ST


G_M000_IG49: ;; offset=04EBH
G_M000_IG49: ;; offset=04F2H
418D46FF lea eax, [r14-01H]
418D46FF lea eax, [r14-01H]
443BE0 cmp r12d, eax
443BE0 cmp r12d, eax
7D6A jge SHORT G_M000_IG52
7D6A jge SHORT G_M000_IG52


G_M000_IG50: ;; offset=04F4H
G_M000_IG50: ;; offset=04FBH
443BE3 cmp r12d, ebx
443BE3 cmp r12d, ebx
0F8352010000 jae G_M000_IG62
0F8352010000 jae G_M000_IG62
418BC4 mov eax, r12d
418BC4 mov eax, r12d
4C8B44C610 mov r8, gword ptr [rsi+8*rax+10H]
4C8B44C610 mov r8, gword ptr [rsi+8*rax+10H]
453B6008 cmp r12d, dword ptr [r8+08H]
453B6008 cmp r12d, dword ptr [r8+08H]
0F8340010000 jae G_M000_IG62
0F8340010000 jae G_M000_IG62
418BC4 mov eax, r12d
418BC4 mov eax, r12d
C5FB100576010000 vmovsd xmm0, qword ptr [reloc @RWD16]
C5FB10055F010000 vmovsd xmm0, qword ptr [reloc @RWD16]
C4C17B5E74C010 vdivsd xmm6, xmm0, qword ptr [r8+8*rax+10H]
C4C17B5E74C010 vdivsd xmm6, xmm0, qword ptr [r8+8*rax+10H]
418D542401 lea edx, [r12+01H]
418D542401 lea edx, [r12+01H]
413BD6 cmp edx, r14d
413BD6 cmp edx, r14d
7D32 jge SHORT G_M000_IG52
7D32 jge SHORT G_M000_IG52


G_M000_IG51: ;; offset=052BH
G_M000_IG51: ;; offset=0532H
3BD3 cmp edx, ebx
3BD3 cmp edx, ebx
0F831B010000 jae G_M000_IG62
0F831B010000 jae G_M000_IG62
8BC2 mov eax, edx
8BC2 mov eax, edx
4C8B4CC610 mov r9, gword ptr [rsi+8*rax+10H]
4C8B4CC610 mov r9, gword ptr [rsi+8*rax+10H]
453B6108 cmp r12d, dword ptr [r9+08H]
453B6108 cmp r12d, dword ptr [r9+08H]
0F830A010000 jae G_M000_IG62
0F830A010000 jae G_M000_IG62
418BC4 mov eax, r12d
418BC4 mov eax, r12d
4D8D5CC110 lea r11, bword ptr [r9+8*rax+10H]
4D8D5CC110 lea r11, bword ptr [r9+8*rax+10H]
C4C14B5903 vmulsd xmm0, xmm6, qword ptr [r11]
C4C14B5903 vmulsd xmm0, xmm6, qword ptr [r11]
C4C17B1103 vmovsd qword ptr [r11], xmm0
C4C17B1103 vmovsd qword ptr [r11], xmm0
FFC2 inc edx
FFC2 inc edx
413BD6 cmp edx, r14d
413BD6 cmp edx, r14d
7CCE jl SHORT G_M000_IG51
7CCE jl SHORT G_M000_IG51


G_M000_IG52: ;; offset=055DH
G_M000_IG52: ;; offset=0564H
418D47FF lea eax, [r15-01H]
418D47FF lea eax, [r15-01H]
443BE0 cmp r12d, eax
443BE0 cmp r12d, eax
0F8D93000000 jge G_M000_IG57
0F8D93000000 jge G_M000_IG57


G_M000_IG53: ;; offset=056AH
G_M000_IG53: ;; offset=0571H
418D542401 lea edx, [r12+01H]
418D542401 lea edx, [r12+01H]
413BD6 cmp edx, r14d
413BD6 cmp edx, r14d
0F8D85000000 jge G_M000_IG57
0F8D85000000 jge G_M000_IG57


G_M000_IG54: ;; offset=0578H
G_M000_IG54: ;; offset=057FH
3BD3 cmp edx, ebx
3BD3 cmp edx, ebx
0F83CE000000 jae G_M000_IG62
0F83CE000000 jae G_M000_IG62
8BC2 mov eax, edx
8BC2 mov eax, edx
488B4CC610 mov rcx, gword ptr [rsi+8*rax+10H]
488B4CC610 mov rcx, gword ptr [rsi+8*rax+10H]
443BE3 cmp r12d, ebx
443BE3 cmp r12d, ebx
0F83BE000000 jae G_M000_IG62
0F83BE000000 jae G_M000_IG62
418BC4 mov eax, r12d
418BC4 mov eax, r12d
4C8B44C610 mov r8, gword ptr [rsi+8*rax+10H]
4C8B44C610 mov r8, gword ptr [rsi+8*rax+10H]
8B4108 mov eax, dword ptr [rcx+08H]
8B4108 mov eax, dword ptr [rcx+08H]
443BE0 cmp r12d, eax
443BE0 cmp r12d, eax
0F83AA000000 jae G_M000_IG62
0F83AA000000 jae G_M000_IG62
458BCC mov r9d, r12d
458BCC mov r9d, r12d
C4A17B107CC910 vmovsd xmm7, qword ptr [rcx+8*r9+10H]
C4A17B107CC910 vmovsd xmm7, qword ptr [rcx+8*r9+10H]
458D5C2401 lea r11d, [r12+01H]
458D5C2401 lea r11d, [r12+01H]
443BDD cmp r11d, ebp
443BDD cmp r11d, ebp
7D3A jge SHORT G_M000_IG56
7D3A jge SHORT G_M000_IG56


G_M000_IG55: ;; offset=05B8H
G_M000_IG55: ;; offset=05BFH
443BD8 cmp r11d, eax
443BD8 cmp r11d, eax
0F838D000000 jae G_M000_IG62
0F838D000000 jae G_M000_IG62
458BCB mov r9d, r11d
458BCB mov r9d, r11d
4E8D6CC910 lea r13, bword ptr [rcx+8*r9+10H]
4E8D6CC910 lea r13, bword ptr [rcx+8*r9+10H]
C4C17B104500 vmovsd xmm0, qword ptr [r13]
C4C17B104500 vmovsd xmm0, qword ptr [r13]
453B5808 cmp r11d, dword ptr [r8+08H]
453B5808 cmp r11d, dword ptr [r8+08H]
7379 jae SHORT G_M000_IG62
7379 jae SHORT G_M000_IG62
458BCB mov r9d, r11d
458BCB mov r9d, r11d
C48143594CC810 vmulsd xmm1, xmm7, qword ptr [r8+8*r9+10H]
C48143594CC810 vmulsd xmm1, xmm7, qword ptr [r8+8*r9+10H]
C5FB5CC1 vsubsd xmm0, xmm0, xmm1
C5FB5CC1 vsubsd xmm0, xmm0, xmm1
C4C17B114500 vmovsd qword ptr [r13], xmm0
C4C17B114500 vmovsd qword ptr [r13], xmm0
41FFC3 inc r11d
41FFC3 inc r11d
443BDD cmp r11d, ebp
443BDD cmp r11d, ebp
7CC7 jl SHORT G_M000_IG55
7CC7 jl SHORT G_M000_IG55


G_M000_IG56: ;; offset=05F1H
G_M000_IG56: ;; offset=05F8H
FFC2 inc edx
FFC2 inc edx
413BD6 cmp edx, r14d
413BD6 cmp edx, r14d
7C80 jl SHORT G_M000_IG54
7C80 jl SHORT G_M000_IG54


G_M000_IG57: ;; offset=05F8H
G_M000_IG57: ;; offset=05FFH
41FFC4 inc r12d
41FFC4 inc r12d
453BE7 cmp r12d, r15d
453BE7 cmp r12d, r15d
0F8CF3FDFFFF jl G_M000_IG42
0F8CF3FDFFFF jl G_M000_IG42


G_M000_IG58: ;; offset=0604H
G_M000_IG58: ;; offset=060BH
33C0 xor eax, eax
33C0 xor eax, eax


G_M000_IG59: ;; offset=0606H
G_M000_IG59: ;; offset=060DH
C5F828742450 vmovaps xmm6, xmmword ptr [rsp+50H]
C5F828742450 vmovaps xmm6, xmmword ptr [rsp+50H]
C5F8287C2440 vmovaps xmm7, xmmword ptr [rsp+40H]
C5F8287C2440 vmovaps xmm7, xmmword ptr [rsp+40H]
4883C468 add rsp, 104
4883C468 add rsp, 104
5B pop rbx
5B pop rbx
5D pop rbp
5D pop rbp
5E pop rsi
5E pop rsi
5F pop rdi
5F pop rdi
415C pop r12
415C pop r12
415D pop r13
415D pop r13
415E pop r14
415E pop r14
415F pop r15
415F pop r15
C3 ret
C3 ret


G_M000_IG60: ;; offset=0623H
G_M000_IG60: ;; offset=062AH
B801000000 mov eax, 1
B801000000 mov eax, 1


G_M000_IG61: ;; offset=0628H
G_M000_IG61: ;; offset=062FH
C5F828742450 vmovaps xmm6, xmmword ptr [rsp+50H]
C5F828742450 vmovaps xmm6, xmmword ptr [rsp+50H]
C5F8287C2440 vmovaps xmm7, xmmword ptr [rsp+40H]
C5F8287C2440 vmovaps xmm7, xmmword ptr [rsp+40H]
4883C468 add rsp, 104
4883C468 add rsp, 104
5B pop rbx
5B pop rbx
5D pop rbp
5D pop rbp
5E pop rsi
5E pop rsi
5F pop rdi
5F pop rdi
415C pop r12
415C pop r12
415D pop r13
415D pop r13
415E pop r14
415E pop r14
415F pop r15
415F pop r15
C3 ret
C3 ret


G_M00
G_M000_IG62: ;; offset=064CH
E8DF19AB5F call CORINFO_HELP_RNGCHKFAIL
CC int3

RWD00 dq 7FFFFFFFFFFF