Function at 0x4422d0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x538
mov esi, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
mov ebx, dword [ebp + 0x18]
cmp ecx, esi
mov edx, esi
mov edi, eax
cmova edx, ecx
cmovb edi, ebx
cmovb ebx, eax
mov eax, dword [ebp + 0xc]
cmovb esi, ecx
mov dword [esp + 0x110], edx
mov edx, dword [ebp + 8]
cmp esi, 0x21
mov dword [esp + 0x120], edi
mov dword [esp + 0x94], edx
jae 0x442532
test esi, esi
je 0x446f89
mov ecx, dword [esp + 0x110]
test ecx, ecx
je 0x442774
lea ecx, [ecx*8]
lea edx, [ebx + esi*8]
mov dword [esp + 0x124], ecx
lea ecx, [eax*8]
mov dword [esp + 0x1d0], edx
mov dword [esp + 0x128], ecx
xor ecx, ecx
jmp 0x4423a2
mov ebx, dword [esp + 0x114]
mov ecx, dword [esp + 0x11c]
add dword [esp + 0x94], 8
add dword [esp + 0x128], 0xfffffff8
mov eax, dword [ebp + 0xc]
add ebx, 8
inc ecx
cmp ebx, dword [esp + 0x1d0]
je 0x446f89
cmp ecx, eax
mov dword [esp + 0x11c], ecx
ja 0x4470dc
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
mov dword [esp + 0x114], ebx
mov edx, eax
or eax, ecx
je 0x442370
mov eax, dword [ebp + 0xc]
sub eax, dword [esp + 0x11c]
cmp eax, dword [esp + 0x110]
jb 0x4470bf
mov esi, ecx
xor ecx, ecx
xor edi, edi
xor eax, eax
mov dword [esp + 0x108], 0
mov dword [esp + 0x118], edx
mov dword [esp + 0x12c], esi
nop dword [eax + eax]
mov esi, dword [esp + 0x94]
mov edx, eax
mov dword [esp], eax
mov ebx, dword [esp + 0x120]
add ecx, dword [esi + eax*8]
adc edi, dword [esi + eax*8 + 4]
mov eax, dword [esp + 0x108]
mov esi, eax
adc esi, 0
adc eax, 0
mov dword [esp + 4], esi
mov esi, dword [esp + 0x118]
mov dword [esp + 8], eax
mov eax, dword [ebx + edx*8]
mov dword [esp + 0x54], eax
mul esi
mov dword [esp + 0x10], eax
mov eax, dword [esp]
mov dword [esp + 0x14], edx
mov eax, dword [ebx + eax*8 + 4]
mov dword [esp + 0xc], eax
mul esi
mov esi, dword [esp + 0x12c]
add eax, dword [esp + 0x14]
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x54]
adc edx, 0
mov dword [esp + 0x14], edx
mul esi
mov ebx, eax
mov eax, dword [esp + 0xc]
add ebx, dword [esp + 0x10c]
adc edx, dword [esp + 0x14]
mov dword [esp + 0x54], edx
setb byte [esp + 0x14]
mul esi
add eax, dword [esp + 0x54]
movzx esi, byte [esp + 0x14]
adc edx, esi
mov esi, dword [esp + 0x10]
add esi, ecx
mov ecx, eax
mov eax, dword [esp + 0x94]
adc ebx, edi
mov edi, edx
mov edx, dword [esp]
adc ecx, dword [esp + 4]
mov dword [eax + edx*8], esi
mov dword [eax + edx*8 + 4], ebx
lea eax, [edx + 1]
adc edi, dword [esp + 8]
cmp dword [esp + 0x110], eax
jne 0x442400
mov edx, dword [esp + 0x108]
cmp ecx, 1
mov eax, edi
sbb eax, 0
mov eax, dword [esp + 0x124]
mov ebx, edx
jb 0x442370
nop
cmp dword [esp + 0x128], eax
je 0x4470a9
mov esi, dword [esp + 0x94]
add dword [esi + eax], ecx
adc dword [esi + eax + 4], edi
mov esi, 0
adc ebx, 0
adc edx, 0
add eax, 8
mov ecx, ebx
neg ebx
mov ebx, 0
sbb esi, edx
mov edi, edx
mov edx, 0
jb 0x4424f0
jmp 0x442370
cmp esi, 0x101
mov dword [esp + 0x114], ebx
mov dword [esp + 0x54], esi
jae 0x4425f7
mov eax, dword [esp + 0x110]
mov ecx, esi
shr ecx, 1
sub eax, ecx
jb 0x44710e
sub esi, ecx
mov dword [esp + 0x110], eax
mov dword [esp + 0x14], ecx
lea edx, [eax + esi + 1]
mov dword [esp + 0x12c], esi
cmp edx, 5
mov dword [esp + 0x118], edx
jb 0x44274c
xor ebx, ebx
cmp edx, 0x10000000
setb al
jae 0x44720e
mov bl, al
lea edi, [edx*8]
shl ebx, 3
test edi, edi
js 0x447215
je 0x444d5c
mov esi, dword [0x56bbf8]
mov eax, dword [esi]
test eax, eax
jne 0x4425ca
call sub.kernel32.dll_GetProcessHeap
test eax, eax
je 0x444d66
mov dword [esi], eax
push edi
push 8
push eax
call sub.kernel32.dll_HeapAlloc
test eax, eax
je 0x444d66
mov ecx, dword [esp + 0x118]
mov ebx, dword [esp + 0x114]
mov edx, eax
mov esi, 1
mov eax, ecx
jmp 0x4445ba
mov edi, esi
mov esi, dword [esp + 0x110]
mov ecx, 0xaaaaaaab
mov dword [esp + 0x80], 0
mov dword [esp + 0x58], 0
mov eax, esi
mul ecx
shr edx, 1
lea eax, [edx + 1]
mov dword [esp + 0x108], edx
cmp edi, eax
mov edx, eax
mov dword [esp + 0x10], eax
cmovb edx, edi
sub edi, edx
mov dword [esp + 8], edx
cmp edi, eax
cmovae edi, eax
sub esi, eax
cmp esi, eax
mov dword [esp + 0xc], edi
cmovae esi, eax
mov dword [esp + 0x118], esi
lea esi, [ebx + edx*8]
mov edx, ebx
lea ecx, [esp + 0x58]
push esi
call fcn.004383e0
add esp, 4
movsd xmm1, qword [esp + 0x60]
movsd xmm2, qword [esp + 0x80]
movsd xmm0, qword [esp + 0x58]
lea edi, [esp + 0x20]
mov dword [esp + 0x10c], esi
movsd qword [esp + 0x20], xmm1
movsd xmm1, qword [esp + 0x78]
movsd qword [esp + 0x40], xmm2
movsd xmm2, qword [esp + 0x70]
movsd qword [esp + 0x18], xmm0
movsd qword [esp + 0x38], xmm1
movsd xmm1, qword [esp + 0x68]
movsd qword [esp + 0x30], xmm2
movsd qword [esp + 0x28], xmm1
mov ebx, dword [esp + 0x40]
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
cmp ebx, 5
mov edx, ebx
mov dword [esp], ecx
mov dword [esp + 4], eax
cmovae edx, ecx
mov ecx, dword [esp + 0x18]
cmovae edi, eax
setae al
test edx, edx
mov dword [esp + 0x14], ecx
jne 0x44270d
jmp 0x442795
cmp ebx, 5
mov edx, ebx
lea edi, [esp + 0x20]
cmovae edx, dword [esp]
cmovae edi, dword [esp + 4]
setae al
test edx, edx
je 0x442795
test edi, edi
je 0x442795
mov ecx, dword [edi + edx*8 - 8]
test al, 1
mov esi, ebx
cmovne esi, dword [esp]
or ecx, dword [edi + edx*8 - 4]
jne 0x442793
test esi, esi
je 0x4426f0
not al
dec esi
lea ecx, [esp + 0x18]
movzx eax, al
and eax, 1
shl eax, 5
mov dword [eax + ecx + 8], esi
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x40]
mov dword [esp], eax
jmp 0x4426f0
test edx, edx
je 0x44457c
lea eax, [edx*8]
lea ecx, [esp + 0x18]
push eax
push 0
push ecx
call sub.msvcrt.dll_memset
add esp, 0xc
mov edi, dword [esp + 0x18]
jmp 0x44457c
shl esi, 3
xor ecx, ecx
nop dword [eax]
cmp ecx, eax
ja 0x4470d5
inc ecx
add esi, 0xfffffff8
jne 0x442780
jmp 0x446f89
mov edx, esi
mov eax, dword [esp + 0x3c]
movsd xmm0, qword [esp + 0x34]
movsd xmm1, qword [esp + 0x2c]
cmp edx, 1
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0xc]
mov dword [esp + 0x234], eax
movsd qword [esp + 0x22c], xmm0
movsd xmm0, qword [esp + 0x24]
mov eax, dword [esp + 0x14]
movsd qword [esp + 0x224], xmm1
movsd qword [esp + 0x21c], xmm0
mov dword [esp + 0x210], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x214], eax
mov eax, dword [esp]
mov dword [esp + 0x218], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x238], ebx
mov dword [esp + 0x23c], eax
mov al, 2
sbb al, 0
add ecx, esi
mov byte [esp + 0x240], al
mov eax, dword [esp + 0x54]
cmp eax, ecx
jb 0x447115
mov edx, dword [esp + 0x10c]
mov dword [esp + 0x80], 0
mov dword [esp + 8], ecx
mov dword [esp + 0x58], 0
lea eax, [edx + esi*8]
lea ecx, [esp + 0x58]
push eax
call fcn.004383e0
add esp, 4
movsd xmm1, qword [esp + 0x60]
movsd xmm2, qword [esp + 0x80]
movsd xmm0, qword [esp + 0x58]
lea eax, [esp + 0x20]
movsd qword [esp + 0x20], xmm1
movsd xmm1, qword [esp + 0x78]
movsd qword [esp + 0x40], xmm2
movsd xmm2, qword [esp + 0x70]
movsd qword [esp + 0x18], xmm0
mov edi, dword [esp + 0x18]
movsd qword [esp + 0x38], xmm1
movsd xmm1, qword [esp + 0x68]
movsd qword [esp + 0x30], xmm2
mov dword [esp + 0xc], edi
movsd qword [esp + 0x28], xmm1
mov edx, dword [esp + 0x40]
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
cmp edx, 5
mov ebx, edx
mov dword [esp + 4], ecx
mov dword [esp], esi
cmovae ebx, esi
cmovae eax, ecx
setae cl
test ebx, ebx
jne 0x4428e9
jmp 0x442927
cmp edx, 5
mov ebx, edx
lea eax, [esp + 0x20]
cmovae ebx, dword [esp]
cmovae eax, dword [esp + 4]
setae cl
test ebx, ebx
je 0x442927
test eax, eax
je 0x442927
mov edi, dword [eax + ebx*8 - 8]
test cl, 1
mov esi, edx
cmovne esi, dword [esp]
or edi, dword [eax + ebx*8 - 4]
jne 0x442925
test esi, esi
je 0x4428d0
not cl
dec esi
movzx eax, cl
lea ecx, [esp + 0x18]
and eax, 1
shl eax, 5
mov dword [eax + ecx + 8], esi
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x40]
mov dword [esp], eax
jmp 0x4428d0
mov ebx, esi
mov eax, dword [esp + 0x3c]
movsd xmm0, qword [esp + 0x34]
movsd xmm1, qword [esp + 0x2c]
mov ecx, dword [esp + 8]
cmp ebx, 1
mov dword [esp + 0x80], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x2a4], eax
movsd qword [esp + 0x29c], xmm0
movsd xmm0, qword [esp + 0x24]
mov eax, dword [esp + 0xc]
movsd qword [esp + 0x294], xmm1
movsd qword [esp + 0x28c], xmm0
mov dword [esp + 0x280], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x284], eax
mov eax, dword [esp]
mov dword [esp + 0x288], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x2a8], edx
mov dword [esp + 0x2ac], eax
mov eax, dword [esp + 0x114]
lea edx, [eax + ecx*8]
mov ecx, dword [esp + 0x54]
lea eax, [eax + ecx*8]
mov cl, 2
sbb cl, 0
mov byte [esp + 0x2b0], cl
lea ecx, [esp + 0x58]
push eax
call fcn.004383e0
add esp, 4
movsd xmm1, qword [esp + 0x60]
movsd xmm2, qword [esp + 0x80]
movsd xmm0, qword [esp + 0x58]
lea ebx, [esp + 0x20]
movsd qword [esp + 0x20], xmm1
movsd xmm1, qword [esp + 0x78]
movsd qword [esp + 0x40], xmm2
movsd xmm2, qword [esp + 0x70]
movsd qword [esp + 0x18], xmm0
mov esi, dword [esp + 0x18]
movsd qword [esp + 0x38], xmm1
movsd xmm1, qword [esp + 0x68]
movsd qword [esp + 0x30], xmm2
mov dword [esp + 8], esi
movsd qword [esp + 0x28], xmm1
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
cmp eax, 5
mov edi, eax
mov dword [esp + 4], ecx
mov dword [esp], edx
cmovae edi, edx
cmovae ebx, ecx
setae cl
test edi, edi
jne 0x442a79
jmp 0x442ab7
cmp eax, 5
mov edi, eax
lea ebx, [esp + 0x20]
cmovae edi, dword [esp]
cmovae ebx, dword [esp + 4]
setae cl
test edi, edi
je 0x442ab7
test ebx, ebx
je 0x442ab7
mov esi, dword [ebx + edi*8 - 8]
test cl, 1
mov edx, eax
cmovne edx, dword [esp]
or esi, dword [ebx + edi*8 - 4]
jne 0x442ab5
test edx, edx
je 0x442a60
not cl
dec edx
movzx eax, cl
lea ecx, [esp + 0x18]
and eax, 1
shl eax, 5
mov dword [eax + ecx + 8], edx
mov eax, dword [esp + 0x20]
mov dword [esp], eax
mov eax, dword [esp + 0x40]
jmp 0x442a60
mov edi, edx
mov ecx, dword [esp + 0x3c]
movsd xmm0, qword [esp + 0x34]
movsd xmm1, qword [esp + 0x2c]
cmp edi, 1
mov dl, 2
mov esi, dword [esp + 0x44]
sbb dl, 0
mov dword [esp + 0x26c], ecx
movsd qword [esp + 0x264], xmm0
movsd xmm0, qword [esp + 0x24]
mov ecx, dword [esp + 8]
movsd qword [esp + 0x25c], xmm1
movsd qword [esp + 0x254], xmm0
mov dword [esp + 0x248], ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0x24c], ecx
mov ecx, dword [esp]
mov dword [esp + 0x250], ecx
mov ecx, dword [esp + 0x108]
mov dword [esp + 0x270], eax
mov dword [esp + 0x274], esi
mov byte [esp + 0x278], dl
cmp dword [esp + 0x110], ecx
jbe 0x447130
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x120]
mov dword [esp + 0x80], 0
mov dword [esp + 0x58], 0
lea eax, [edx + eax*8]
lea ecx, [esp + 0x58]
mov dword [esp + 8], eax
push eax
call fcn.004383e0
add esp, 4
movsd xmm1, qword [esp + 0x60]
movsd xmm2, qword [esp + 0x80]
movsd xmm0, qword [esp + 0x58]
lea ecx, [esp + 0x20]
movsd qword [esp + 0x20], xmm1
movsd xmm1, qword [esp + 0x78]
movsd qword [esp + 0x40], xmm2
movsd xmm2, qword [esp + 0x70]
movsd qword [esp + 0x18], xmm0
movsd qword [esp + 0x38], xmm1
movsd xmm1, qword [esp + 0x68]
movsd qword [esp + 0x30], xmm2
movsd qword [esp + 0x28], xmm1
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
cmp eax, 5
mov edi, eax
mov dword [esp], esi
mov dword [esp + 4], edx
cmovae edi, esi
mov esi, dword [esp + 0x18]
cmovae ecx, edx
setae bl
test edi, edi
mov dword [esp + 0xc], esi
jne 0x442c19
jmp 0x442c57
cmp eax, 5
mov edi, eax
lea ecx, [esp + 0x20]
cmovae edi, dword [esp]
cmovae ecx, dword [esp + 4]
setae bl
test edi, edi
je 0x442c57
test ecx, ecx
je 0x442c57
mov esi, dword [ecx + edi*8 - 8]
test bl, 1
mov edx, eax
cmovne edx, dword [esp]
or esi, dword [ecx + edi*8 - 4]
jne 0x442c55
test edx, edx
je 0x442c00
not bl
dec edx
lea ecx, [esp + 0x18]
movzx eax, bl
and eax, 1
shl eax, 5
mov dword [eax + ecx + 8], edx
mov eax, dword [esp + 0x20]
mov dword [esp], eax
mov eax, dword [esp + 0x40]
jmp 0x442c00
mov edi, edx
mov ecx, dword [esp + 0x3c]
movsd xmm0, qword [esp + 0x34]
movsd xmm1, qword [esp + 0x2c]
cmp edi, 1
mov dword [esp + 0x2dc], ecx
movsd qword [esp + 0x2d4], xmm0
movsd xmm0, qword [esp + 0x24]
mov ecx, dword [esp + 0xc]
movsd qword [esp + 0x2cc], xmm1
movsd qword [esp + 0x2c4], xmm0
mov dword [esp + 0x2b8], ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0x2bc], ecx
mov ecx, dword [esp]
mov dword [esp + 0x2c0], ecx
mov dword [esp + 0x2e0], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x118]
mov dword [esp + 0x2e4], eax
mov al, 2
sbb al, 0
mov byte [esp + 0x2e8], al
mov eax, dword [esp + 0x10]
lea edx, [ecx + eax]
cmp dword [esp + 0x110], edx
jb 0x44716b
mov dword [esp + 0xc], edx
mov edx, dword [esp + 8]
mov dword [esp + 0x80], 0
mov dword [esp + 0x58], 0
lea eax, [edx + ecx*8]
lea ecx, [esp + 0x58]
push eax
call fcn.004383e0
add esp, 4
movsd xmm1, qword [esp + 0x60]
movsd xmm2, qword [esp + 0x80]
movsd xmm0, qword [esp + 0x58]
lea esi, [esp + 0x20]
movsd qword [esp + 0x20], xmm1
movsd xmm1, qword [esp + 0x78]
movsd qword [esp + 0x40], xmm2
movsd xmm2, qword [esp + 0x70]
movsd qword [esp + 0x18], xmm0
mov edi, dword [esp + 0x18]
movsd qword [esp + 0x38], xmm1
movsd xmm1, qword [esp + 0x68]
movsd qword [esp + 0x30], xmm2
mov dword [esp + 8], edi
movsd qword [esp + 0x28], xmm1
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
cmp eax, 5
mov ebx, eax
mov dword [esp + 4], ecx
mov dword [esp], edx
cmovae ebx, edx
cmovae esi, ecx
setae cl
test ebx, ebx
jne 0x442db9
jmp 0x442df7
cmp eax, 5
mov ebx, eax
lea esi, [esp + 0x20]
cmovae ebx, dword [esp]
cmovae esi, dword [esp + 4]
setae cl
test ebx, ebx
je 0x442df7
test esi, esi
je 0x442df7
mov edi, dword [esi + ebx*8 - 8]
test cl, 1
mov edx, eax
cmovne edx, dword [esp]
or edi, dword [esi + ebx*8 - 4]
jne 0x442df5
test edx, edx
je 0x442da0
not cl
dec edx
movzx eax, cl
lea ecx, [esp + 0x18]
and eax, 1
shl eax, 5
mov dword [eax + ecx + 8], edx
mov eax, dword [esp + 0x20]
mov dword [esp], eax
mov eax, dword [esp + 0x40]
jmp 0x442da0
mov ebx, edx
mov ecx, dword [esp + 0x3c]
movsd xmm0, qword [esp + 0x34]
movsd xmm1, qword [esp + 0x2c]
cmp ebx, 1
mov dword [esp + 0x80], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x314], ecx
movsd qword [esp + 0x30c], xmm0
movsd xmm0, qword [esp + 0x24]
mov ecx, dword [esp + 8]
movsd qword [esp + 0x304], xmm1
movsd qword [esp + 0x2fc], xmm0
mov dword [esp + 0x2f0], ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0x2f4], ecx
mov ecx, dword [esp]
mov dword [esp + 0x2f8], ecx
mov dword [esp + 0x318], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x120]
mov dword [esp + 0x31c], eax
mov eax, dword [esp + 0xc]
lea edx, [ecx + eax*8]
mov eax, dword [esp + 0x110]
lea eax, [ecx + eax*8]
mov cl, 2
sbb cl, 0
mov byte [esp + 0x320], cl
lea ecx, [esp + 0x58]
push eax
call fcn.004383e0
add esp, 4
movsd xmm1, qword [esp + 0x60]
movsd xmm2, qword [esp + 0x80]
movsd xmm0, qword [esp + 0x58]
lea ebx, [esp + 0x20]
movsd qword [esp + 0x20], xmm1
movsd xmm1, qword [esp + 0x78]
movsd qword [esp + 0x40], xmm2
movsd xmm2, qword [esp + 0x70]
movsd qword [esp + 0x18], xmm0
mov esi, dword [esp + 0x18]
movsd qword [esp + 0x38], xmm1
movsd xmm1, qword [esp + 0x68]
movsd qword [esp + 0x30], xmm2
mov dword [esp + 8], esi
movsd qword [esp + 0x28], xmm1
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
cmp eax, 5
mov edi, eax
mov dword [esp + 4], ecx
mov dword [esp], edx
cmovae edi, edx
cmovae ebx, ecx
setae cl
test edi, edi
jne 0x442f49
jmp 0x442f87
cmp eax, 5
mov edi, eax
lea ebx, [esp + 0x20]
cmovae edi, dword [esp]
cmovae ebx, dword [esp + 4]
setae cl
test edi, edi
je 0x442f87
test ebx, ebx
je 0x442f87
mov esi, dword [ebx + edi*8 - 8]
test cl, 1
mov edx, eax
cmovne edx, dword [esp]
or esi, dword [ebx + edi*8 - 4]
jne 0x442f85
test edx, edx
je 0x442f30
not cl
dec edx
movzx eax, cl
lea ecx, [esp + 0x18]
and eax, 1
shl eax, 5
mov dword [eax + ecx + 8], edx
mov eax, dword [esp + 0x20]
mov dword [esp], eax
mov eax, dword [esp + 0x40]
jmp 0x442f30
mov edi, edx
mov ecx, dword [esp + 0x3c]
movsd xmm0, qword [esp + 0x34]
movsd xmm1, qword [esp + 0x2c]
cmp edi, 1
mov dword [esp + 0x34c], ecx
movsd qword [esp + 0x344], xmm0
movsd xmm0, qword [esp + 0x24]
mov ecx, dword [esp + 8]
movsd qword [esp + 0x33c], xmm1
movsd qword [esp + 0x334], xmm0
mov dword [esp + 0x328], ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0x32c], ecx
mov ecx, dword [esp]
mov dword [esp + 0x330], ecx
mov dword [esp + 0x350], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x354], eax
mov al, 2
sbb al, 0
mov byte [esp + 0x358], al
lea eax, [esp + 0x248]
lea edx, [esp + 0x210]
lea ecx, [esp + 0x3e0]
push eax
call fcn.004392f0
add esp, 4
lea esi, [esp + 0x2b8]
lea edi, [esp + 0x328]
lea ecx, [esp + 0x418]
mov edx, esi
push edi
call fcn.004392f0
add esp, 4
lea eax, [esp + 0x280]
lea edx, [esp + 0x3e0]
lea ecx, [esp + 0x450]
push eax
call fcn.0043a770
add esp, 4
lea ebx, [esp + 0x4c0]
lea eax, [esp + 0x2f0]
lea edx, [esp + 0x418]
mov ecx, ebx
push eax
call fcn.0043a770
add esp, 4
lea edx, [esp + 0x210]
lea ecx, [esp + 0x360]
push esi
call fcn.0043c6e0
add esp, 4
lea edx, [esp + 0x248]
lea ecx, [esp + 0x1d8]
push edi
call fcn.0043c6e0
add esp, 4
movsd xmm1, qword [esp + 0x400]
movsd xmm2, qword [esp + 0x408]
movsd xmm0, qword [esp + 0x410]
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0x3f0]
movsd qword [esp + 0x80], xmm2
movsd xmm2, qword [esp + 0x3f8]
movsd qword [esp + 0x88], xmm0
movsd qword [esp + 0x68], xmm1
movsd xmm1, qword [esp + 0x3e8]
movsd qword [esp + 0x70], xmm2
movsd xmm2, qword [esp + 0x3e0]
movsd qword [esp + 0x60], xmm1
movsd xmm1, qword [esp + 0x2b0]
movsd qword [esp + 0x58], xmm2
movsd xmm2, qword [esp + 0x2a8]
movsd qword [esp + 0x48], xmm1
movsd xmm1, qword [esp + 0x2a0]
movsd qword [esp + 0x40], xmm2
movsd xmm2, qword [esp + 0x298]
movsd qword [esp + 0x38], xmm1
movsd xmm1, qword [esp + 0x290]
movsd qword [esp + 0x30], xmm2
movsd xmm2, qword [esp + 0x280]
movsd qword [esp + 0x28], xmm1
movsd xmm1, qword [esp + 0x288]
movsd qword [esp + 0x18], xmm2
movsd qword [esp + 0x20], xmm1
lea esi, [esp + 0x18]
lea edx, [esp + 0x58]
lea ecx, [esp + 0xd0]
push esi
call fcn.00439c70
add esp, 4
movsd xmm1, qword [esp + 0x438]
movsd xmm2, qword [esp + 0x440]
movsd xmm0, qword [esp + 0x448]
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0x428]
movsd qword [esp + 0x80], xmm2
movsd xmm2, qword [esp + 0x430]
movsd qword [esp + 0x88], xmm0
movsd qword [esp + 0x68], xmm1
movsd xmm1, qword [esp + 0x420]
movsd qword [esp + 0x70], xmm2
movsd xmm2, qword [esp + 0x418]
movsd qword [esp + 0x60], xmm1
movsd xmm1, qword [esp + 0x320]
movsd qword [esp + 0x58], xmm2
movsd xmm2, qword [esp + 0x318]
movsd qword [esp + 0x48], xmm1
movsd xmm1, qword [esp + 0x310]
movsd qword [esp + 0x40], xmm2
movsd xmm2, qword [esp + 0x308]
movsd qword [esp + 0x38], xmm1
movsd xmm1, qword [esp + 0x300]
movsd qword [esp + 0x30], xmm2
movsd xmm2, qword [esp + 0x2f0]
movsd qword [esp + 0x28], xmm1
movsd xmm1, qword [esp + 0x2f8]
movsd qword [esp + 0x18], xmm2
movsd qword [esp + 0x20], xmm1
lea edi, [esp + 0x98]
lea edx, [esp + 0x58]
mov ecx, edi
push esi
call fcn.00439c70
add esp, 4
movsd xmm2, qword [esp + 0xf8]
movsd xmm1, qword [esp + 0xf0]
movsd xmm0, qword [esp + 0x100]
movsd qword [esp + 0x40], xmm2
movsd qword [esp + 0x38], xmm1
movsd xmm2, qword [esp + 0xe8]
movsd xmm1, qword [esp + 0xe0]
movsd qword [esp + 0x48], xmm0
movsd qword [esp + 0x30], xmm2
movsd qword [esp + 0x28], xmm1
movsd xmm2, qword [esp + 0xd0]
movsd xmm1, qword [esp + 0xd8]
movsd qword [esp + 0x20], xmm1
movsd qword [esp + 0x18], xmm2
lea esi, [esp + 0x18]
lea ecx, [esp + 0x488]
mov edx, esi
push edi
call fcn.0043c6e0
add esp, 4
cmp dword [esp + 0x40], 5
jb 0x44331f
mov eax, dword [0x56bbf8]
push dword [esp + 0x1c]
push 0
push dword [eax]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0xc0], 5
jb 0x44333e
mov eax, dword [0x56bbf8]
push dword [esp + 0x9c]
push 0
push dword [eax]
call sub.kernel32.dll_HeapFree
lea edx, [esp + 0x450]
lea ecx, [esp + 0x398]
push ebx
call fcn.0043c6e0
add esp, 4
movsd xmm1, qword [esp + 0x470]
movsd xmm2, qword [esp + 0x478]
movsd xmm0, qword [esp + 0x480]
mov al, 1
mov dword [esp + 4], eax
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0x460]
movsd qword [esp + 0x80], xmm2
movsd xmm2, qword [esp + 0x468]
movsd qword [esp + 0x88], xmm0
movsd qword [esp + 0x68], xmm1
movsd xmm1, qword [esp + 0x458]
movsd qword [esp + 0x70], xmm2
movsd xmm2, qword [esp + 0x450]
movsd qword [esp + 0x60], xmm1
movsd xmm1, qword [esp + 0x278]
movsd qword [esp + 0x58], xmm2
movsd xmm2, qword [esp + 0x270]
movsd qword [esp + 0x48], xmm1
movsd xmm1, qword [esp + 0x268]
movsd qword [esp + 0x40], xmm2
movsd xmm2, qword [esp + 0x260]
movsd qword [esp + 0x38], xmm1
movsd xmm1, qword [esp + 0x258]
movsd qword [esp + 0x30], xmm2
movsd xmm2, qword [esp + 0x248]
movsd qword [esp + 0x28], xmm1
movsd xmm1, qword [esp + 0x250]
movsd qword [esp + 0x18], xmm2
movsd qword [esp + 0x20], xmm1
lea edx, [esp + 0x58]
lea ecx, [esp + 0x98]
push esi
mov bl, 1
call fcn.00439c70
add esp, 4
movsd xmm1, qword [esp + 0xb8]
movsd xmm2, qword [esp + 0xb0]
movzx eax, byte [esp + 0xc8]
movsd xmm0, qword [esp + 0xc0]
movsd qword [esp + 0x38], xmm1
movsd xmm1, qword [esp + 0xa8]
movsd qword [esp + 0x30], xmm2
movsd xmm2, qword [esp + 0x98]
mov byte [esp], al
movsd qword [esp + 0x40], xmm0
movsd qword [esp + 0x28], xmm1
movsd xmm1, qword [esp + 0xa0]
movsd qword [esp + 0x18], xmm2
movsd qword [esp + 0x20], xmm1
lea esi, [esp + 0x18]
lea ecx, [esp + 0xd0]
mov bl, 1
mov edx, esi
call fcn.0043e450
movzx eax, byte [esp]
cmp al, 1
jne 0x443594
mov eax, dword [esp + 0xf8]
lea ecx, [esp + 0xf8]
mov dword [esp + 0x18], 0
mov dword [esp + 0x40], 0
cmp eax, 5
mov edx, eax
jb 0x443501
mov edx, dword [esp + 0xd8]
lea ecx, [esp + 0xd8]
test edx, edx
je 0x443512
mov dword [ecx], 0
mov eax, dword [esp + 0xf8]
cmp eax, 5
mov ecx, eax
jb 0x443520
mov ecx, dword [esp + 0xd8]
test ecx, ecx
jne 0x44721c
mov ecx, dword [esp + 0xd4]
lea edi, [esp + 0xd8]
mov dword [esp], ecx
mov ebx, dword [esp + 0xd8]
jmp 0x443554
test ecx, ecx
jne 0x443588
cmp eax, 5
mov edx, edi
mov ecx, eax
jb 0x443562
mov edx, dword [esp]
mov ecx, ebx
test ecx, ecx
je 0x4435b6
test edx, edx
je 0x4435b6
mov esi, dword [edx + ecx*8 - 8]
or esi, dword [edx + ecx*8 - 4]
jne 0x4435b6
cmp eax, 5
mov ecx, eax
lea edx, [esp + 0xf8]
jb 0x443550
mov ecx, ebx
mov edx, edi
jmp 0x443550
dec ecx
mov dword [edx], ecx
mov eax, dword [esp + 0xf8]
jmp 0x443539
mov ecx, dword [esp + 0xf8]
cmp ecx, 5
jb 0x4435a7
mov ecx, dword [esp + 0xd8]
movzx edx, al
test ecx, ecx
mov eax, 1
cmovne eax, edx
jmp 0x4435bc
mov al, 1
lea esi, [esp + 0x18]
movsd xmm1, qword [esp + 0xf0]
movsd xmm2, qword [esp + 0xe8]
movsd xmm0, qword [esp + 0xf8]
xor ebx, ebx
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0xe0]
movsd qword [esp + 0x70], xmm2
movsd xmm2, qword [esp + 0xd0]
movsd qword [esp + 0x80], xmm0
movsd qword [esp + 0x68], xmm1
movsd xmm1, qword [esp + 0xd8]
movsd qword [esp + 0x58], xmm2
movsd xmm2, qword [esp + 0x238]
movsd qword [esp + 0x60], xmm1
movsd xmm1, qword [esp + 0x240]
movsd qword [esp + 0x40], xmm2
movsd xmm2, qword [esp + 0x228]
mov byte [esp + 0x88], al
movsd qword [esp + 0x48], xmm1
movsd xmm1, qword [esp + 0x230]
movsd qword [esp + 0x30], xmm2
movsd xmm2, qword [esp + 0x210]
movsd qword [esp + 0x38], xmm1
movsd xmm1, qword [esp + 0x220]
movsd qword [esp + 0x18], xmm2
movsd qword [esp + 0x28], xmm1
movsd xmm1, qword [esp + 0x218]
movsd qword [esp + 0x20], xmm1
lea edx, [esp + 0x58]
lea ecx, [esp + 0xd0]
push esi
call fcn.0043bb70
add esp, 4
movsd xmm1, qword [esp + 0x4e0]
movsd xmm2, qword [esp + 0x4e8]
movsd xmm0, qword [esp + 0x4f0]
mov al, 1
mov dword [esp + 4], eax
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0x4d0]
movsd qword [esp + 0x80], xmm2
movsd xmm2, qword [esp + 0x4d8]
movsd qword [esp + 0x88], xmm0
movsd qword [esp + 0x68], xmm1
movsd xmm1, qword [esp + 0x4c8]
movsd qword [esp + 0x70], xmm2
movsd xmm2, qword [esp + 0x4c0]
movsd qword [esp + 0x60], xmm1
movsd xmm1, qword [esp + 0x358]
movsd qword [esp + 0x58], xmm2
movsd xmm2, qword [esp + 0x350]
movsd qword [esp + 0x48], xmm1
movsd xmm1, qword [esp + 0x348]
movsd qword [esp + 0x40], xmm2
movsd xmm2, qword [esp + 0x340]
movsd qword [esp + 0x38], xmm1
movsd xmm1, qword [esp + 0x338]
movsd qword [esp + 0x30], xmm2
movsd xmm2, qword [esp + 0x328]
movsd qword [esp + 0x28], xmm1
movsd xmm1, qword [esp + 0x330]
movsd qword [esp + 0x18], xmm2
movsd qword [esp + 0x20], xmm1
lea edx, [esp + 0x58]
lea ecx, [esp + 0x98]
push esi
call fcn.00439c70
add esp, 4
movsd xmm1, qword [esp + 0xb8]
movsd xmm2, qword [esp + 0xb0]
movzx ebx, byte [esp + 0xc8]
movsd xmm0, qword [esp + 0xc0]
movsd qword [esp + 0x38], xmm1
movsd xmm1, qword [esp + 0xa8]
movsd qword [esp + 0x30], xmm2
movsd xmm2, qword [esp + 0x98]
movsd qword [esp + 0x40], xmm0
movsd qword [esp + 0x28], xmm1
movsd xmm1, qword [esp + 0xa0]
movsd qword [esp + 0x18], xmm2
movsd qword [esp + 0x20], xmm1
lea edi, [esp + 0x18]
lea ecx, [esp + 0x130]
mov edx, edi
mov dword [esp + 0x54], ecx
call fcn.0043e450
cmp bl, 1
jne 0x4438d4
mov eax, dword [esp + 0x158]
lea ecx, [esp + 0x158]
mov dword [esp + 0x18], 0
mov dword [esp + 0x40], 0
cmp eax, 5
mov edx, eax
jb 0x443845
mov edx, dword [esp + 0x138]
lea ecx, [esp + 0x138]
test edx, edx
je 0x443856
mov dword [ecx], 0
mov eax, dword [esp + 0x158]
cmp eax, 5
mov ecx, eax
jb 0x443864
mov ecx, dword [esp + 0x138]
test ecx, ecx
jne 0x447231
mov ecx, dword [esp + 0x134]
lea edx, [esp + 0x138]
mov dword [esp], ecx
mov edi, dword [esp + 0x138]
jmp 0x443894
test ecx, ecx
jne 0x4438c8
cmp eax, 5
mov ebx, edx
mov ecx, eax
jb 0x4438a2
mov ebx, dword [esp]
mov ecx, edi
test ecx, ecx
je 0x4438f6
test ebx, ebx
je 0x4438f6
mov esi, dword [ebx + ecx*8 - 8]
or esi, dword [ebx + ecx*8 - 4]
jne 0x4438f6
cmp eax, 5
mov ecx, eax
lea ebx, [esp + 0x158]
jb 0x443890
mov ecx, edi
mov ebx, edx
jmp 0x443890
dec ecx
mov dword [ebx], ecx
mov eax, dword [esp + 0x158]
jmp 0x44387d
mov ecx, dword [esp + 0x158]
cmp ecx, 5
jb 0x4438e7
mov ecx, dword [esp + 0x138]
test ecx, ecx
movzx ecx, bl
mov eax, 1
cmovne eax, ecx
jmp 0x4438fc
mov al, 1
lea edi, [esp + 0x18]
movsd xmm1, qword [esp + 0x150]
movsd xmm2, qword [esp + 0x148]
movsd xmm0, qword [esp + 0x158]
mov dword [esp + 4], 0
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0x140]
movsd qword [esp + 0x70], xmm2
movsd xmm2, qword [esp + 0x130]
movsd qword [esp + 0x80], xmm0
movsd qword [esp + 0x68], xmm1
movsd xmm1, qword [esp + 0x138]
movsd qword [esp + 0x58], xmm2
movsd xmm2, qword [esp + 0x2e0]
movsd qword [esp + 0x60], xmm1
movsd xmm1, qword [esp + 0x2e8]
movsd qword [esp + 0x40], xmm2
movsd xmm2, qword [esp + 0x2d0]
mov byte [esp + 0x88], al
movsd qword [esp + 0x48], xmm1
movsd xmm1, qword [esp + 0x2d8]
movsd qword [esp + 0x30], xmm2
movsd xmm2, qword [esp + 0x2b8]
movsd qword [esp + 0x38], xmm1
movsd xmm1, qword [esp + 0x2c8]
movsd qword [esp + 0x18], xmm2
movsd qword [esp + 0x28], xmm1
movsd xmm1, qword [esp + 0x2c0]
movsd qword [esp + 0x20], xmm1
lea esi, [esp + 0x98]
lea edx, [esp + 0x58]
mov ecx, esi
push edi
call fcn.0043bb70
add esp, 4
movsd xmm2, qword [esp + 0xf8]
movsd xmm1, qword [esp + 0xf0]
movsd xmm0, qword [esp + 0x100]
movsd qword [esp + 0x40], xmm2
movsd qword [esp + 0x38], xmm1
movsd xmm2, qword [esp + 0xe8]
movsd xmm1, qword [esp + 0xe0]
movsd qword [esp + 0x48], xmm0
movsd qword [esp + 0x30], xmm2
movsd qword [esp + 0x28], xmm1
movsd xmm2, qword [esp + 0xd0]
movsd xmm1, qword [esp + 0xd8]
movsd qword [esp + 0x20], xmm1
movsd qword [esp + 0x18], xmm2
lea edx, [esp + 0x18]
lea ecx, [esp + 0x4f8]
push esi
call fcn.0043c6e0
add esp, 4
cmp dword [esp + 0x40], 5
jb 0x443a7d
mov eax, dword [0x56bbf8]
push dword [esp + 0x1c]
push 0
push dword [eax]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0xc0], 5
jb 0x443a9c
mov eax, dword [0x56bbf8]
push dword [esp + 0x9c]
push 0
push dword [eax]
call sub.kernel32.dll_HeapFree
movsd xmm2, qword [esp + 0x520]
movsd xmm1, qword [esp + 0x518]
movsd xmm0, qword [esp + 0x528]
mov dword [esp + 4], 0
movsd qword [esp + 0x40], xmm2
movsd qword [esp + 0x38], xmm1
movsd xmm2, qword [esp + 0x510]
movsd xmm1, qword [esp + 0x508]
movsd qword [esp + 0x48], xmm0
movsd qword [esp + 0x30], xmm2
movsd qword [esp + 0x28], xmm1
movsd xmm2, qword [esp + 0x4f8]
movsd xmm1, qword [esp + 0x500]
movsd qword [esp + 0x20], xmm1
movsd qword [esp + 0x18], xmm2
lea edx, [esp + 0x18]
lea eax, [esp + 0x488]
lea ecx, [esp + 0x58]
push eax
xor ebx, ebx
call fcn.0043b220
add esp, 4
movsd xmm1, qword [esp + 0x78]
movsd xmm2, qword [esp + 0x70]
movsd xmm0, qword [esp + 0x80]
movzx eax, byte [esp + 0x88]
movsd qword [esp + 0xb8], xmm1
movsd xmm1, qword [esp + 0x68]
movsd qword [esp + 0xb0], xmm2
movsd xmm2, qword [esp + 0x58]
movsd qword [esp + 0xc0], xmm0
mov byte [esp + 0xc], al
movsd qword [esp + 0xa8], xmm1
movsd xmm1, qword [esp + 0x60]
movsd qword [esp + 0x98], xmm2
movsd qword [esp + 0xa0], xmm1
mov esi, dword [esp + 0xc0]
cmp esi, 4
jbe 0x443bb3
mov edx, dword [esp + 0x9c]
mov esi, dword [esp + 0xa0]
test esi, esi
jne 0x443bbe
jmp 0x443c33
lea edx, [esp + 0xa0]
test esi, esi
je 0x443c33
shl esi, 3
xor eax, eax
xor ecx, ecx
mov dword [esp + 8], edx
nop dword [eax]
mov ebx, dword [edx + esi - 8]
mov edi, dword [edx + esi - 4]
push 0
push 0
push 0
push 3
push ecx
push eax
push edi
push ebx
lea eax, [esp + 0x3f0]
push eax
call fcn.004f5070
add esp, 0x24
mov eax, dword [esp + 0x3d0]
mov ecx, 3
mov dword [esp], eax
mul ecx
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x3d4]
lea eax, [ecx + ecx*2]
add eax, edx
sub ebx, dword [esp + 4]
mov edx, dword [esp + 8]
sbb edi, eax
mov eax, dword [esp]
mov dword [edx + esi - 4], ecx
mov ecx, edi
mov dword [edx + esi - 8], eax
add esi, 0xfffffff8
mov eax, ebx
jne 0x443bd0
movsd xmm3, qword [esp + 0xc0]
movsd xmm2, qword [esp + 0xb8]
movsd xmm0, qword [esp + 0x98]
movsd xmm1, qword [esp + 0xa0]
lea eax, [esp + 0x40]
movsd qword [esp + 0x40], xmm3
movsd qword [esp + 0x38], xmm2
movq xmm3, qword [esp + 0xb0]
movsd xmm2, qword [esp + 0xa8]
movsd qword [esp + 0x18], xmm0
movsd qword [esp + 0x20], xmm1
movq qword [esp + 0x30], xmm3
movsd qword [esp + 0x28], xmm2
mov ecx, dword [esp + 0x1c]
nop word cs:[eax + eax]
nop
mov edx, dword [esp + 0x40]
lea esi, [esp + 0x20]
cmp edx, 5
mov edi, edx
jb 0x443cb5
mov edi, dword [esp + 0x20]
mov esi, ecx
test edi, edi
je 0x443cdf
test esi, esi
je 0x443cdf
mov ebx, dword [esi + edi*8 - 8]
or ebx, dword [esi + edi*8 - 4]
jne 0x443cdf
cmp edx, 5
mov esi, eax
jb 0x443cd6
mov edx, dword [esp + 0x20]
lea esi, [esp + 0x20]
test edx, edx
je 0x443ca0
dec edx
mov dword [esi], edx
jmp 0x443ca0
movsd xmm1, qword [esp + 0x38]
movsd xmm2, qword [esp + 0x30]
movzx eax, byte [esp + 0xc]
movsd xmm0, qword [esp + 0x40]
movsd qword [esp + 0xf0], xmm1
movsd xmm1, qword [esp + 0x28]
movsd qword [esp + 0xe8], xmm2
movsd xmm2, qword [esp + 0x18]
cmp al, 1
movsd qword [esp + 0xf8], xmm0
movsd qword [esp + 0xe0], xmm1
movsd xmm1, qword [esp + 0x20]
movsd qword [esp + 0xd0], xmm2
movsd qword [esp + 0xd8], xmm1
jne 0x443e04
mov eax, dword [esp + 0xf8]
lea ecx, [esp + 0xf8]
mov dword [esp + 0x18], 0
mov dword [esp + 0x40], 0
cmp eax, 5
mov edx, eax
jb 0x443d79
mov edx, dword [esp + 0xd8]
lea ecx, [esp + 0xd8]
test edx, edx
je 0x443d8a
mov dword [ecx], 0
mov eax, dword [esp + 0xf8]
cmp eax, 5
mov ecx, eax
jb 0x443d98
mov ecx, dword [esp + 0xd8]
test ecx, ecx
jne 0x447246
mov ecx, dword [esp + 0xd4]
lea edx, [esp + 0xd8]
mov dword [esp], ecx
mov edi, dword [esp + 0xd8]
jmp 0x443dc4
test ecx, ecx
jne 0x443df8
cmp eax, 5
mov ebx, edx
mov ecx, eax
jb 0x443dd2
mov ebx, dword [esp]
mov ecx, edi
test ecx, ecx
je 0x443e26
test ebx, ebx
je 0x443e26
mov esi, dword [ebx + ecx*8 - 8]
or esi, dword [ebx + ecx*8 - 4]
jne 0x443e26
cmp eax, 5
mov ecx, eax
lea ebx, [esp + 0xf8]
jb 0x443dc0
mov ecx, edi
mov ebx, edx
jmp 0x443dc0
dec ecx
mov dword [ebx], ecx
mov eax, dword [esp + 0xf8]
jmp 0x443db1
mov ecx, dword [esp + 0xf8]
cmp ecx, 5
jb 0x443e17
mov ecx, dword [esp + 0xd8]
movzx edx, al
test ecx, ecx
mov eax, 1
cmovne eax, edx
jmp 0x443e28
mov al, 1
movsd xmm1, qword [esp + 0xf0]
movsd xmm2, qword [esp + 0xe8]
movsd xmm0, qword [esp + 0xf8]
movsd qword [esp + 0x188], xmm1
movsd xmm1, qword [esp + 0xe0]
movsd qword [esp + 0x180], xmm2
movsd xmm2, qword [esp + 0xd0]
movsd qword [esp + 0x190], xmm0
movsd qword [esp + 0x178], xmm1
movsd xmm1, qword [esp + 0xd8]
movsd qword [esp + 0x168], xmm2
movsd xmm2, qword [esp + 0x4b0]
movsd qword [esp + 0x170], xmm1
movsd xmm1, qword [esp + 0x4b8]
movsd qword [esp + 0x40], xmm2
movsd xmm2, qword [esp + 0x4a0]
mov byte [esp + 0x198], al
movsd qword [esp + 0x48], xmm1
movsd xmm1, qword [esp + 0x4a8]
movsd qword [esp + 0x30], xmm2
movsd xmm2, qword [esp + 0x488]
movsd qword [esp + 0x38], xmm1
movsd xmm1, qword [esp + 0x498]
movsd qword [esp + 0x18], xmm2
movsd qword [esp + 0x28], xmm1
movsd xmm1, qword [esp + 0x490]
movsd qword [esp + 0x20], xmm1
lea edx, [esp + 0x18]
lea eax, [esp + 0x398]
lea ecx, [esp + 0x58]
push eax
call fcn.0043b220
add esp, 4
movsd xmm1, qword [esp + 0x78]
movsd xmm2, qword [esp + 0x70]
movq xmm0, qword [esp + 0x80]
movzx eax, byte [esp + 0x88]
movsd qword [esp + 0xb8], xmm1
movsd xmm1, qword [esp + 0x68]
movsd qword [esp + 0xb0], xmm2
movq xmm2, qword [esp + 0x58]
movq qword [esp + 0xc0], xmm0
mov byte [esp + 4], al
movsd qword [esp + 0xa8], xmm1
movq xmm1, qword [esp + 0x60]
movq qword [esp + 0x98], xmm2
movq qword [esp + 0xa0], xmm1
mov edi, dword [esp + 0xc0]
cmp edi, 4
jbe 0x443fa8
mov esi, dword [esp + 0x9c]
mov edi, dword [esp + 0xa0]
test edi, edi
jne 0x443fb7
jmp 0x4440b2
lea esi, [esp + 0xa0]
test edi, edi
je 0x4440b2
lea eax, [edi - 1]
lea ebx, [esi + edi*8]
and eax, 0x1fffffff
je 0x44408b
inc eax
movdqa xmm0, xmmword [0x5184e0]
lea edi, [esi + edi*8 - 0x10]
pxor xmm1, xmm1
mov dword [esp + 8], esi
mov ecx, eax
mov dword [esp + 0x14], eax
and ecx, 0xfffffffe
lea eax, [ecx*8]
mov dword [esp + 0x10c], ecx
sub ebx, eax
mov dword [esp + 0xc], ebx
mov ebx, ecx
nop dword [eax]
movdqu xmm2, xmmword [edi]
mov eax, dword [edi]
pshufd xmm3, xmm1, 0xee
movd edx, xmm3
pshufd xmm4, xmm2, 0xff
pshufd xmm1, xmm2, 0x4e
pshufd xmm2, xmm2, 0x55
mov dword [esp], eax
movd esi, xmm2
movd ecx, xmm4
movd eax, xmm1
pand xmm1, xmm0
shrd dword [esp], esi, 1
shrd esi, eax, 1
shrd eax, ecx, 1
shld edx, ecx, 0x1f
movd xmm5, dword [esp]
movd xmm4, esi
movd xmm2, edx
movd xmm3, eax
punpckldq xmm3, xmm2
punpckldq xmm5, xmm4
punpcklqdq xmm5, xmm3
movdqu xmmword [edi], xmm5
add edi, 0xfffffff0
add ebx, 0xfffffffe
jne 0x444000
mov eax, dword [esp + 0x10c]
mov esi, dword [esp + 8]
mov ebx, dword [esp + 0xc]
cmp dword [esp + 0x14], eax
je 0x4440b2
pshufd xmm0, xmm1, 0xee
movd eax, xmm0
jmp 0x444090
xor eax, eax
nop dword [eax]
mov edx, dword [ebx - 4]
mov ecx, dword [ebx - 8]
lea edi, [ebx - 8]
shld eax, edx, 0x1f
shld edx, ecx, 0x1f
and ecx, 1
cmp edi, esi
mov dword [ebx - 4], eax
mov dword [ebx - 8], edx
mov eax, ecx
mov ebx, edi
jne 0x444090
movsd xmm3, qword [esp + 0xc0]
movsd xmm2, qword [esp + 0xb8]
movsd xmm0, qword [esp + 0x98]
movsd xmm1, qword [esp + 0xa0]
lea edx, [esp + 0x20]
movsd qword [esp + 0x40], xmm3
movsd qword [esp + 0x38], xmm2
movq xmm3, qword [esp + 0xb0]
movsd xmm2, qword [esp + 0xa8]
movsd qword [esp + 0x18], xmm0
movsd qword [esp + 0x20], xmm1
movq qword [esp + 0x30], xmm3
movsd qword [esp + 0x28], xmm2
mov esi, dword [esp + 0x1c]
nop word cs:[eax + eax]
nop
mov eax, dword [esp + 0x40]
mov edi, edx
cmp eax, 5
mov ebx, eax
jb 0x444133
mov ebx, dword [esp + 0x20]
mov edi, esi
test ebx, ebx
je 0x44415d
test edi, edi
je 0x44415d
mov ecx, dword [edi + ebx*8 - 8]
or ecx, dword [edi + ebx*8 - 4]
jne 0x44415d
cmp eax, 5
lea edi, [esp + 0x40]
jb 0x444154
mov eax, dword [esp + 0x20]
mov edi, edx
test eax, eax
je 0x444120
dec eax
mov dword [edi], eax
jmp 0x444120
movsd xmm1, qword [esp + 0x38]
movsd xmm2, qword [esp + 0x30]
movzx eax, byte [esp + 4]
movsd xmm0, qword [esp + 0x40]
movsd qword [esp + 0xf0], xmm1
movsd xmm1, qword [esp + 0x28]
movsd qword [esp + 0xe8], xmm2
movsd xmm2, qword [esp + 0x18]
cmp al, 1
movsd qword [esp + 0xf8], xmm0
movsd qword [esp + 0xe0], xmm1
movsd xmm1, qword [esp + 0x20]
movsd qword [esp + 0xd0], xmm2
movsd qword [esp + 0xd8], xmm1
jne 0x444284
mov eax, dword [esp + 0xf8]
lea ecx, [esp + 0xf8]
mov dword [esp + 0x18], 0
mov dword [esp + 0x40], 0
cmp eax, 5
mov edx, eax
jb 0x4441f7
mov edx, dword [esp + 0xd8]
lea ecx, [esp + 0xd8]
test edx, edx
je 0x444208
mov dword [ecx], 0
mov eax, dword [esp + 0xf8]
cmp eax, 5
mov ecx, eax
jb 0x444216
mov ecx, dword [esp + 0xd8]
test ecx, ecx
jne 0x44725b
mov ecx, dword [esp + 0xd4]
lea edx, [esp + 0xd8]
mov dword [esp], ecx
mov edi, dword [esp + 0xd8]
jmp 0x444244
test ecx, ecx
jne 0x444278
cmp eax, 5
mov ebx, edx
mov ecx, eax
jb 0x444252
mov ebx, dword [esp]
mov ecx, edi
test ecx, ecx
je 0x4442a6
test ebx, ebx
je 0x4442a6
mov esi, dword [ebx + ecx*8 - 8]
or esi, dword [ebx + ecx*8 - 4]
jne 0x4442a6
cmp eax, 5
mov ecx, eax
lea ebx, [esp + 0xf8]
jb 0x444240
mov ecx, edi
mov ebx, edx
jmp 0x444240
dec ecx
mov dword [ebx], ecx
mov eax, dword [esp + 0xf8]
jmp 0x44422f
mov ecx, dword [esp + 0xf8]
cmp ecx, 5
jb 0x444297
mov ecx, dword [esp + 0xd8]
movzx edx, al
test ecx, ecx
mov eax, 1
cmovne eax, edx
jmp 0x4442a8
mov al, 1
movsd xmm1, qword [esp + 0xf0]
movsd xmm2, qword [esp + 0xe8]
movsd xmm0, qword [esp + 0xf8]
movsd qword [esp + 0x150], xmm1
movsd xmm1, qword [esp + 0xe0]
movsd qword [esp + 0x148], xmm2
movsd xmm2, qword [esp + 0xd0]
movsd qword [esp + 0x158], xmm0
movsd qword [esp + 0x140], xmm1
movsd xmm1, qword [esp + 0xd8]
movsd qword [esp + 0x130], xmm2
movsd xmm2, qword [esp + 0x3c0]
movsd qword [esp + 0x138], xmm1
movsd xmm1, qword [esp + 0x3c8]
movsd qword [esp + 0x40], xmm2
movsd xmm2, qword [esp + 0x3b0]
mov byte [esp + 0x160], al
movsd qword [esp + 0x48], xmm1
movsd xmm1, qword [esp + 0x3b8]
movsd qword [esp + 0x30], xmm2
movsd xmm2, qword [esp + 0x398]
movsd qword [esp + 0x38], xmm1
movsd xmm1, qword [esp + 0x3a8]
movsd qword [esp + 0x18], xmm2
movsd qword [esp + 0x28], xmm1
movsd xmm1, qword [esp + 0x3a0]
movsd qword [esp + 0x20], xmm1
lea esi, [esp + 0x18]
lea eax, [esp + 0x360]
lea ecx, [esp + 0xd0]
mov edx, esi
push eax
call fcn.0043b220
add esp, 4
movsd xmm2, qword [esp + 0x190]
movsd xmm1, qword [esp + 0x188]
movsd xmm0, qword [esp + 0x198]
lea edx, [esp + 0x58]
movsd qword [esp + 0x40], xmm2
movsd qword [esp + 0x38], xmm1
movsd xmm2, qword [esp + 0x180]
movsd xmm1, qword [esp + 0x178]
movsd qword [esp + 0x48], xmm0
movsd qword [esp + 0x30], xmm2
movsd qword [esp + 0x28], xmm1
movsd xmm2, qword [esp + 0x168]
movsd xmm1, qword [esp + 0x170]
movsd qword [esp + 0x20], xmm1
movsd qword [esp + 0x18], xmm2
movzx eax, byte [esp + 0x48]
cmp al, 1
jne 0x44443a
mov eax, dword [esp + 0xf8]
cmp eax, 4
jbe 0x4444c5
mov edx, dword [esp + 0xd4]
mov eax, dword [esp + 0xd8]
jmp 0x4444cc
movzx ecx, byte [esp + 0x100]
test ecx, ecx
mov dword [esp], ecx
je 0x444db1
cmp dword [esp], 1
lea ecx, [esp + 0x98]
jne 0x444f10
movsd xmm0, qword [esp + 0x190]
movsd xmm1, qword [esp + 0x170]
mov cl, 2
sub cl, al
mov dword [esp + 4], ecx
movsd qword [esp + 0x1c8], xmm0
movsd xmm0, qword [esp + 0x188]
movsd qword [esp + 0x1c0], xmm0
movsd xmm0, qword [esp + 0x180]
movsd qword [esp + 0x1b8], xmm0
movsd xmm0, qword [esp + 0x178]
movsd qword [esp + 0x1b0], xmm0
movsd xmm0, qword [esp + 0x168]
jmp 0x44562f
lea edx, [esp + 0xd8]
movzx ecx, byte [esp + 0x100]
lea eax, [edx + eax*8]
mov dword [esp + 0x80], 0
mov dword [esp + 0x58], 0
mov dword [esp + 4], ecx
lea ecx, [esp + 0x58]
push eax
call fcn.004383e0
add esp, 4
movsd xmm1, qword [esp + 0x78]
movsd xmm2, qword [esp + 0x70]
movsd xmm0, qword [esp + 0x80]
mov eax, dword [esp + 0x40]
movsd qword [esp + 0x1c0], xmm1
movsd xmm1, qword [esp + 0x68]
movsd qword [esp + 0x1b8], xmm2
movsd xmm2, qword [esp + 0x58]
movsd qword [esp + 0x1c8], xmm0
movsd qword [esp + 0x1b0], xmm1
movsd xmm1, qword [esp + 0x60]
movsd qword [esp + 0x1a0], xmm2
movsd qword [esp + 0x1a8], xmm1
cmp eax, 5
jb 0x445641
mov eax, dword [0x56bbf8]
push dword [esp + 0x1c]
push 0
push dword [eax]
call sub.kernel32.dll_HeapFree
jmp 0x445641
mov eax, dword [esp + 0x34]
movsd xmm0, qword [esp + 0x2c]
movsd xmm2, qword [esp + 0x1c]
movsd xmm1, qword [esp + 0x24]
mov ecx, dword [esp + 0x118]
xor esi, esi
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x3c]
movsd qword [esp + 0x68], xmm0
movsd qword [esp + 0x60], xmm1
movsd qword [esp + 0x58], xmm2
mov dword [esp], eax
mov eax, edi
mov edi, dword [esp + 0x14]
movsd xmm0, qword [esp + 0x58]
mov dword [esp + 0xd0], esi
mov esi, dword [esp + 0x70]
mov dword [esp + 0xd4], edx
mov dword [esp + 0xd8], eax
movsd xmm1, qword [esp + 0x60]
cmp ecx, 4
lea ebx, [ebx + edi*8]
movsd qword [esp + 0xdc], xmm0
movsd xmm0, qword [esp + 0x68]
mov dword [esp + 0xf4], esi
mov esi, dword [esp + 0x120]
movsd qword [esp + 0xe4], xmm1
mov dword [esp + 0x128], ebx
mov ebx, edx
mov edx, dword [esp]
movsd qword [esp + 0xec], xmm0
mov dword [esp + 0xf8], ecx
lea esi, [esi + edi*8]
mov dword [esp + 0xfc], edx
lea edx, [esp + 0xd8]
mov dword [esp + 0x10c], edx
mov edx, eax
ja 0x444650
mov edx, ecx
lea ebx, [esp + 0xd8]
push dword [esp + 0x110]
mov dword [esp + 0x1d4], esi
push esi
push dword [esp + 0x134]
push dword [esp + 0x134]
push edx
push ebx
call fcn.004422d0
add esp, 0x18
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0xd4]
nop word cs:[eax + eax]
nop dword [eax]
mov ebx, dword [esp + 0xf8]
lea eax, [esp + 0xd8]
cmp ebx, 5
mov ecx, ebx
jb 0x4446ae
mov ecx, dword [esp + 0xd8]
mov eax, edi
test ecx, ecx
je 0x4446e3
test eax, eax
je 0x4446e3
mov edx, dword [eax + ecx*8 - 8]
or edx, dword [eax + ecx*8 - 4]
jne 0x4446e3
cmp ebx, 5
lea eax, [esp + 0xf8]
jb 0x4446da
mov ebx, dword [esp + 0xd8]
lea eax, [esp + 0xd8]
test ebx, ebx
je 0x444690
dec ebx
mov dword [eax], ebx
jmp 0x444690
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x14]
cmp ecx, eax
ja 0x447129
sub eax, ecx
cmp ebx, 5
lea ecx, [esp + 0xd8]
mov dword [esp + 0x108], eax
mov eax, ebx
jb 0x444712
mov eax, dword [esp + 0xd8]
mov ecx, edi
cmp dword [esp + 0x108], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x124], edi
jb 0x4470f5
mov edx, eax
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x11c], ebx
test edx, edx
lea eax, [eax + ecx*8]
mov dword [esp], eax
je 0x444803
mov eax, dword [esp]
mov ecx, edx
xor ebx, ebx
xor esi, esi
mov dword [esp + 4], 0
mov dword [esp + 0xc], ecx
lea eax, [eax + edx*8]
xor edx, edx
mov dword [esp + 0x1d4], eax
xor eax, eax
nop dword [eax + eax]
mov ecx, dword [esp]
mov edi, dword [esp + 4]
add eax, dword [ecx + edx*8]
adc ebx, dword [ecx + edx*8 + 4]
adc edi, 0
mov dword [esp + 8], edi
mov edi, dword [esp + 0x10]
adc esi, 0
add eax, dword [edi + edx*8]
adc ebx, dword [edi + edx*8 + 4]
mov dword [ecx + edx*8], eax
mov eax, dword [esp + 8]
mov dword [ecx + edx*8 + 4], ebx
mov ecx, dword [esp + 0xc]
mov ebx, esi
mov esi, dword [esp + 4]
adc eax, 0
lea edx, [edx + 1]
adc ebx, 0
cmp ecx, edx
jne 0x444770
cmp eax, 1
mov esi, dword [esp + 0x54]
mov edx, dword [esp + 0x1d4]
sbb ebx, 0
mov ebx, dword [esp + 0x11c]
jb 0x444803
mov eax, dword [ebp + 0xc]
shl ecx, 3
lea eax, [eax*8]
sub eax, ecx
mov ecx, dword [esp + 0x14]
lea ecx, [ecx*8]
sub eax, ecx
nop dword [eax + eax]
test eax, eax
je 0x444803
add eax, 0xfffffff8
add dword [edx], 1
adc dword [edx + 4], 0
lea edx, [edx + 8]
jb 0x4447f0
mov eax, dword [ebp + 0xc]
and esi, 0xfffffffe
cmp esi, eax
ja 0x44714d
mov edi, dword [esp + 0x114]
sub eax, esi
cmp ebx, 5
lea edx, [esp + 0xd8]
mov ecx, ebx
jb 0x444836
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0x124]
cmp eax, ecx
jb 0x4470f5
test ecx, ecx
je 0x444913
mov eax, dword [ebp + 8]
mov dword [esp + 0x54], edx
xor edi, edi
xor ebx, ebx
xor edx, edx
mov dword [esp + 4], 0
mov dword [esp + 0x10], ecx
lea eax, [eax + esi*8]
mov dword [esp + 0xc], eax
lea eax, [eax + ecx*8]
mov dword [esp + 0x124], eax
xor eax, eax
nop word cs:[eax + eax]
nop dword [eax]
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 4]
add edi, dword [ecx + eax*8]
adc ebx, dword [ecx + eax*8 + 4]
adc esi, 0
mov dword [esp + 8], esi
mov esi, dword [esp + 0x54]
adc edx, 0
add edi, dword [esi + eax*8]
adc ebx, dword [esi + eax*8 + 4]
mov dword [ecx + eax*8], edi
mov edi, dword [esp + 8]
mov dword [ecx + eax*8 + 4], ebx
mov ecx, dword [esp + 0x10]
mov ebx, edx
mov edx, dword [esp + 4]
adc edi, 0
lea eax, [eax + 1]
adc ebx, 0
cmp ecx, eax
jne 0x444880
cmp edi, 1
mov edi, dword [esp + 0x114]
mov edx, dword [esp + 0x124]
sbb ebx, 0
mov ebx, dword [esp + 0x11c]
jb 0x444913
mov eax, dword [ebp + 0xc]
mov esi, dword [esp + 0x14]
shl ecx, 3
lea eax, [eax*8]
shl esi, 4
sub eax, ecx
sub eax, esi
nop dword [eax + eax]
test eax, eax
je 0x444913
add eax, 0xfffffff8
add dword [edx], 1
adc dword [edx + 4], 0
lea edx, [edx + 8]
jb 0x444900
cmp ebx, 5
lea eax, [esp + 0xf8]
jb 0x44492d
mov ebx, dword [esp + 0xd8]
lea eax, [esp + 0xd8]
test ebx, ebx
je 0x444937
mov dword [eax], 0
mov edx, dword [esp + 0x118]
lea ecx, [esp + 0xd0]
call fcn.004381f0
mov eax, dword [esp + 0xf8]
lea ecx, [esp + 0xd8]
cmp eax, 5
jb 0x44496b
mov ecx, dword [esp + 0xd4]
mov eax, dword [esp + 0xd8]
mov edx, dword [esp + 0x14]
push edx
push dword [esp + 0x124]
push edx
push edi
push eax
push ecx
call fcn.004422d0
add esp, 0x18
mov eax, dword [esp + 0xd4]
nop word [eax + eax]
mov ebx, dword [esp + 0xf8]
lea ecx, [esp + 0xd8]
cmp ebx, 5
mov edx, ebx
jb 0x4449ae
mov edx, dword [esp + 0xd8]
mov ecx, eax
test edx, edx
je 0x4449e3
test ecx, ecx
je 0x4449e3
mov esi, dword [ecx + edx*8 - 8]
or esi, dword [ecx + edx*8 - 4]
jne 0x4449e3
cmp ebx, 5
lea ecx, [esp + 0xf8]
jb 0x4449da
mov ebx, dword [esp + 0xd8]
lea ecx, [esp + 0xd8]
test ebx, ebx
je 0x444990
dec ebx
mov dword [ecx], ebx
jmp 0x444990
mov dword [esp + 0xc], eax
cmp ebx, 5
lea ecx, [esp + 0xd8]
mov esi, ebx
mov eax, dword [esp + 0xc]
jb 0x444a02
mov esi, dword [esp + 0xd8]
mov ecx, eax
cmp esi, dword [ebp + 0xc]
ja 0x4470f5
test esi, esi
je 0x444ac3
mov eax, dword [ebp + 8]
mov dword [esp + 8], ebx
mov dword [esp + 0x10], ecx
xor edi, edi
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x94], 0
mov dword [esp + 4], esi
lea eax, [eax + esi*8]
mov dword [esp + 0x54], eax
nop dword [eax]
mov eax, dword [ebp + 8]
mov esi, dword [esp + 0x94]
add edi, dword [eax + edx*8]
adc ebx, dword [eax + edx*8 + 4]
mov eax, dword [esp + 0x10]
adc esi, 0
adc ecx, 0
add edi, dword [eax + edx*8]
adc ebx, dword [eax + edx*8 + 4]
mov eax, dword [ebp + 8]
mov dword [eax + edx*8], edi
mov edi, esi
mov esi, dword [esp + 4]
mov dword [eax + edx*8 + 4], ebx
mov ebx, ecx
mov ecx, dword [esp + 0x94]
lea edx, [edx + 1]
adc edi, 0
adc ebx, 0
cmp esi, edx
jne 0x444a40
cmp edi, 1
mov edi, dword [esp + 0x114]
mov edx, dword [esp + 0x54]
sbb ebx, 0
mov ebx, dword [esp + 8]
jb 0x444ac3
mov eax, dword [ebp + 0xc]
shl esi, 3
lea ecx, [eax*8]
sub ecx, esi
nop
test ecx, ecx
je 0x444ac3
add ecx, 0xfffffff8
add dword [edx], 1
adc dword [edx + 4], 0
lea edx, [edx + 8]
jb 0x444ab0
cmp ebx, 5
lea eax, [esp + 0xd8]
jb 0x444ada
mov ebx, dword [esp + 0xd8]
mov eax, dword [esp + 0xc]
cmp dword [esp + 0x108], ebx
jb 0x4470f5
test ebx, ebx
je 0x444bb3
mov dword [esp + 0x10], eax
mov eax, dword [esp]
xor edx, edx
mov dword [esp + 8], ebx
xor edi, edi
xor ecx, ecx
mov dword [esp + 0x94], 0
lea eax, [eax + ebx*8]
xor ebx, ebx
mov dword [esp + 0xc], eax
mov eax, dword [esp]
nop word [eax + eax]
add edx, dword [eax + ecx*8]
mov esi, dword [esp + 0x94]
adc ebx, dword [eax + ecx*8 + 4]
adc esi, 0
mov dword [esp + 4], esi
mov esi, dword [esp + 0x10]
adc edi, 0
add edx, dword [esi + ecx*8]
adc ebx, dword [esi + ecx*8 + 4]
mov dword [eax + ecx*8], edx
mov edx, dword [esp + 4]
mov dword [eax + ecx*8 + 4], ebx
mov ebx, edi
adc edx, 0
lea ecx, [ecx + 1]
mov edi, dword [esp + 0x94]
adc ebx, 0
cmp dword [esp + 8], ecx
jne 0x444b20
cmp edx, 1
mov edi, dword [esp + 0x114]
mov edx, dword [esp + 8]
mov esi, dword [esp + 0xc]
sbb ebx, 0
jb 0x444bb3
mov eax, dword [ebp + 0xc]
shl edx, 3
lea ecx, [eax*8]
mov eax, dword [esp + 0x14]
sub ecx, edx
lea eax, [eax*8]
sub ecx, eax
nop dword [eax]
test ecx, ecx
je 0x444bb3
add ecx, 0xfffffff8
add dword [esi], 1
adc dword [esi + 4], 0
lea esi, [esi + 8]
jb 0x444ba0
lea esi, [esp + 0x18]
push dword [esp + 0x14]
push edi
push dword [esp + 0x134]
push dword [esp + 0x134]
push esi
call fcn.00448310
add esp, 0x14
movsd xmm1, qword [esp + 0x40]
movsd xmm2, qword [esp + 0x38]
movzx ebx, byte [esp + 0x18]
movsd xmm0, qword [esp + 0x48]
movsd qword [esp + 0xb8], xmm1
movsd xmm1, qword [esp + 0x30]
movsd qword [esp + 0xb0], xmm2
movsd xmm2, qword [esp + 0x28]
movsd qword [esp + 0xc0], xmm0
movsd qword [esp + 0xa8], xmm1
movsd xmm1, qword [esp + 0x20]
movsd qword [esp + 0xa0], xmm2
movsd qword [esp + 0x98], xmm1
push dword [esp + 0x14]
push dword [esp + 0x124]
push dword [esp + 0x118]
push dword [esp + 0x1dc]
push esi
call fcn.00448310
add esp, 0x14
movsd xmm1, qword [esp + 0x40]
movsd xmm2, qword [esp + 0x38]
movsd xmm0, qword [esp + 0x48]
movzx eax, byte [esp + 0x18]
mov edx, dword [esp + 0x118]
cmp bl, 1
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0x30]
movsd qword [esp + 0x70], xmm2
movsd xmm2, qword [esp + 0x20]
movsd qword [esp + 0x80], xmm0
movsd qword [esp + 0x68], xmm1
movsd xmm1, qword [esp + 0x28]
movsd qword [esp + 0x58], xmm2
movsd qword [esp + 0x60], xmm1
je 0x444f71
test eax, eax
je 0x444d72
cmp eax, 1
je 0x444f71
test bl, bl
je 0x444d7a
mov eax, dword [esp + 0xf8]
lea ecx, [esp + 0xf8]
cmp eax, 5
jb 0x444cee
mov eax, dword [esp + 0xd8]
lea ecx, [esp + 0xd8]
test eax, eax
je 0x444cf8
mov dword [ecx], 0
lea ecx, [esp + 0xd0]
call fcn.004381f0
mov eax, dword [esp + 0xf8]
lea ecx, [esp + 0xd8]
cmp eax, 5
jb 0x444d25
mov ecx, dword [esp + 0xd4]
mov eax, dword [esp + 0xd8]
mov edx, dword [esp + 0xc0]
cmp edx, 4
jbe 0x444fe4
mov edi, dword [esp + 0x9c]
mov edx, dword [esp + 0xa0]
mov esi, dword [esp + 0x80]
cmp esi, 4
ja 0x444ffb
lea ebx, [esp + 0x60]
jmp 0x445003
mov eax, ebx
test eax, eax
jne 0x4425db
push ebx
push edi
call fcn.004085f0
add esp, 8
ud2
test bl, bl
je 0x444ccd
mov eax, dword [esp + 0xc0]
cmp eax, 4
jbe 0x444f3b
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0xa0]
mov edx, dword [esp + 0x80]
cmp edx, 4
ja 0x444f52
lea esi, [esp + 0x60]
jmp 0x444f5a
test al, al
lea ecx, [esp + 0x98]
je 0x444f18
movsd xmm1, qword [esp + 0x188]
movsd xmm2, qword [esp + 0x180]
movsd xmm0, qword [esp + 0x190]
mov al, 1
mov dword [esp + 4], eax
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0x178]
movsd qword [esp + 0x70], xmm2
movsd xmm2, qword [esp + 0x168]
movsd qword [esp + 0x80], xmm0
movsd qword [esp + 0x68], xmm1
movsd xmm1, qword [esp + 0x170]
movsd qword [esp + 0x58], xmm2
movsd qword [esp + 0x60], xmm1
lea eax, [esp + 0xd0]
push eax
push edx
push ecx
call fcn.0043d6c0
add esp, 0xc
cmp byte [esp], 1
jne 0x445484
mov eax, dword [esp + 0xc0]
lea ecx, [esp + 0xc0]
mov dword [esp + 0x58], 0
mov dword [esp + 0x80], 0
cmp eax, 5
mov edx, eax
jb 0x444e75
mov edx, dword [esp + 0xa0]
lea ecx, [esp + 0xa0]
test edx, edx
je 0x444e86
mov dword [ecx], 0
mov eax, dword [esp + 0xc0]
cmp eax, 5
mov ecx, eax
jb 0x444e94
mov ecx, dword [esp + 0xa0]
test ecx, ecx
jne 0x447291
mov ecx, dword [esp + 0x9c]
lea edx, [esp + 0xa0]
mov dword [esp], ecx
mov edi, dword [esp + 0xa0]
jmp 0x444ec4
test ecx, ecx
jne 0x444f04
cmp eax, 5
mov ebx, edx
mov ecx, eax
jb 0x444ed2
mov ebx, dword [esp]
mov ecx, edi
test ecx, ecx
je 0x445559
test ebx, ebx
je 0x445559
mov esi, dword [ebx + ecx*8 - 8]
or esi, dword [ebx + ecx*8 - 4]
jne 0x445559
cmp eax, 5
mov ecx, eax
lea ebx, [esp + 0xc0]
jb 0x444ec0
mov ecx, edi
mov ebx, edx
jmp 0x444ec0
dec ecx
mov dword [ebx], ecx
mov eax, dword [esp + 0xc0]
jmp 0x444ead
test al, al
je 0x444dc0
mov ecx, dword [esp + 0xf8]
cmp ecx, 4
jbe 0x4451f4
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd8]
jmp 0x4451fb
lea ecx, [esp + 0xa0]
mov edx, dword [esp + 0x80]
cmp edx, 4
jbe 0x444da8
mov esi, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
push edx
push esi
push eax
push ecx
push dword [esp + 0x118]
push dword [esp + 0x14]
call fcn.004422d0
add esp, 0x18
cmp dword [esp + 0x80], 5
jb 0x444fa6
mov eax, dword [0x56bbf8]
push dword [esp + 0x5c]
push 0
push dword [eax]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0xc0], 5
jae 0x444fb0
cmp dword [esp + 0xf8], 5
jae 0x444fd3
jmp 0x446f89
cmp dword [esp + 0xc0], 5
jb 0x444f97
mov eax, dword [0x56bbf8]
push dword [esp + 0x9c]
push 0
push dword [eax]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0xf8], 5
jb 0x446f89
mov eax, dword [0x56bbf8]
push dword [esp + 0xd4]
jmp 0x446f80
lea edi, [esp + 0xa0]
mov esi, dword [esp + 0x80]
cmp esi, 4
jbe 0x444d53
mov ebx, dword [esp + 0x5c]
mov esi, dword [esp + 0x60]
push esi
push ebx
push edx
push edi
push eax
push ecx
call fcn.004422d0
add esp, 0x18
mov ecx, dword [esp + 0xd4]
nop dword [eax + eax]
mov eax, dword [esp + 0xf8]
lea edx, [esp + 0xd8]
cmp eax, 5
mov esi, eax
jb 0x44503e
mov esi, dword [esp + 0xd8]
mov edx, ecx
test esi, esi
je 0x445073
test edx, edx
je 0x445073
mov edi, dword [edx + esi*8 - 8]
or edi, dword [edx + esi*8 - 4]
jne 0x445073
cmp eax, 5
lea edx, [esp + 0xf8]
jb 0x44506a
mov eax, dword [esp + 0xd8]
lea edx, [esp + 0xd8]
test eax, eax
je 0x445020
dec eax
mov dword [edx], eax
jmp 0x445020
cmp eax, 5
jb 0x445086
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x10c], ecx
mov edx, dword [esp + 0x108]
cmp edx, eax
cmovae edx, eax
test edx, edx
mov ecx, edx
mov dword [esp + 0x108], edx
je 0x44517e
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x108]
mov eax, dword [esp]
xor edx, edx
xor ebx, ebx
xor edi, edi
xor esi, esi
lea ecx, [eax + ecx*8]
mov dword [esp + 0x94], ecx
xor ecx, ecx
nop word cs:[eax + eax]
nop
mov eax, dword [esp]
add edx, dword [eax + ecx*8]
adc ebx, dword [eax + ecx*8 + 4]
mov eax, dword [esp + 0x10c]
adc edi, 0
adc esi, 0
sub edx, dword [eax + ecx*8]
mov eax, dword [esp + 0x10c]
sbb ebx, dword [eax + ecx*8 + 4]
mov eax, dword [esp]
mov dword [eax + ecx*8], edx
mov edx, edi
mov dword [eax + ecx*8 + 4], ebx
mov ebx, esi
lea ecx, [ecx + 1]
sbb edx, 0
sbb ebx, 0
mov edi, ebx
sar edi, 0x1f
cmp dword [esp + 0x108], ecx
mov esi, edi
jne 0x4450d0
cmp edx, 1
mov edi, dword [ebp + 0xc]
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 4]
sbb ebx, 0
jb 0x44517e
mov ecx, dword [esp + 0x108]
mov esi, dword [esp + 0x14]
shl edi, 3
lea ecx, [ecx*8]
shl esi, 3
sub edi, ecx
sub edi, esi
nop
test edi, edi
je 0x4451b5
add dword [edx], 0xffffffff
lea ecx, [edx + 8]
mov esi, 0
adc dword [edx + 4], 0xffffffff
mov edx, 0
adc edx, 0xffffffff
adc esi, 0xffffffff
add edi, 0xfffffff8
neg edx
mov edx, 0
sbb edx, esi
mov edx, ecx
jb 0x445150
mov ecx, dword [esp + 0x10c]
mov edx, dword [esp + 0x108]
shl eax, 3
lea ecx, [ecx + edx*8]
shl edx, 3
sub eax, edx
nop word [eax + eax]
test eax, eax
je 0x444f71
mov edx, dword [ecx]
add eax, 0xfffffff8
or edx, dword [ecx + 4]
lea ecx, [ecx + 8]
je 0x4451a0
mov dword [esp + 0x18], 0x518eec
mov dword [esp + 0x1c], 1
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], str._rustc_59e7a308e40fbc6b0901c9a8ee8ed51b17f9e772librarycore_src_slicemod.rsdestination_and_source_slices_have_different_lengths
mov dword [esp + 0x2c], 0
push 0x518ef4
lea eax, [esp + 0x1c]
push eax
call fcn.00414c50
add esp, 8
jmp 0x4472e9
lea eax, [esp + 0xd8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x40]
cmp eax, 4
mov dword [esp + 0x14], eax
jbe 0x445222
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x20]
cmp ecx, eax
jae 0x44532d
jmp 0x445232
lea edx, [esp + 0x20]
mov dword [esp + 0xc], edx
cmp ecx, eax
jae 0x44532d
movsd xmm1, qword [esp + 0x188]
movsd xmm2, qword [esp + 0x180]
movsd xmm0, qword [esp + 0x190]
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0x178]
movsd qword [esp + 0x70], xmm2
movsd xmm2, qword [esp + 0x168]
movsd qword [esp + 0x80], xmm0
movsd qword [esp + 0x68], xmm1
movsd xmm1, qword [esp + 0x170]
movsd qword [esp + 0x58], xmm2
movsd qword [esp + 0x60], xmm1
lea eax, [esp + 0xd0]
push eax
lea esi, [esp + 0x5c]
push esi
call fcn.0043db20
add esp, 8
movsd xmm1, qword [esp + 0x78]
movsd xmm2, qword [esp + 0x70]
movsd xmm0, qword [esp + 0x80]
test byte [esp], 1
movsd qword [esp + 0xb8], xmm1
movsd xmm1, qword [esp + 0x68]
movsd qword [esp + 0xb0], xmm2
movsd xmm2, qword [esp + 0x58]
movsd qword [esp + 0xc0], xmm0
movsd qword [esp + 0xa8], xmm1
movsd xmm1, qword [esp + 0x60]
movsd qword [esp + 0x98], xmm2
movsd qword [esp + 0xa0], xmm1
jne 0x44549e
mov cl, 2
mov esi, dword [esp + 0xc0]
sub cl, byte [esp]
cmp esi, 5
jb 0x445323
mov esi, dword [esp + 0xa0]
test esi, esi
movzx eax, cl
jmp 0x4455c9
jbe 0x445561
movsd xmm1, qword [esp + 0x188]
movsd xmm2, qword [esp + 0x180]
movsd xmm0, qword [esp + 0x190]
mov al, 1
mov dword [esp + 4], eax
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0x178]
movsd qword [esp + 0x70], xmm2
movsd xmm2, qword [esp + 0x168]
movsd qword [esp + 0x80], xmm0
movsd qword [esp + 0x68], xmm1
movsd xmm1, qword [esp + 0x170]
movsd qword [esp + 0x58], xmm2
movsd qword [esp + 0x60], xmm1
lea esi, [esp + 0x98]
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0xd4]
push eax
push esi
call fcn.0043dcf0
add esp, 0xc
cmp byte [esp], 1
jne 0x4455b0
mov eax, dword [esp + 0xc0]
lea ecx, [esp + 0xc0]
mov dword [esp + 0x58], 0
mov dword [esp + 0x80], 0
cmp eax, 5
mov edx, eax
jb 0x4453f3
mov edx, dword [esp + 0xa0]
lea ecx, [esp + 0xa0]
test edx, edx
je 0x445404
mov dword [ecx], 0
mov eax, dword [esp + 0xc0]
cmp eax, 5
mov ecx, eax
jb 0x445412
mov ecx, dword [esp + 0xa0]
test ecx, ecx
jne 0x4472c7
mov ecx, dword [esp + 0x9c]
lea edx, [esp + 0xa0]
mov dword [esp], ecx
mov edi, dword [esp + 0xa0]
jmp 0x445438
test ecx, ecx
jne 0x445478
cmp eax, 5
mov ebx, edx
mov ecx, eax
jb 0x445446
mov ebx, dword [esp]
mov ecx, edi
test ecx, ecx
je 0x445559
test ebx, ebx
je 0x445559
mov esi, dword [ebx + ecx*8 - 8]
or esi, dword [ebx + ecx*8 - 4]
jne 0x445559
cmp eax, 5
mov ecx, eax
lea ebx, [esp + 0xc0]
jb 0x445434
mov ecx, edi
mov ebx, edx
jmp 0x445434
dec ecx
mov dword [ebx], ecx
mov eax, dword [esp + 0xc0]
jmp 0x44542b
mov eax, dword [esp + 0xc0]
cmp eax, 5
jb 0x445497
mov eax, dword [esp + 0xa0]
test eax, eax
jmp 0x4455c5
mov eax, dword [esp + 0xc0]
lea ecx, [esp + 0xc0]
mov dword [esp + 0x58], 0
mov dword [esp + 0x80], 0
cmp eax, 5
mov edx, eax
jb 0x4454d4
mov edx, dword [esp + 0xa0]
lea ecx, [esp + 0xa0]
test edx, edx
je 0x4454e5
mov dword [ecx], 0
mov eax, dword [esp + 0xc0]
cmp eax, 5
mov ecx, eax
jb 0x4454f3
mov ecx, dword [esp + 0xa0]
test ecx, ecx
jne 0x4472b5
mov ecx, dword [esp + 0x9c]
lea edx, [esp + 0xa0]
mov dword [esp], ecx
mov edi, dword [esp + 0xa0]
jmp 0x445519
test ecx, ecx
jne 0x44554d
cmp eax, 5
mov ebx, edx
mov ecx, eax
jb 0x445527
mov ebx, dword [esp]
mov ecx, edi
test ecx, ecx
je 0x445559
test ebx, ebx
je 0x445559
mov esi, dword [ebx + ecx*8 - 8]
or esi, dword [ebx + ecx*8 - 4]
jne 0x445559
cmp eax, 5
mov ecx, eax
lea ebx, [esp + 0xc0]
jb 0x445515
mov ecx, edi
mov ebx, edx
jmp 0x445515
dec ecx
mov dword [ebx], ecx
mov eax, dword [esp + 0xc0]
jmp 0x44550c
mov al, 1
mov dword [esp + 4], eax
jmp 0x4455d5
shl ecx, 3
shl eax, 3
test ecx, ecx
je 0x446f91
test eax, eax
je 0x446f91
mov esi, dword [esp + 8]
mov ebx, dword [esi + ecx - 4]
mov edx, dword [esi + ecx - 8]
mov esi, dword [esp + 0xc]
mov edi, dword [esi + eax - 8]
mov esi, dword [esi + eax - 4]
mov dword [esp + 4], ebx
cmp edx, edi
sbb ebx, esi
jb 0x445232
add ecx, 0xfffffff8
add eax, 0xfffffff8
cmp edi, edx
sbb esi, dword [esp + 4]
jae 0x445567
jmp 0x445333
mov ecx, dword [esp + 0xc0]
cmp ecx, 5
jb 0x4455c3
mov ecx, dword [esp + 0xa0]
test ecx, ecx
movzx eax, byte [esp]
mov ecx, 1
cmovne ecx, eax
mov dword [esp + 4], ecx
movsd xmm0, qword [esp + 0xc0]
movsd xmm1, qword [esp + 0xa0]
movsd qword [esp + 0x1c8], xmm0
movsd xmm0, qword [esp + 0xb8]
movsd qword [esp + 0x1c0], xmm0
movsd xmm0, qword [esp + 0xb0]
movsd qword [esp + 0x1b8], xmm0
movsd xmm0, qword [esp + 0xa8]
movsd qword [esp + 0x1b0], xmm0
movsd xmm0, qword [esp + 0x98]
movsd qword [esp + 0x1a8], xmm1
movsd qword [esp + 0x1a0], xmm0
movsd xmm1, qword [esp + 0x1c0]
movsd xmm2, qword [esp + 0x1b8]
movq xmm0, qword [esp + 0x1c8]
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0x1b0]
movsd qword [esp + 0x70], xmm2
movq xmm2, qword [esp + 0x1a0]
movq qword [esp + 0x80], xmm0
movsd qword [esp + 0x68], xmm1
movq xmm1, qword [esp + 0x1a8]
movq qword [esp + 0x58], xmm2
movq qword [esp + 0x60], xmm1
mov esi, dword [esp + 0x80]
cmp esi, 4
jbe 0x4456bb
mov edi, dword [esp + 0x5c]
mov esi, dword [esp + 0x60]
test esi, esi
jne 0x4456c7
jmp 0x4457c2
lea edi, [esp + 0x60]
test esi, esi
je 0x4457c2
lea eax, [esi - 1]
lea ebx, [edi + esi*8]
and eax, 0x1fffffff
je 0x44579b
inc eax
movdqa xmm0, xmmword [0x5184e0]
mov dword [esp + 8], edi
lea edi, [edi + esi*8 - 0x10]
pxor xmm1, xmm1
mov dword [esp + 0x14], eax
and eax, 0xfffffffe
lea edx, [eax*8]
mov esi, eax
mov dword [esp + 0x10c], eax
sub ebx, edx
mov dword [esp + 0xc], ebx
nop word [eax + eax]
movdqu xmm2, xmmword [edi]
mov eax, dword [edi]
pshufd xmm3, xmm1, 0xee
movd ecx, xmm3
pshufd xmm4, xmm2, 0xff
pshufd xmm1, xmm2, 0x4e
pshufd xmm2, xmm2, 0x55
mov dword [esp], eax
movd edx, xmm2
movd ebx, xmm4
movd eax, xmm1
pand xmm1, xmm0
shrd dword [esp], edx, 1
shrd edx, eax, 1
shrd eax, ebx, 1
shld ecx, ebx, 0x1f
movd xmm5, dword [esp]
movd xmm4, edx
movd xmm2, ecx
movd xmm3, eax
punpckldq xmm3, xmm2
punpckldq xmm5, xmm4
punpcklqdq xmm5, xmm3
movdqu xmmword [edi], xmm5
add edi, 0xfffffff0
add esi, 0xfffffffe
jne 0x445710
mov eax, dword [esp + 0x10c]
mov edi, dword [esp + 8]
mov ebx, dword [esp + 0xc]
cmp dword [esp + 0x14], eax
je 0x4457c2
pshufd xmm0, xmm1, 0xee
movd edx, xmm0
jmp 0x4457a0
xor edx, edx
nop dword [eax]
mov ecx, dword [ebx - 4]
mov eax, dword [ebx - 8]
lea esi, [ebx - 8]
shld edx, ecx, 0x1f
shld ecx, eax, 0x1f
and eax, 1
cmp esi, edi
mov dword [ebx - 4], edx
mov dword [ebx - 8], ecx
mov edx, eax
mov ebx, esi
jne 0x4457a0
movsd xmm3, qword [esp + 0x80]
movsd xmm2, qword [esp + 0x78]
movsd xmm0, qword [esp + 0x58]
movsd xmm1, qword [esp + 0x60]
lea ecx, [esp + 0x20]
movsd qword [esp + 0x40], xmm3
movsd qword [esp + 0x38], xmm2
movq xmm3, qword [esp + 0x70]
movsd xmm2, qword [esp + 0x68]
movsd qword [esp + 0x18], xmm0
movsd qword [esp + 0x20], xmm1
movq qword [esp + 0x30], xmm3
movsd qword [esp + 0x28], xmm2
mov edx, dword [esp + 0x1c]
nop word cs:[eax + eax]
nop
mov esi, dword [esp + 0x40]
mov edi, ecx
cmp esi, 5
mov ebx, esi
jb 0x445833
mov ebx, dword [esp + 0x20]
mov edi, edx
test ebx, ebx
je 0x44585d
test edi, edi
je 0x44585d
mov eax, dword [edi + ebx*8 - 8]
or eax, dword [edi + ebx*8 - 4]
jne 0x44585d
cmp esi, 5
lea edi, [esp + 0x40]
jb 0x445854
mov esi, dword [esp + 0x20]
mov edi, ecx
test esi, esi
je 0x445820
dec esi
mov dword [edi], esi
jmp 0x445820
movsd xmm1, qword [esp + 0x38]
movsd xmm2, qword [esp + 0x30]
movsd xmm0, qword [esp + 0x40]
cmp byte [esp + 4], 1
movsd qword [esp + 0xb8], xmm1
movsd xmm1, qword [esp + 0x28]
movsd qword [esp + 0xb0], xmm2
movsd xmm2, qword [esp + 0x18]
movsd qword [esp + 0xc0], xmm0
movsd qword [esp + 0xa8], xmm1
movsd xmm1, qword [esp + 0x20]
movsd qword [esp + 0x98], xmm2
movsd qword [esp + 0xa0], xmm1
jne 0x445984
mov eax, dword [esp + 0xc0]
lea ecx, [esp + 0xc0]
mov dword [esp + 0x18], 0
mov dword [esp + 0x40], 0
cmp eax, 5
mov edx, eax
jb 0x4458f5
mov edx, dword [esp + 0xa0]
lea ecx, [esp + 0xa0]
test edx, edx
je 0x445906
mov dword [ecx], 0
mov eax, dword [esp + 0xc0]
cmp eax, 5
mov ecx, eax
jb 0x445914
mov ecx, dword [esp + 0xa0]
test ecx, ecx
jne 0x44726d
mov ecx, dword [esp + 0x9c]
lea edx, [esp + 0xa0]
mov dword [esp], ecx
mov edi, dword [esp + 0xa0]
jmp 0x445944
test ecx, ecx
jne 0x445978
cmp eax, 5
mov ebx, edx
mov ecx, eax
jb 0x445952
mov ebx, dword [esp]
mov ecx, edi
test ecx, ecx
je 0x4459a8
test ebx, ebx
je 0x4459a8
mov esi, dword [ebx + ecx*8 - 8]
or esi, dword [ebx + ecx*8 - 4]
jne 0x4459a8
cmp eax, 5
mov ecx, eax
lea ebx, [esp + 0xc0]
jb 0x445940
mov ecx, edi
mov ebx, edx
jmp 0x445940
dec ecx
mov dword [ebx], ecx
mov eax, dword [esp + 0xc0]
jmp 0x44592d
mov ecx, dword [esp + 0xc0]
cmp ecx, 5
jb 0x445997
mov ecx, dword [esp + 0xa0]
movzx edx, byte [esp + 4]
test ecx, ecx
mov eax, 1
cmovne eax, edx
jmp 0x4459aa
mov al, 1
movsd xmm1, qword [esp + 0xb8]
movsd xmm2, qword [esp + 0xb0]
movsd xmm0, qword [esp + 0xc0]
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0xa8]
movsd qword [esp + 0x70], xmm2
movsd xmm2, qword [esp + 0x98]
movsd qword [esp + 0x80], xmm0
movsd qword [esp + 0x68], xmm1
movsd xmm1, qword [esp + 0xa0]
movsd qword [esp + 0x58], xmm2
movsd qword [esp + 0x60], xmm1
mov byte [esp + 0x88], al
mov eax, dword [esp + 0x200]
cmp eax, 4
jbe 0x445a2a
mov edx, dword [esp + 0x1dc]
mov eax, dword [esp + 0x1e0]
jmp 0x445a31
lea edx, [esp + 0x1e0]
movzx ebx, byte [esp + 0x208]
lea eax, [edx + eax*8]
mov dword [esp + 0x40], 0
mov dword [esp + 0x18], 0
lea ecx, [esp + 0x18]
push eax
call fcn.004383e0
add esp, 4
movsd xmm0, qword [esp + 0x40]
movsd xmm1, qword [esp + 0x38]
movsd xmm2, qword [esp + 0x30]
movq xmm3, qword [esp + 0x28]
movq xmm4, qword [esp + 0x18]
movq xmm5, qword [esp + 0x20]
movsd qword [esp + 0x1c8], xmm0
movsd qword [esp + 0x1c0], xmm1
movsd qword [esp + 0x1b8], xmm2
movq qword [esp + 0x1b0], xmm3
movq qword [esp + 0x1a8], xmm5
movq qword [esp + 0x1a0], xmm4
movsd qword [esp + 0x40], xmm0
movsd qword [esp + 0x38], xmm1
movsd qword [esp + 0x30], xmm2
movq qword [esp + 0x28], xmm3
movq qword [esp + 0x20], xmm5
movq qword [esp + 0x18], xmm4
lea esi, [esp + 0x18]
lea ecx, [esp + 0x98]
mov edx, esi
call fcn.0043e450
cmp bl, 1
jne 0x445bb4
mov eax, dword [esp + 0xc0]
lea ecx, [esp + 0xc0]
mov dword [esp + 0x18], 0
mov dword [esp + 0x40], 0
cmp eax, 5
mov edx, eax
jb 0x445b25
mov edx, dword [esp + 0xa0]
lea ecx, [esp + 0xa0]
test edx, edx
je 0x445b36
mov dword [ecx], 0
mov eax, dword [esp + 0xc0]
cmp eax, 5
mov ecx, eax
jb 0x445b44
mov ecx, dword [esp + 0xa0]
test ecx, ecx
jne 0x44727f
mov ecx, dword [esp + 0x9c]
lea edi, [esp + 0xa0]
mov dword [esp], ecx
mov ebx, dword [esp + 0xa0]
jmp 0x445b74
test ecx, ecx
jne 0x445ba8
cmp eax, 5
mov edx, edi
mov ecx, eax
jb 0x445b82
mov edx, dword [esp]
mov ecx, ebx
test ecx, ecx
je 0x445bd6
test edx, edx
je 0x445bd6
mov esi, dword [edx + ecx*8 - 8]
or esi, dword [edx + ecx*8 - 4]
jne 0x445bd6
cmp eax, 5
mov ecx, eax
lea edx, [esp + 0xc0]
jb 0x445b70
mov ecx, ebx
mov edx, edi
jmp 0x445b70
dec ecx
mov dword [edx], ecx
mov eax, dword [esp + 0xc0]
jmp 0x445b5d
mov ecx, dword [esp + 0xc0]
cmp ecx, 5
jb 0x445bc7
mov ecx, dword [esp + 0xa0]
test ecx, ecx
movzx ecx, bl
mov eax, 1
cmovne eax, ecx
jmp 0x445bdc
mov al, 1
lea esi, [esp + 0x18]
movsd xmm1, qword [esp + 0xb8]
movsd xmm2, qword [esp + 0xb0]
movsd xmm0, qword [esp + 0xc0]
movsd qword [esp + 0x38], xmm1
movsd xmm1, qword [esp + 0xa8]
movsd qword [esp + 0x30], xmm2
movsd xmm2, qword [esp + 0x98]
movsd qword [esp + 0x40], xmm0
movsd qword [esp + 0x28], xmm1
movsd xmm1, qword [esp + 0xa0]
movsd qword [esp + 0x18], xmm2
movsd qword [esp + 0x20], xmm1
mov byte [esp + 0x48], al
lea edx, [esp + 0x58]
lea ecx, [esp + 0x98]
push esi
call fcn.00439c70
add esp, 4
movsd xmm1, qword [esp + 0xa0]
movsd xmm2, qword [esp + 0xa8]
movzx ebx, byte [esp + 0x160]
movsd xmm0, qword [esp + 0x98]
movsd qword [esp + 0x170], xmm1
movsd xmm1, qword [esp + 0xb0]
movsd qword [esp + 0x178], xmm2
movsd xmm2, qword [esp + 0xb8]
cmp bl, 1
movsd qword [esp + 0x168], xmm0
movsd qword [esp + 0x180], xmm1
movsd xmm1, qword [esp + 0xc0]
movsd qword [esp + 0x188], xmm2
movsd xmm2, qword [esp + 0xc8]
movsd qword [esp + 0x190], xmm1
movsd xmm1, qword [esp + 0x100]
movsd qword [esp + 0x198], xmm2
movsd xmm2, qword [esp + 0xf8]
movsd qword [esp + 0x48], xmm1
movsd xmm1, qword [esp + 0xf0]
movsd qword [esp + 0x40], xmm2
movsd xmm2, qword [esp + 0xe8]
movsd qword [esp + 0x38], xmm1
movsd xmm1, qword [esp + 0xe0]
movsd qword [esp + 0x30], xmm2
movsd xmm2, qword [esp + 0xd0]
movsd qword [esp + 0x28], xmm1
movsd xmm1, qword [esp + 0xd8]
movsd qword [esp + 0x18], xmm2
movsd qword [esp + 0x20], xmm1
jne 0x445db6
movsd xmm2, qword [esp + 0xf8]
movsd xmm1, qword [esp + 0xf0]
movsd xmm0, qword [esp + 0x100]
movsd qword [esp + 0x80], xmm2
movsd qword [esp + 0x78], xmm1
movsd xmm2, qword [esp + 0xe8]
movsd xmm1, qword [esp + 0xe0]
movsd qword [esp + 0x88], xmm0
movsd qword [esp + 0x70], xmm2
movsd qword [esp + 0x68], xmm1
movsd xmm2, qword [esp + 0xd0]
movsd xmm1, qword [esp + 0xd8]
movsd qword [esp + 0x60], xmm1
movsd qword [esp + 0x58], xmm2
jmp 0x446398
movzx eax, byte [esp + 0x48]
test eax, eax
je 0x445de7
cmp eax, 1
jne 0x445e09
mov eax, dword [esp + 0x158]
cmp eax, 4
jbe 0x445f60
mov edx, dword [esp + 0x134]
mov eax, dword [esp + 0x138]
jmp 0x445f67
test bl, bl
je 0x445e0d
mov ecx, dword [esp + 0x40]
cmp ecx, 4
jbe 0x446018
mov edx, dword [esp + 0x1c]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x20]
jmp 0x446022
test bl, bl
je 0x445deb
movsd xmm1, qword [esp + 0xf0]
movsd xmm2, qword [esp + 0xe8]
movsd xmm0, qword [esp + 0xf8]
mov edi, eax
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0xe0]
movsd qword [esp + 0x70], xmm2
movsd xmm2, qword [esp + 0xd0]
movsd qword [esp + 0x80], xmm0
movsd qword [esp + 0x68], xmm1
movsd xmm1, qword [esp + 0xd8]
movsd qword [esp + 0x58], xmm2
movsd qword [esp + 0x60], xmm1
lea eax, [esp + 0x130]
lea esi, [esp + 0x98]
lea ecx, [esp + 0x58]
push eax
push ecx
push esi
call fcn.0043d6c0
add esp, 0xc
mov ecx, edi
cmp cl, 1
jne 0x4462aa
mov eax, dword [esp + 0xc0]
lea ecx, [esp + 0xc0]
mov dword [esp + 0x58], 0
mov dword [esp + 0x80], 0
cmp eax, 5
mov edx, eax
jb 0x445eca
mov edx, dword [esp + 0xa0]
lea ecx, [esp + 0xa0]
test edx, edx
je 0x445edb
mov dword [ecx], 0
mov eax, dword [esp + 0xc0]
cmp eax, 5
mov ecx, eax
jb 0x445ee9
mov ecx, dword [esp + 0xa0]
test ecx, ecx
jne 0x4472a3
mov ecx, dword [esp + 0x9c]
lea edx, [esp + 0xa0]
mov dword [esp], ecx
mov edi, dword [esp + 0xa0]
jmp 0x445f14
test ecx, ecx
jne 0x445f54
cmp eax, 5
mov ebx, edx
mov ecx, eax
jb 0x445f22
mov ebx, dword [esp]
mov ecx, edi
test ecx, ecx
je 0x4462a3
test ebx, ebx
je 0x4462a3
mov esi, dword [ebx + ecx*8 - 8]
or esi, dword [ebx + ecx*8 - 4]
jne 0x4462a3
cmp eax, 5
mov ecx, eax
lea ebx, [esp + 0xc0]
jb 0x445f10
mov ecx, edi
mov ebx, edx
jmp 0x445f10
dec ecx
mov dword [ebx], ecx
mov eax, dword [esp + 0xc0]
jmp 0x445f02
lea edx, [esp + 0x138]
lea eax, [edx + eax*8]
mov dword [esp + 0xc0], 0
mov dword [esp + 0x98], 0
lea ecx, [esp + 0x98]
push eax
call fcn.004383e0
add esp, 4
movsd xmm1, qword [esp + 0xb8]
movsd xmm2, qword [esp + 0xb0]
movsd xmm0, qword [esp + 0xc0]
mov eax, dword [esp + 0x40]
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0xa8]
movsd qword [esp + 0x70], xmm2
movsd xmm2, qword [esp + 0x98]
movsd qword [esp + 0x80], xmm0
movsd qword [esp + 0x68], xmm1
movsd xmm1, qword [esp + 0xa0]
movsd qword [esp + 0x58], xmm2
movsd qword [esp + 0x60], xmm1
mov byte [esp + 0x88], bl
cmp eax, 5
jb 0x446398
mov eax, dword [0x56bbf8]
push dword [esp + 0x1c]
push 0
push dword [eax]
call sub.kernel32.dll_HeapFree
jmp 0x446398
lea edx, [esp + 0x20]
mov dword [esp + 4], edx
mov edx, ecx
mov edi, dword [esp + 0x158]
mov dword [esp + 0x14], eax
mov byte [esp + 0xc], bl
mov dword [esp + 0x10c], ecx
cmp edi, 4
jbe 0x446058
mov eax, dword [esp + 0x134]
mov edi, dword [esp + 0x138]
mov dword [esp + 8], eax
cmp edx, edi
jb 0x44606b
jmp 0x446107
lea eax, [esp + 0x138]
mov dword [esp + 8], eax
cmp edx, edi
jae 0x446107
movsd xmm1, qword [esp + 0xf0]
movsd xmm2, qword [esp + 0xe8]
movsd xmm0, qword [esp + 0xf8]
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0xe0]
movsd qword [esp + 0x70], xmm2
movsd xmm2, qword [esp + 0xd0]
movsd qword [esp + 0x80], xmm0
movsd qword [esp + 0x68], xmm1
movsd xmm1, qword [esp + 0xd8]
movsd qword [esp + 0x58], xmm2
movsd qword [esp + 0x60], xmm1
lea eax, [esp + 0x58]
lea edx, [esp + 0x98]
lea ecx, [esp + 0x130]
push eax
push ecx
push edx
call fcn.0043dcf0
add esp, 0xc
mov eax, dword [esp + 0xc0]
movzx ecx, byte [esp + 0xc]
cmp eax, 5
jb 0x4460fd
mov eax, dword [esp + 0xa0]
test eax, eax
movzx ecx, cl
jmp 0x44632c
jbe 0x4462c4
movsd xmm1, qword [esp + 0xf0]
movsd xmm2, qword [esp + 0xe8]
movsd xmm0, qword [esp + 0xf8]
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0xe0]
movsd qword [esp + 0x70], xmm2
movsd xmm2, qword [esp + 0xd0]
movsd qword [esp + 0x80], xmm0
movsd qword [esp + 0x68], xmm1
movsd xmm1, qword [esp + 0xd8]
movsd qword [esp + 0x58], xmm2
movsd qword [esp + 0x60], xmm1
lea eax, [esp + 0x130]
push eax
lea esi, [esp + 0x5c]
push esi
call fcn.0043db20
add esp, 8
movsd xmm1, qword [esp + 0x78]
movsd xmm2, qword [esp + 0x70]
mov eax, dword [esp + 0x14]
movsd xmm0, qword [esp + 0x80]
movsd qword [esp + 0xb8], xmm1
movsd xmm1, qword [esp + 0x68]
movsd qword [esp + 0xb0], xmm2
movsd xmm2, qword [esp + 0x58]
cmp al, 1
movsd qword [esp + 0xc0], xmm0
movsd qword [esp + 0xa8], xmm1
movsd xmm1, qword [esp + 0x60]
movsd qword [esp + 0x98], xmm2
movsd qword [esp + 0xa0], xmm1
jne 0x446314
mov eax, dword [esp + 0xc0]
lea ecx, [esp + 0xc0]
mov dword [esp + 0x58], 0
mov dword [esp + 0x80], 0
cmp eax, 5
mov edx, eax
jb 0x44621e
mov edx, dword [esp + 0xa0]
lea ecx, [esp + 0xa0]
test edx, edx
je 0x44622f
mov dword [ecx], 0
mov eax, dword [esp + 0xc0]
cmp eax, 5
mov ecx, eax
jb 0x44623d
mov ecx, dword [esp + 0xa0]
test ecx, ecx
jne 0x4472d9
mov ecx, dword [esp + 0x9c]
lea edx, [esp + 0xa0]
mov dword [esp], ecx
mov edi, dword [esp + 0xa0]
jmp 0x446263
test ecx, ecx
jne 0x446297
cmp eax, 5
mov ebx, edx
mov ecx, eax
jb 0x446271
mov ebx, dword [esp]
mov ecx, edi
test ecx, ecx
je 0x4462a3
test ebx, ebx
je 0x4462a3
mov esi, dword [ebx + ecx*8 - 8]
or esi, dword [ebx + ecx*8 - 4]
jne 0x4462a3
cmp eax, 5
mov ecx, eax
lea ebx, [esp + 0xc0]
jb 0x44625f
mov ecx, edi
mov ebx, edx
jmp 0x44625f
dec ecx
mov dword [ebx], ecx
mov eax, dword [esp + 0xc0]
jmp 0x446256
mov al, 1
jmp 0x446334
mov eax, dword [esp + 0xc0]
cmp eax, 5
jb 0x4462bd
mov eax, dword [esp + 0xa0]
test eax, eax
movzx ecx, cl
jmp 0x44632c
shl edx, 3
shl edi, 3
test edx, edx
je 0x447019
test edi, edi
je 0x447019
mov eax, dword [esp + 4]
mov ecx, dword [eax + edx - 8]
mov eax, dword [eax + edx - 4]
mov dword [esp], eax
mov eax, dword [esp + 8]
mov ebx, dword [eax + edi - 8]
mov esi, dword [eax + edi - 4]
mov eax, dword [esp]
cmp ecx, ebx
sbb eax, esi
jb 0x44606b
add edx, 0xfffffff8
add edi, 0xfffffff8
cmp ebx, ecx
sbb esi, dword [esp]
jae 0x4462ca
jmp 0x44610d
mov ecx, dword [esp + 0xc0]
cmp ecx, 5
jb 0x446327
mov ecx, dword [esp + 0xa0]
test ecx, ecx
movzx ecx, al
mov eax, 1
cmovne eax, ecx
movsd xmm1, qword [esp + 0xb8]
movsd xmm2, qword [esp + 0xb0]
movsd xmm0, qword [esp + 0xc0]
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0xa8]
movsd qword [esp + 0x70], xmm2
movsd xmm2, qword [esp + 0x98]
movsd qword [esp + 0x80], xmm0
movsd qword [esp + 0x68], xmm1
movsd xmm1, qword [esp + 0xa0]
movsd qword [esp + 0x58], xmm2
movsd qword [esp + 0x60], xmm1
mov byte [esp + 0x88], al
lea edx, [esp + 0x58]
lea eax, [esp + 0x1d8]
lea ecx, [esp + 0x18]
push eax
call fcn.0043b220
add esp, 4
movsd xmm1, qword [esp + 0x20]
movsd xmm2, qword [esp + 0x28]
movsd xmm0, qword [esp + 0x18]
movsd qword [esp + 0xd8], xmm1
movsd xmm1, qword [esp + 0x30]
movsd qword [esp + 0xe0], xmm2
movsd xmm2, qword [esp + 0x38]
movsd qword [esp + 0xd0], xmm0
movsd qword [esp + 0xe8], xmm1
movsd xmm1, qword [esp + 0x40]
movsd qword [esp + 0xf0], xmm2
movsd xmm2, qword [esp + 0x48]
movsd qword [esp + 0xf8], xmm1
movsd xmm1, qword [esp + 0x160]
movsd qword [esp + 0x100], xmm2
movsd xmm2, qword [esp + 0x158]
movsd qword [esp + 0x48], xmm1
movsd xmm1, qword [esp + 0x150]
movsd qword [esp + 0x40], xmm2
movsd xmm2, qword [esp + 0x148]
movsd qword [esp + 0x38], xmm1
movsd xmm1, qword [esp + 0x140]
movsd qword [esp + 0x30], xmm2
movsd xmm2, qword [esp + 0x130]
movsd qword [esp + 0x28], xmm1
movsd xmm1, qword [esp + 0x138]
movsd qword [esp + 0x18], xmm2
movsd qword [esp + 0x20], xmm1
lea esi, [esp + 0x18]
lea eax, [esp + 0x168]
lea ecx, [esp + 0x58]
mov edx, esi
push eax
call fcn.0043b220
add esp, 4
movsd xmm1, qword [esp + 0x60]
movsd xmm2, qword [esp + 0x70]
mov edi, dword [esp + 0x388]
movsd xmm0, qword [esp + 0x58]
mov eax, dword [ebp + 0xc]
movsd qword [esp + 0x138], xmm1
movsd xmm1, qword [esp + 0x68]
movsd qword [esp + 0x148], xmm2
movsd xmm2, qword [esp + 0x80]
cmp edi, 4
movsd qword [esp + 0x130], xmm0
movsd qword [esp + 0x140], xmm1
movsd xmm1, qword [esp + 0x78]
movsd qword [esp + 0x158], xmm2
movsd qword [esp + 0x150], xmm1
movsd xmm1, qword [esp + 0x88]
movsd qword [esp + 0x160], xmm1
jbe 0x44652a
mov ecx, dword [esp + 0x364]
mov edi, dword [esp + 0x368]
jmp 0x446531
lea ecx, [esp + 0x368]
cmp edi, eax
mov dword [esp + 0x54], esi
ja 0x447185
test edi, edi
je 0x4465e3
mov eax, dword [ebp + 8]
mov dword [esp + 8], ecx
xor ecx, ecx
xor ebx, ebx
xor esi, esi
mov dword [esp], 0
mov dword [esp + 4], edi
lea eax, [eax + edi*8]
mov dword [esp + 0xc], eax
xor eax, eax
nop word cs:[eax + eax]
mov edx, dword [ebp + 8]
mov edi, dword [esp]
add ecx, dword [edx + eax*8]
adc ebx, dword [edx + eax*8 + 4]
mov edx, dword [esp + 8]
adc edi, 0
adc esi, 0
add ecx, dword [edx + eax*8]
adc ebx, dword [edx + eax*8 + 4]
mov edx, dword [ebp + 8]
mov dword [edx + eax*8], ecx
mov ecx, edi
mov edi, dword [esp + 4]
mov dword [edx + eax*8 + 4], ebx
mov ebx, esi
mov esi, dword [esp]
lea eax, [eax + 1]
adc ecx, 0
adc ebx, 0
cmp edi, eax
jne 0x446570
cmp ecx, 1
mov ecx, dword [esp + 0xc]
sbb ebx, 0
jb 0x4465e3
mov eax, dword [ebp + 0xc]
shl edi, 3
lea eax, [eax*8]
sub eax, edi
nop dword [eax + eax]
test eax, eax
je 0x4465e3
add eax, 0xfffffff8
add dword [ecx], 1
adc dword [ecx + 4], 0
lea ecx, [ecx + 8]
jb 0x4465d0
movsd xmm2, qword [esp + 0x160]
movsd xmm1, qword [esp + 0x138]
movsd xmm3, qword [esp + 0x158]
mov esi, dword [esp + 0x10]
movsd xmm0, qword [esp + 0x130]
movsd qword [esp + 0x48], xmm2
movsd xmm2, qword [esp + 0x148]
movsd qword [esp + 0x20], xmm1
movsd xmm1, qword [esp + 0x150]
movsd qword [esp + 0x40], xmm3
movsd xmm3, qword [esp + 0x150]
shl esi, 6
movsd qword [esp + 0x18], xmm0
mov dword [esp + 0x18], 0
movsd qword [esp + 0x30], xmm2
movsd xmm2, qword [esp + 0x158]
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0x140]
movsd qword [esp + 0x38], xmm3
movq xmm3, qword [esp + 0x140]
movsd qword [esp + 0x80], xmm2
movsd xmm2, qword [esp + 0x148]
movsd qword [esp + 0x68], xmm1
movsd xmm1, qword [esp + 0x138]
movq qword [esp + 0x28], xmm3
mov dword [esp + 0x40], 0
movsd qword [esp + 0x70], xmm2
movsd xmm2, qword [esp + 0x130]
movsd qword [esp + 0x60], xmm1
movsd qword [esp + 0x58], xmm2
lea edx, [esp + 0x58]
lea ecx, [esp + 0x98]
push esi
call fcn.00447910
add esp, 4
movsd xmm1, qword [esp + 0xb0]
movsd xmm0, qword [esp + 0xa8]
movsd xmm2, qword [esp + 0xc0]
movq xmm3, qword [esp + 0xb8]
movq xmm4, qword [esp + 0x98]
movq xmm5, qword [esp + 0xa0]
movsd qword [esp + 0x30], xmm1
movsd qword [esp + 0x70], xmm1
movsd xmm1, qword [esp + 0x48]
movq qword [esp + 0x58], xmm4
movq qword [esp + 0x60], xmm5
movsd qword [esp + 0x68], xmm0
movq qword [esp + 0x78], xmm3
movsd qword [esp + 0x80], xmm2
movsd qword [esp + 0x28], xmm0
movsd qword [esp + 0x88], xmm1
mov edx, dword [esp + 0x80]
cmp edx, 4
jbe 0x446762
mov ebx, dword [esp + 0x5c]
mov edi, dword [esp + 0x60]
jmp 0x446768
lea ebx, [esp + 0x60]
mov edi, edx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0xc], esi
cmp edi, ecx
ja 0x4471a6
test edi, edi
je 0x446833
mov eax, dword [ebp + 8]
mov dword [esp + 0x54], edx
mov dword [esp + 8], ebx
xor ecx, ecx
xor edx, edx
xor ebx, ebx
mov dword [esp + 4], edi
mov dword [esp], 0
lea eax, [eax + edi*8]
xor edi, edi
mov dword [esp + 0x14], eax
nop word cs:[eax + eax]
nop
mov esi, dword [ebp + 8]
mov eax, dword [esp + 8]
add ecx, dword [esi + edi*8]
adc edx, dword [esi + edi*8 + 4]
mov esi, dword [esp]
adc esi, 0
adc ebx, 0
add ecx, dword [eax + edi*8]
adc edx, dword [eax + edi*8 + 4]
mov eax, dword [ebp + 8]
mov dword [eax + edi*8], ecx
mov ecx, esi
mov dword [eax + edi*8 + 4], edx
mov edx, ebx
lea edi, [edi + 1]
mov ebx, dword [esp]
adc ecx, 0
adc edx, 0
cmp dword [esp + 4], edi
jne 0x4467b0
cmp ecx, 1
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 4]
sbb edx, 0
mov edx, dword [esp + 0x54]
jb 0x446833
mov eax, dword [ebp + 0xc]
shl esi, 3
lea eax, [eax*8]
sub eax, esi
nop word cs:[eax + eax]
nop dword [eax + eax]
test eax, eax
je 0x446833
add eax, 0xfffffff8
add dword [ecx], 1
adc dword [ecx + 4], 0
lea ecx, [ecx + 8]
jb 0x446820
cmp edx, 5
jb 0x44684a
mov eax, dword [0x56bbf8]
push dword [esp + 0x5c]
push 0
push dword [eax]
call sub.kernel32.dll_HeapFree
movsd xmm2, qword [esp + 0x100]
movsd xmm1, qword [esp + 0xd8]
movsd xmm3, qword [esp + 0xf8]
mov eax, dword [esp + 0x10]
movsd xmm0, qword [esp + 0xd0]
movsd qword [esp + 0x48], xmm2
movsd xmm2, qword [esp + 0xe8]
movsd qword [esp + 0x20], xmm1
movsd xmm1, qword [esp + 0xf0]
movsd qword [esp + 0x40], xmm3
movsd xmm3, qword [esp + 0xf0]
shl eax, 7
movsd qword [esp + 0x18], xmm0
mov dword [esp + 0x18], 0
movsd qword [esp + 0x30], xmm2
movsd xmm2, qword [esp + 0xf8]
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0xe0]
movsd qword [esp + 0x38], xmm3
movq xmm3, qword [esp + 0xe0]
movsd qword [esp + 0x80], xmm2
movsd xmm2, qword [esp + 0xe8]
movsd qword [esp + 0x68], xmm1
movsd xmm1, qword [esp + 0xd8]
movq qword [esp + 0x28], xmm3
mov dword [esp + 0x40], 0
movsd qword [esp + 0x70], xmm2
movsd xmm2, qword [esp + 0xd0]
movsd qword [esp + 0x60], xmm1
movsd qword [esp + 0x58], xmm2
lea esi, [esp + 0x58]
lea ecx, [esp + 0x98]
mov edx, esi
push eax
call fcn.00447910
add esp, 4
movsd xmm1, qword [esp + 0xb0]
movsd xmm0, qword [esp + 0xa8]
movsd xmm2, qword [esp + 0xc0]
movq xmm3, qword [esp + 0xb8]
movq xmm4, qword [esp + 0x98]
movq xmm5, qword [esp + 0xa0]
mov eax, dword [ebp + 0xc]
movsd qword [esp + 0x30], xmm1
movsd qword [esp + 0x70], xmm1
movsd xmm1, qword [esp + 0x48]
movq qword [esp + 0x58], xmm4
movq qword [esp + 0x60], xmm5
movsd qword [esp + 0x68], xmm0
movq qword [esp + 0x78], xmm3
movsd qword [esp + 0x80], xmm2
movsd qword [esp + 0x28], xmm0
movsd qword [esp + 0x88], xmm1
mov edx, dword [esp + 0x80]
cmp edx, 4
jbe 0x4469ce
mov edi, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
jmp 0x4469d4
lea edi, [esp + 0x60]
mov ecx, edx
cmp ecx, eax
ja 0x4471bf
test ecx, ecx
je 0x446a93
mov eax, dword [ebp + 8]
mov dword [esp + 0x54], edx
mov dword [esp + 4], ecx
xor ebx, ebx
xor edx, edx
xor esi, esi
mov dword [esp + 8], edi
mov dword [esp], 0
lea eax, [eax + ecx*8]
xor ecx, ecx
mov dword [esp + 0x14], eax
nop dword [eax]
mov edi, dword [ebp + 8]
mov eax, dword [esp + 8]
add ecx, dword [edi + esi*8]
adc ebx, dword [edi + esi*8 + 4]
mov edi, dword [esp]
adc edi, 0
adc edx, 0
add ecx, dword [eax + esi*8]
adc ebx, dword [eax + esi*8 + 4]
mov eax, dword [ebp + 8]
mov dword [eax + esi*8], ecx
mov ecx, edi
mov dword [eax + esi*8 + 4], ebx
mov ebx, edx
lea esi, [esi + 1]
mov edx, dword [esp]
adc ecx, 0
adc ebx, 0
cmp dword [esp + 4], esi
jne 0x446a10
cmp ecx, 1
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 4]
sbb ebx, 0
jb 0x446a93
mov eax, dword [ebp + 0xc]
shl esi, 3
lea eax, [eax*8]
sub eax, esi
nop word cs:[eax + eax]
nop dword [eax + eax]
test eax, eax
je 0x446a93
add eax, 0xfffffff8
add dword [ecx], 1
adc dword [ecx + 4], 0
lea ecx, [ecx + 8]
jb 0x446a80
cmp edx, 5
jb 0x446aaa
mov eax, dword [0x56bbf8]
push dword [esp + 0x5c]
push 0
push dword [eax]
call sub.kernel32.dll_HeapFree
movsd xmm2, qword [esp + 0x198]
movsd xmm1, qword [esp + 0x170]
movsd xmm3, qword [esp + 0x190]
mov eax, dword [esp + 0xc]
movsd xmm0, qword [esp + 0x168]
movsd qword [esp + 0x48], xmm2
movsd xmm2, qword [esp + 0x180]
movsd qword [esp + 0x20], xmm1
movsd xmm1, qword [esp + 0x188]
movsd qword [esp + 0x40], xmm3
movsd xmm3, qword [esp + 0x188]
lea eax, [eax + eax*2]
movsd qword [esp + 0x18], xmm0
mov dword [esp + 0x18], 0
movsd qword [esp + 0x30], xmm2
movsd xmm2, qword [esp + 0x190]
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0x178]
movsd qword [esp + 0x38], xmm3
movq xmm3, qword [esp + 0x178]
movsd qword [esp + 0x80], xmm2
movsd xmm2, qword [esp + 0x180]
movsd qword [esp + 0x68], xmm1
movsd xmm1, qword [esp + 0x170]
movq qword [esp + 0x28], xmm3
mov dword [esp + 0x40], 0
movsd qword [esp + 0x70], xmm2
movsd xmm2, qword [esp + 0x168]
movsd qword [esp + 0x60], xmm1
movsd qword [esp + 0x58], xmm2
lea edx, [esp + 0x58]
lea ecx, [esp + 0x98]
push eax
call fcn.00447910
add esp, 4
movsd xmm1, qword [esp + 0xb0]
movsd xmm0, qword [esp + 0xa8]
movsd xmm2, qword [esp + 0xc0]
movq xmm3, qword [esp + 0xb8]
movq xmm4, qword [esp + 0x98]
movq xmm5, qword [esp + 0xa0]
mov eax, dword [ebp + 0xc]
movsd qword [esp + 0x30], xmm1
movsd qword [esp + 0x70], xmm1
movsd xmm1, qword [esp + 0x48]
movq qword [esp + 0x58], xmm4
movq qword [esp + 0x60], xmm5
movsd qword [esp + 0x68], xmm0
movq qword [esp + 0x78], xmm3
movsd qword [esp + 0x80], xmm2
movsd qword [esp + 0x28], xmm0
movsd qword [esp + 0x88], xmm1
mov edx, dword [esp + 0x80]
cmp edx, 4
jbe 0x446c2c
mov edi, dword [esp + 0x5c]
mov esi, dword [esp + 0x60]
jmp 0x446c32
lea edi, [esp + 0x60]
mov esi, edx
cmp esi, eax
ja 0x4471dc
test esi, esi
je 0x446cf3
mov eax, dword [ebp + 8]
mov dword [esp + 0xc], edx
xor ecx, ecx
xor ebx, ebx
xor edx, edx
mov dword [esp + 4], esi
mov dword [esp], 0
mov dword [esp + 8], edi
lea eax, [eax + esi*8]
xor esi, esi
mov dword [esp + 0x54], eax
nop word [eax + eax]
mov edi, dword [ebp + 8]
mov eax, dword [esp + 8]
add ecx, dword [edi + esi*8]
adc ebx, dword [edi + esi*8 + 4]
mov edi, dword [esp]
adc edi, 0
adc edx, 0
add ecx, dword [eax + esi*8]
adc ebx, dword [eax + esi*8 + 4]
mov eax, dword [ebp + 8]
mov dword [eax + esi*8], ecx
mov ecx, edi
mov dword [eax + esi*8 + 4], ebx
mov ebx, edx
lea esi, [esi + 1]
mov edx, dword [esp]
adc ecx, 0
adc ebx, 0
cmp dword [esp + 4], esi
jne 0x446c70
cmp ecx, 1
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 4]
sbb ebx, 0
jb 0x446cf3
mov eax, dword [ebp + 0xc]
shl esi, 3
lea eax, [eax*8]
sub eax, esi
nop word cs:[eax + eax]
nop dword [eax + eax]
test eax, eax
je 0x446cf3
add eax, 0xfffffff8
add dword [ecx], 1
adc dword [ecx + 4], 0
lea ecx, [ecx + 8]
jb 0x446ce0
cmp edx, 5
jb 0x446d0a
mov eax, dword [0x56bbf8]
push dword [esp + 0x5c]
push 0
push dword [eax]
call sub.kernel32.dll_HeapFree
movsd xmm2, qword [esp + 0x208]
movsd xmm1, qword [esp + 0x1e0]
movsd xmm3, qword [esp + 0x200]
mov eax, dword [esp + 0x10]
movsd xmm0, qword [esp + 0x1d8]
movsd qword [esp + 0x48], xmm2
movsd xmm2, qword [esp + 0x1f0]
movsd qword [esp + 0x20], xmm1
movsd xmm1, qword [esp + 0x1f8]
movsd qword [esp + 0x40], xmm3
movsd xmm3, qword [esp + 0x1f8]
shl eax, 8
movsd qword [esp + 0x18], xmm0
mov dword [esp + 0x18], 0
movsd qword [esp + 0x30], xmm2
movsd xmm2, qword [esp + 0x200]
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0x1e8]
movsd qword [esp + 0x38], xmm3
movq xmm3, qword [esp + 0x1e8]
movsd qword [esp + 0x80], xmm2
movsd xmm2, qword [esp + 0x1f0]
movsd qword [esp + 0x68], xmm1
movsd xmm1, qword [esp + 0x1e0]
movq qword [esp + 0x28], xmm3
mov dword [esp + 0x40], 0
movsd qword [esp + 0x70], xmm2
movsd xmm2, qword [esp + 0x1d8]
movsd qword [esp + 0x60], xmm1
movsd qword [esp + 0x58], xmm2
lea edx, [esp + 0x58]
lea ecx, [esp + 0x98]
push eax
call fcn.00447910
add esp, 4
movsd xmm1, qword [esp + 0xb0]
movsd xmm0, qword [esp + 0xa8]
movsd xmm2, qword [esp + 0xc0]
movq xmm3, qword [esp + 0xb8]
movq xmm4, qword [esp + 0x98]
movq xmm5, qword [esp + 0xa0]
mov eax, dword [ebp + 0xc]
movsd qword [esp + 0x30], xmm1
movsd qword [esp + 0x70], xmm1
movsd xmm1, qword [esp + 0x48]
movq qword [esp + 0x58], xmm4
movq qword [esp + 0x60], xmm5
movsd qword [esp + 0x68], xmm0
movq qword [esp + 0x78], xmm3
movsd qword [esp + 0x80], xmm2
movsd qword [esp + 0x28], xmm0
movsd qword [esp + 0x88], xmm1
mov edx, dword [esp + 0x80]
cmp edx, 4
jbe 0x446e8c
mov edi, dword [esp + 0x5c]
mov esi, dword [esp + 0x60]
jmp 0x446e92
lea edi, [esp + 0x60]
mov esi, edx
cmp esi, eax
ja 0x4471f5
test esi, esi
je 0x446f53
mov eax, dword [ebp + 8]
mov dword [esp + 8], edx
xor ecx, ecx
xor ebx, ebx
xor edx, edx
mov dword [esp], esi
mov dword [esp + 0x94], 0
mov dword [esp + 4], edi
lea eax, [eax + esi*8]
xor esi, esi
mov dword [esp + 0x10], eax
nop word [eax + eax]
mov edi, dword [ebp + 8]
mov eax, dword [esp + 4]
add ecx, dword [edi + esi*8]
adc ebx, dword [edi + esi*8 + 4]
mov edi, dword [esp + 0x94]
adc edi, 0
adc edx, 0
add ecx, dword [eax + esi*8]
adc ebx, dword [eax + esi*8 + 4]
mov eax, dword [ebp + 8]
mov dword [eax + esi*8], ecx
mov ecx, edi
mov dword [eax + esi*8 + 4], ebx
mov ebx, edx
lea esi, [esi + 1]
mov edx, dword [esp + 0x94]
adc ecx, 0
adc ebx, 0
cmp dword [esp], esi
jne 0x446ed0
cmp ecx, 1
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 8]
mov eax, dword [esp + 0x10]
mov esi, dword [esp]
sbb ebx, 0
jb 0x446f53
shl ecx, 3
shl esi, 3
sub ecx, esi
nop word cs:[eax + eax]
nop dword [eax]
test ecx, ecx
je 0x446f53
add ecx, 0xfffffff8
add dword [eax], 1
adc dword [eax + 4], 0
lea eax, [eax + 8]
jb 0x446f40
cmp edx, 5
jb 0x446f6a
mov eax, dword [0x56bbf8]
push dword [esp + 0x5c]
push 0
push dword [eax]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x388], 5
jb 0x446f89
mov eax, dword [0x56bbf8]
push dword [esp + 0x364]
push 0
push dword [eax]
call sub.kernel32.dll_HeapFree
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x58], 0
mov dword [esp + 0x80], 0
mov al, 1
movsd xmm1, qword [esp + 0x68]
movsd xmm2, qword [esp + 0x70]
movsd xmm0, qword [esp + 0x60]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x14]
movsd qword [esp + 0x1b0], xmm1
movsd xmm1, qword [esp + 0x78]
movsd qword [esp + 0x1b8], xmm2
movsd xmm2, qword [esp + 0x58]
movsd qword [esp + 0x1a8], xmm0
movsd qword [esp + 0x1c0], xmm1
movsd xmm1, qword [esp + 0x80]
movsd qword [esp + 0x1a0], xmm2
movsd qword [esp + 0x1c8], xmm1
cmp eax, 5
jae 0x444565
jmp 0x445641
mov dword [esp + 0x98], 0
mov dword [esp + 0xc0], 0
mov eax, dword [esp + 0x10c]
movsd xmm1, qword [esp + 0xa8]
movsd xmm2, qword [esp + 0xb0]
movsd xmm0, qword [esp + 0xa0]
movsd qword [esp + 0x68], xmm1
movsd xmm1, qword [esp + 0xb8]
movsd qword [esp + 0x70], xmm2
movsd xmm2, qword [esp + 0x98]
movsd qword [esp + 0x60], xmm0
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0xc0]
movsd qword [esp + 0x58], xmm2
movsd qword [esp + 0x80], xmm1
mov byte [esp + 0x88], 1
cmp eax, 5
jae 0x446001
jmp 0x446398
push 0x518cdc
push 0x25
push str.carry_overflow_during_multiplication_
call fcn.004148e0
add esp, 0xc
ud2
push 0x518ca4
push 0x23
push 0x5184f0
call fcn.00414ad0
add esp, 0xc
ud2
mov dword [esp + 0x11c], ecx
push 0x518cec
push dword [ebp + 0xc]
push dword [esp + 0x124]
call fcn.00417ea0
add esp, 0xc
ud2
push 0x518b3c
push 0x23
push 0x5184f0
call fcn.00414ad0
add esp, 0xc
jmp 0x4472e9
push 0x518cfc
jmp 0x4470c4
push 0x518d2c
push eax
push ecx
call fcn.00417f20
add esp, 0xc
jmp 0x4472e9
mov eax, 0x518d0c
jmp 0x447156
push 0x518d3c
push dword [esp + 0x114]
push dword [esp + 0x18]
call fcn.00417f20
add esp, 0xc
jmp 0x4472e9
mov eax, 0x518d1c
mov dword [esp + 0x14], esi
push eax
push dword [ebp + 0xc]
push dword [esp + 0x1c]
call fcn.00417ea0
add esp, 0xc
jmp 0x4472e9
push 0x518d4c
push dword [esp + 0x114]
push edx
call fcn.00417f20
add esp, 0xc
jmp 0x4472e9
mov dword [esp + 4], 0
push 0x518b3c
push 0x23
push 0x5184f0
call fcn.00414ad0
add esp, 0xc
jmp 0x4472e9
push 0x518b3c
push 0x23
push 0x5184f0
call fcn.00414ad0
add esp, 0xc
jmp 0x4472e9
mov dword [esp + 0x54], esi
push 0x518b3c
push 0x23
push 0x5184f0
call fcn.00414ad0
add esp, 0xc
jmp 0x4472e9
push 0x518b3c
push 0x23
push 0x5184f0
call fcn.00414ad0
add esp, 0xc
jmp 0x4472e9
push 0x518b3c
push 0x23
push 0x5184f0
call fcn.00414ad0
add esp, 0xc
jmp 0x4472e9
call fcn.004085b0
ud2
call fcn.004085b0
ud2
push 0x518aa8
push 0
push ecx
call fcn.00418020
add esp, 0xc
jmp 0x4472e9
push 0x518aa8
push 0
push ecx
call fcn.00418020
add esp, 0xc
jmp 0x4472e9
push 0x518aa8
push 0
push ecx
call fcn.00418020
add esp, 0xc
jmp 0x4472e9
push 0x518aa8
push 0
push ecx
call fcn.00418020
add esp, 0xc
jmp 0x4472e9
push 0x518aa8
push 0
push ecx
call fcn.00418020
add esp, 0xc
jmp 0x4472e9
push 0x518aa8
push 0
push ecx
call fcn.00418020
add esp, 0xc
jmp 0x4472e9
push 0x518aa8
push 0
push ecx
call fcn.00418020
add esp, 0xc
jmp 0x4472e9
push 0x518aa8
push 0
push ecx
call fcn.00418020
add esp, 0xc
jmp 0x4472e9
push 0x518aa8
push 0
push ecx
call fcn.00418020
add esp, 0xc
jmp 0x4472e9
push 0x518aa8
push 0
push ecx
call fcn.00418020
add esp, 0xc
jmp 0x4472e9
push 0x518aa8
push 0
push ecx
call fcn.00418020
add esp, 0xc
ud2