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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x494
mov eax, dword [0x5c8eb4]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0x38]
xorps xmm0, xmm0
mov eax, dword [ebp + 0x3c]
mov edx, dword [ebp + 0x40]
push ebx
xor ebx, ebx
mov dword [ebp - 0x490], ecx
mov dword [ebp - 0x494], eax
mov dword [ebp - 0x488], edx
mov dword [ebp - 0x464], ebx
mov dword [ebp - 0x40c], ebx
mov dword [ebp - 0x410], ebx
mov dword [ebp - 0x468], ebx
mov dword [ebp - 0x480], ebx
mov dword [ebp - 0x414], ebx
movlpd qword [ebp - 0x454], xmm0
movlpd qword [ebp - 0x438], xmm0
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x48c], esi
push edi
mov edi, dword [ebp + 0x10]
test ecx, ecx
je 0x44159f
mov dword [ecx], ebx
mov dword [ecx + 4], ebx
test eax, eax
je 0x4415a8
mov dword [eax], ebx
mov dword [eax + 4], ebx
test esi, esi
je 0x442538
test byte [esi + 0x40], 1
je 0x442538
cmp byte [esi + 0x18], 2
je 0x4415d6
pop edi
pop esi
mov eax, 0xffffffe9
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004f01b3
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0x24]
push dword [eax + 0x18]
call fcn.0043e800
add esp, 4
test eax, eax
je 0x442538
cmp dword [esi + 0x48], ebx
je 0x44160b
push 0
push 0
push 1
push esi
call fcn.00440b90
add esp, 0x10
test eax, eax
jne 0x44253b
cmp dword [esi + 0x90], ebx
je 0x441633
mov eax, dword [esi + 0x10]
push dword [eax + 0x14]
call fcn.004141f0
mov ecx, dword [esi + 0x10]
add esp, 4
mov eax, dword [esi + 0x90]
mov dword [ecx + 0x14], eax
mov dword [esi + 0x90], ebx
push dword [esi + 0x60]
call fcn.0043e800
add esp, 4
mov dword [ebp - 0x430], eax
test eax, eax
jne 0x4416b5
mov edi, dword [ebp + 0x34]
test edi, edi
je 0x441680
push 8
cmp dword [esi + 0x6c], ebx
je 0x441666
mov eax, dword [esi + 8]
push dword [eax + 0x14]
call fcn.00415420
mov eax, dword [esi + 8]
jmp 0x441674
mov eax, dword [esi + 0x10]
push dword [eax + 0x14]
call fcn.00415420
mov eax, dword [esi + 0x10]
push edi
push dword [eax + 0x14]
call fcn.00415420
add esp, 0x10
push dword [ebp - 0x488]
push esi
call fcn.00441450
add esp, 8
cmp dword [ebp + 0x30], ebx
je 0x4416a2
push dword [esi + 0x10]
call fcn.004315f0
add esp, 4
mov dword [esi + 0x10], ebx
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004f01b3
mov esp, ebp
pop ebp
ret
push dword [esi + 0x5c]
mov eax, dword [esi + 0x10]
push dword [esi + 0x58]
push dword [eax + 0x14]
call fcn.00414b60
mov eax, dword [esi + 0x10]
push dword [eax + 0x14]
call fcn.00414d90
add esp, 0x10
mov dword [ebp - 0x44c], ebx
test edi, edi
je 0x4416f8
push edi
push dword [esi + 0x28]
call fcn.0043a380
add esp, 8
mov dword [ebp - 0x480], eax
test eax, eax
je 0x442538
mov eax, dword [ebp + 0xc]
xor ecx, ecx
test eax, eax
cmovns ecx, eax
xor edx, edx
test eax, eax
mov dword [ebp - 0x408], ecx
cmovns edx, edi
mov dword [ebp - 0x418], edx
mov edi, edx
test ecx, ecx
jne 0x44172d
xor eax, eax
mov ecx, 1
test edi, edi
cmove eax, ecx
mov dword [ebp - 0x468], eax
push dword [ebp + 0x2c]
push esi
call fcn.00442550
add esp, 8
test eax, eax
jne 0x44253b
xorps xmm0, xmm0
mov dword [ebp - 0x42c], ebx
mov dword [ebp - 0x424], ebx
mov dword [ebp - 0x420], ebx
movlpd qword [ebp - 0x470], xmm0
cmp dword [ebp + 0x28], ebx
je 0x44176e
call fcn.0043e960
mov dword [ebp - 0x410], eax
test edi, edi
je 0x441a44
push dword [ebp + 0x1c]
mov dword [ebp - 0x450], ebx
push edi
push 0
push dword [esi + 0x60]
call fcn.0043e8b0
add esp, 8
push eax
call fcn.004426c0
add esp, 8
add eax, dword [ebp + 0x14]
adc edx, dword [ebp + 0x18]
push edx
push eax
call fcn.004414a0
mov edi, dword [esi + 0x78]
add esp, 0xc
mov ecx, eax
mov ebx, edx
mov dword [ebp - 0x458], ecx
test edi, edi
jne 0x4417cc
push 0x73696478
call fcn.00430750
mov ecx, dword [ebp - 0x458]
add esp, 4
mov edi, eax
mov eax, dword [ebp - 0x418]
mov dword [edi + 0x20], eax
mov eax, dword [ebp - 0x480]
mov eax, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + 0x30]
mov dword [edi + 0x24], eax
mov dword [edi + 0x30], 0
mov dword [edi + 0x34], 0
cmp dword [esi + 0x78], 0
je 0x441880
cmp dword [esi + 0x88], 0
jne 0x44180e
mov dword [edi + 0x28], ecx
mov dword [edi + 0x2c], ebx
mov eax, dword [ebp - 0x430]
mov dword [ebp - 0x42c], eax
mov dword [ebp - 0x420], eax
mov eax, dword [esi + 0x88]
mov dword [ebp - 0x44c], eax
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x414], 1
mov dword [ebp - 0x424], 1
mov dword [ebp + 0x28], 0
push dword [eax + 0x14]
call fcn.00414410
mov ecx, eax
mov dword [ebp - 0x47c], eax
mov eax, dword [ebp - 0x434]
add esp, 4
mov dword [ebp - 0x440], eax
mov eax, dword [ebp - 0x438]
mov dword [ebp - 0x474], edx
mov dword [ebp - 0x444], eax
jmp 0x441a23
mov eax, dword [ebp + 0x28]
xor edx, edx
mov dword [edi + 0x2c], ebx
mov ebx, dword [ebp - 0x408]
mov dword [edi + 0x28], ecx
mov ecx, dword [ebp - 0x430]
cmp ecx, ebx
cmovle ebx, edx
mov dword [ebp - 0x414], ebx
test eax, eax
je 0x4418e6
cmp ebx, 2
jge 0x4418e6
mov ebx, 2
mov dword [ebp - 0x414], ebx
xor edx, edx
test eax, eax
mov eax, ecx
je 0x441904
div ebx
mov edx, eax
mov dword [ebp - 0x420], eax
imul eax, ebx
cmp eax, ecx
jae 0x4418d6
inc edx
mov dword [ebp - 0x420], edx
lea eax, [edx + 1]
mov dword [ebp - 0x414], ebx
mov dword [edi + 0x38], eax
xor ebx, ebx
jmp 0x44192a
test ebx, ebx
jne 0x4418b6
mov dword [ebp - 0x414], ecx
mov dword [ebp - 0x420], ecx
mov dword [ebp - 0x424], ecx
mov dword [edi + 0x38], ecx
mov dword [ebp + 0x28], edx
jmp 0x441930
div ebx
mov edx, eax
mov dword [ebp - 0x420], eax
imul eax, ebx
cmp eax, ecx
jae 0x44191c
inc edx
mov dword [ebp - 0x420], edx
mov dword [edi + 0x38], ebx
mov ebx, 1
mov dword [ebp - 0x450], ebx
mov dword [ebp - 0x424], edx
mov eax, dword [edi + 0x38]
lea eax, [eax + eax*2]
shl eax, 3
push eax
call fcn.004f6757
mov ecx, eax
mov eax, dword [edi + 0x38]
mov dword [edi + 0x3c], ecx
lea eax, [eax + eax*2]
shl eax, 3
push eax
push 0
push ecx
call fcn.004f21c0
mov eax, dword [esi + 0x10]
push dword [eax + 0x14]
call fcn.00414410
push edi
mov dword [ebp - 0x444], eax
mov dword [ebp - 0x440], edx
call fcn.00430f20
add esp, 0x18
test eax, eax
jne 0x44253b
mov eax, dword [esi + 0x10]
push dword [eax + 0x14]
push edi
call fcn.00430fe0
add esp, 8
test eax, eax
jne 0x44253b
mov eax, dword [esi + 0x10]
push dword [eax + 0x14]
call fcn.00414410
add esp, 4
mov dword [ebp - 0x474], edx
cmp dword [ebp - 0x410], 0
mov ecx, eax
mov dword [ebp - 0x47c], ecx
mov dword [ebp - 0x42c], 1
je 0x441a16
push 0x18
call fcn.004f6757
add esp, 4
test eax, eax
je 0x4419dd
xorps xmm0, xmm0
movups xmmword [eax], xmm0
movq qword [eax + 0x10], xmm0
mov ecx, dword [ebp - 0x444]
push eax
push dword [ebp - 0x410]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x440]
mov dword [eax], edi
mov dword [eax + 0xc], ecx
call fcn.0043e7a0
mov ecx, dword [ebp - 0x47c]
add esp, 8
mov edx, dword [ebp - 0x474]
mov dword [ebp - 0x42c], 1
xor eax, eax
test ebx, ebx
cmovne eax, edi
mov dword [ebp - 0x40c], eax
xor eax, eax
xor ebx, ebx
cmp dword [ebp - 0x450], eax
mov dword [ebp - 0x430], eax
cmove ebx, edi
mov edi, dword [ebp - 0x418]
mov dword [ebp - 0x464], ebx
jmp 0x441a80
mov eax, dword [ebp - 0x434]
mov edx, dword [ebp - 0x450]
mov ecx, dword [ebp - 0x454]
mov dword [ebp - 0x440], eax
mov eax, dword [ebp - 0x438]
mov dword [ebp - 0x444], eax
mov eax, dword [ebp - 0x470]
mov dword [ebp - 0x474], edx
mov dword [ebp - 0x47c], ecx
mov dword [ebp - 0x458], eax
mov eax, dword [ebp - 0x420]
xorps xmm0, xmm0
push dword [esi + 0x60]
mov dword [ebp - 0x484], ecx
mov dword [ebp - 0x46c], edx
mov dword [ebp - 0x428], 0
mov dword [ebp - 0x45c], 0
movlpd qword [ebp - 0x438], xmm0
mov dword [ebp - 0x448], eax
mov dword [ebp - 0x43c], 0
mov dword [ebp - 0x460], 0
mov dword [ebp - 0x408], 1
mov dword [ebp - 0x478], 0
call fcn.0043e800
add esp, 4
test eax, eax
je 0x442138
mov eax, dword [ebp - 0x434]
mov dword [ebp - 0x450], eax
mov eax, dword [ebp - 0x438]
mov dword [ebp - 0x41c], eax
nop word [eax + eax]
push 0
push dword [esi + 0x60]
call fcn.0043e8b0
push 0
push dword [esi + 0x60]
mov dword [esi + 0x48], eax
call fcn.0043e990
add esp, 0x10
cmp dword [ebp - 0x468], 0
jne 0x441d0d
test ebx, ebx
jne 0x441d0d
cmp dword [ebp - 0x40c], ebx
jne 0x441b50
cmp dword [ebp + 0x28], ebx
je 0x441d0d
push 0x73696478
call fcn.00430750
mov ebx, eax
add esp, 4
mov eax, dword [ebp - 0x480]
mov dword [ebp - 0x464], ebx
mov dword [ebx + 0x20], edi
test eax, eax
je 0x441b7d
mov ecx, dword [eax + 0x20]
mov ecx, dword [ecx + 0x1c]
mov ecx, dword [ecx + 0x30]
jmp 0x441b82
mov ecx, 0x3e8
push dword [ebp + 0x1c]
mov dword [ebx + 0x24], ecx
push edi
push dword [esi + 0x48]
call fcn.004426c0
add esp, 8
add eax, dword [ebp - 0x45c]
adc edx, 0
add eax, dword [ebp + 0x14]
adc edx, dword [ebp + 0x18]
push edx
push eax
call fcn.004414a0
mov dword [ebx + 0x28], eax
mov eax, dword [ebp - 0x420]
mov dword [ebx + 0x2c], edx
push dword [esi + 0x60]
mov dword [ebp - 0x448], eax
call fcn.0043e800
add esp, 0x10
lea edi, [eax + 1]
mov eax, dword [ebp - 0x424]
mov ecx, eax
imul ecx, dword [ebp - 0x42c]
cmp ecx, edi
jbe 0x441c01
xor edx, edx
mov eax, edi
div dword [ebp - 0x42c]
mov ecx, eax
mov dword [ebp - 0x424], eax
imul ecx, dword [ebp - 0x42c]
cmp ecx, edi
jae 0x441c01
inc eax
mov dword [ebp - 0x424], eax
cmp dword [ebp + 0x28], 0
mov dword [ebx + 0x30], 0
mov dword [ebx + 0x34], 0
mov dword [ebx + 0x38], eax
je 0x441c25
cmp dword [ebp - 0x414], 1
jbe 0x441c25
inc eax
mov dword [ebx + 0x38], eax
mov eax, dword [ebx + 0x38]
lea eax, [eax + eax*2]
shl eax, 3
push eax
call fcn.004f6757
mov ecx, dword [ebx + 0x38]
mov dword [ebx + 0x3c], eax
lea ecx, [ecx + ecx*2]
shl ecx, 3
push ecx
push 0
push eax
call fcn.004f21c0
mov eax, dword [ebp - 0x40c]
add esp, 0x10
test eax, eax
je 0x441c69
mov ecx, dword [ebp - 0x428]
mov eax, dword [eax + 0x3c]
lea ecx, [ecx + ecx*2]
mov dword [eax + ecx*8], 1
mov eax, dword [esi + 0x10]
push dword [eax + 0x14]
call fcn.00414410
push ebx
mov dword [ebp - 0x41c], eax
mov dword [ebp - 0x450], edx
call fcn.00430f20
add esp, 8
test eax, eax
jne 0x44253b
mov ecx, dword [esi + 0x10]
push dword [ecx + 0x14]
push ebx
call fcn.00430fe0
add esp, 8
mov dword [ebp - 0x478], eax
test eax, eax
jne 0x44253b
mov ecx, dword [esi + 0x10]
push dword [ecx + 0x14]
call fcn.00414410
mov edi, dword [ebp - 0x410]
add esp, 4
mov dword [ebp - 0x484], eax
mov dword [ebp - 0x46c], edx
test edi, edi
je 0x441d0d
push 0x18
call fcn.004f6757
add esp, 4
test eax, eax
je 0x442122
mov ecx, dword [ebp - 0x41c]
xorps xmm0, xmm0
movups xmmword [eax], xmm0
push eax
movq qword [eax + 0x10], xmm0
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x450]
push edi
mov dword [eax], ebx
mov dword [eax + 0xc], ecx
call fcn.0043e7a0
add esp, 8
mov eax, dword [esi + 0x10]
push dword [eax + 0x14]
call fcn.00414410
mov ecx, dword [esi + 0x48]
mov edi, eax
sub edi, dword [ecx + 0x28]
mov ecx, dword [esi + 0x10]
push dword [ecx + 0x14]
call fcn.00414410
mov ecx, dword [esi + 0x48]
add esp, 8
cmp dword [ebp - 0x478], 0
mov dword [ecx + 0x28], eax
mov dword [ecx + 0x2c], edx
jne 0x4420f9
lea eax, [ebp - 0x434]
push eax
push edi
push 0
push esi
call fcn.00440b90
add esp, 0x10
mov dword [ebp - 0x478], eax
test ebx, ebx
je 0x4420f9
mov edi, dword [ebp - 0x460]
add edi, dword [ebp - 0x44c]
cmp dword [esi + 0x78], 0
jne 0x441e1d
cmp dword [ebp - 0x408], 0
je 0x441e1d
push dword [ebp + 0x1c]
mov eax, dword [ebp - 0x418]
push eax
push dword [esi + 0x48]
call fcn.004426c0
add esp, 8
add eax, dword [ebp - 0x43c]
adc edx, 0
add eax, dword [ebp - 0x45c]
adc edx, 0
add eax, dword [ebp + 0x14]
adc edx, dword [ebp + 0x18]
push edx
push eax
call fcn.004414a0
mov dword [ebp - 0x434], edx
add esp, 0xc
mov edx, eax
mov dword [ebp - 0x408], eax
sub edx, dword [ebp - 0x458]
test edi, edi
je 0x441e01
mov eax, dword [ebx + 0x3c]
lea ecx, [edi + edi*2]
mov dword [eax + ecx*8 - 0x10], edx
mov eax, dword [ebp - 0x40c]
test eax, eax
je 0x441dfb
mov ecx, dword [ebp - 0x428]
mov eax, dword [eax + 0x3c]
lea ecx, [ecx + ecx*2]
add dword [eax + ecx*8 + 8], edx
mov eax, dword [ebp - 0x408]
mov dword [ebp - 0x458], eax
mov eax, dword [ebp - 0x434]
mov dword [ebp - 0x46c], eax
mov dword [ebp - 0x408], 0
mov eax, dword [ebx + 0x3c]
lea edi, [edi + edi*2]
mov dword [eax + edi*8], 0
mov ecx, dword [ebx + 0x3c]
cmp dword [ecx + edi*8 + 0x10], 0
jne 0x441eb8
lea eax, [edi*8 + 0xc]
add eax, ecx
push eax
lea eax, [edi*8 + 0x14]
add eax, ecx
push eax
push dword [ebp - 0x418]
push dword [esi + 0x48]
call fcn.004427d0
mov ecx, dword [ebx + 0x3c]
add esp, 0x10
mov dword [ecx + edi*8 + 0x10], eax
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + edi*8 + 0x10]
test ecx, ecx
je 0x441eb8
mov eax, dword [ebp - 0x40c]
test eax, eax
je 0x441eb8
mov edx, dword [ebp - 0x428]
mov eax, dword [eax + 0x3c]
lea edx, [edx + edx*2]
cmp dword [eax + edx*8 + 0x10], 0
jne 0x441eb8
mov dword [eax + edx*8 + 0x10], ecx
mov ecx, dword [ebp - 0x40c]
mov eax, dword [ebx + 0x3c]
mov ecx, dword [ecx + 0x3c]
mov eax, dword [eax + edi*8 + 0x14]
mov dword [ecx + edx*8 + 0x14], eax
mov ecx, dword [ebp - 0x40c]
mov eax, dword [ebx + 0x3c]
mov ecx, dword [ecx + 0x3c]
mov eax, dword [eax + edi*8 + 0xc]
mov dword [ecx + edx*8 + 0xc], eax
push dword [ebp - 0x418]
push dword [esi + 0x48]
call fcn.004425d0
add dword [ebp - 0x43c], eax
mov eax, dword [esi + 0x10]
push dword [eax + 0x14]
call fcn.00414410
mov ecx, dword [ebx + 0x3c]
sub eax, dword [ebp - 0x484]
add dword [ecx + edi*8 + 4], eax
mov eax, dword [esi + 0x10]
push dword [eax + 0x14]
call fcn.00414410
mov ecx, dword [ebp - 0x448]
add esp, 0x10
mov edi, dword [ebp - 0x460]
dec ecx
mov dword [ebp - 0x484], eax
mov eax, dword [ebp - 0x430]
inc eax
mov dword [ebp - 0x46c], edx
mov dword [ebp - 0x430], eax
mov dword [ebp - 0x448], ecx
cmp eax, dword [ebp - 0x42c]
jne 0x441f41
inc edi
mov dword [ebp - 0x430], 0
mov dword [ebp - 0x408], 1
mov dword [ebp - 0x460], edi
cmp edi, dword [ebp - 0x424]
je 0x441f51
test ecx, ecx
jne 0x4420f9
push dword [esi + 0x60]
call fcn.0043e800
add esp, 4
push dword [ebp + 0x1c]
test eax, eax
je 0x441f9b
push dword [ebp - 0x418]
push 0
push dword [esi + 0x60]
call fcn.0043e8b0
add esp, 8
push eax
call fcn.004426c0
add esp, 8
add eax, dword [ebp - 0x43c]
adc edx, 0
add eax, dword [ebp - 0x45c]
adc edx, 0
add eax, dword [ebp + 0x14]
adc edx, dword [ebp + 0x18]
push edx
push eax
jmp 0x441fa1
push dword [ebp + 0x24]
push dword [ebp + 0x20]
call fcn.004414a0
mov edi, eax
mov dword [ebp - 0x46c], edx
sub edi, dword [ebp - 0x458]
add esp, 0xc
cmp dword [esi + 0x78], 0
mov edx, dword [ebp + 0x28]
mov dword [ebp - 0x434], edi
je 0x441fd8
mov eax, dword [ebp - 0x44c]
lea ecx, [eax + eax*2]
mov eax, dword [ebx + 0x3c]
mov dword [eax + ecx*8 + 8], edi
jmp 0x442001
test edx, edx
je 0x441ff4
cmp dword [ebp - 0x414], 1
jbe 0x441ff4
mov eax, dword [ebx + 0x38]
lea ecx, [eax + eax*2]
mov eax, dword [ebx + 0x3c]
mov dword [eax + ecx*8 - 0x28], edi
jmp 0x442001
mov eax, dword [ebx + 0x38]
lea ecx, [eax + eax*2]
mov eax, dword [ebx + 0x3c]
mov dword [eax + ecx*8 - 0x10], edi
mov eax, dword [ebp - 0x40c]
test eax, eax
je 0x442083
mov ecx, dword [ebp - 0x428]
mov eax, dword [eax + 0x3c]
lea edi, [ecx + ecx*2]
mov ecx, dword [ebp - 0x434]
add dword [eax + edi*8 + 8], ecx
mov eax, dword [esi + 0x10]
push dword [eax + 0x14]
call fcn.00414410
mov edx, dword [ebp - 0x40c]
add esp, 4
sub eax, dword [ebp - 0x41c]
mov ecx, dword [edx + 0x3c]
mov dword [ecx + edi*8 + 4], eax
mov edi, dword [ebp - 0x428]
test edi, edi
jne 0x442058
mov eax, dword [ebx + 0x28]
mov dword [edx + 0x28], eax
mov eax, dword [ebx + 0x2c]
mov dword [edx + 0x2c], eax
push dword [ebp - 0x450]
mov eax, dword [esi + 0x10]
push dword [ebp - 0x41c]
push dword [eax + 0x14]
push ebx
call fcn.00442a30
push ebx
call fcn.00430490
add esp, 0x14
xor ebx, ebx
mov dword [ebp - 0x464], ebx
jmp 0x4420bc
test edx, edx
je 0x4420b6
push dword [ebp - 0x410]
call fcn.0043e940
mov ecx, dword [esi + 0x10]
mov edi, eax
push dword [ecx + 0x14]
call fcn.00414410
dec dword [ebp - 0x414]
add esp, 8
xor ebx, ebx
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], edx
mov dword [ebp - 0x464], ebx
mov edi, dword [ebp - 0x428]
mov eax, dword [ebp - 0x43c]
add dword [ebp - 0x45c], eax
cmp dword [esi + 0x78], 0
mov dword [ebp - 0x43c], 0
mov dword [ebp - 0x430], 0
mov dword [ebp - 0x460], 0
je 0x4420f2
inc dword [esi + 0x88]
inc edi
mov dword [ebp - 0x428], edi
push dword [esi + 0x48]
call fcn.00430490
mov dword [esi + 0x48], 0
push dword [esi + 0x60]
call fcn.0043e800
add esp, 8
test eax, eax
je 0x442138
mov edi, dword [ebp - 0x418]
jmp 0x441b10
pop edi
pop esi
mov eax, 0xfffffffe
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004f01b3
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 0x34]
test edi, edi
je 0x44215b
mov eax, dword [esi + 0x10]
push 8
push dword [eax + 0x14]
call fcn.00415420
mov eax, dword [esi + 0x10]
push edi
push dword [eax + 0x14]
call fcn.00415420
add esp, 0x10
mov ecx, dword [esi + 0x78]
test ecx, ecx
je 0x4421b4
cmp dword [ebp + 0x2c], 0
je 0x442192
push dword [esi + 0x84]
mov eax, dword [esi + 0x10]
push dword [esi + 0x80]
push dword [eax + 0x14]
push ecx
call fcn.00442a30
push dword [esi + 0x78]
call fcn.00430490
add esp, 0x14
mov dword [esi + 0x78], 0
push dword [ebp - 0x488]
push esi
call fcn.00441450
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004f01b3
mov esp, ebp
pop ebp
ret
test ebx, ebx
je 0x4421d9
push dword [ebp - 0x440]
mov eax, dword [esi + 0x10]
push dword [ebp - 0x444]
push dword [eax + 0x14]
push ebx
call fcn.00442a30
push ebx
call fcn.00430490
add esp, 0x14
mov edi, dword [ebp - 0x410]
test edi, edi
je 0x4423d7
xorps xmm0, xmm0
push edi
movlpd qword [ebp - 0x470], xmm0
call fcn.0043e800
add esp, 4
cmp eax, 1
jbe 0x44238d
lea ebx, [eax - 1]
mov eax, dword [ebp - 0x46c]
mov dword [ebp - 0x468], eax
mov eax, dword [ebp - 0x470]
mov dword [ebp - 0x408], ebx
mov dword [ebp - 0x448], ebx
mov dword [ebp - 0x450], eax
nop dword [eax + eax]
lea eax, [ebx - 1]
push eax
push edi
call fcn.0043e8b0
push ebx
push dword [ebp - 0x410]
mov edi, eax
mov dword [ebp - 0x41c], edi
call fcn.0043e8b0
mov ecx, dword [ebp - 0x450]
add esp, 0x10
or ecx, dword [ebp - 0x468]
mov ebx, eax
mov dword [ebp - 0x44c], ebx
jne 0x44228f
mov eax, dword [ebx + 0x10]
push dword [ebx + 0xc]
mov dword [ebp - 0x450], eax
mov eax, dword [ebx + 0x14]
push dword [ebx + 8]
mov dword [ebp - 0x468], eax
mov eax, dword [esi + 0x10]
push dword [eax + 0x14]
push dword [ebx]
call fcn.00442a30
add esp, 0x10
mov edx, dword [edi]
mov edi, dword [ebx]
mov eax, dword [edx + 0x38]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0x3c]
lea ecx, [eax + ecx*8]
mov eax, dword [edi + 0x3c]
mov edi, dword [ebp - 0x41c]
movups xmm0, xmmword [eax]
movups xmmword [ecx - 0x18], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ecx - 8], xmm0
mov edx, dword [edi]
mov eax, dword [edx + 0x38]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0x3c]
mov dword [eax + ecx*8 - 0x18], 1
mov edx, dword [edi]
mov edi, dword [ebp - 0x450]
sub edi, dword [ebx + 8]
xor ebx, ebx
mov eax, dword [edx + 0x38]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0x3c]
mov edx, dword [ebp - 0x41c]
mov dword [eax + ecx*8 - 0x14], edi
mov edx, dword [edx]
mov eax, dword [edx + 0x38]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0x3c]
mov dword [eax + ecx*8 - 0x10], 0
mov eax, dword [ebp - 0x44c]
mov eax, dword [eax]
mov dword [ebp - 0x434], eax
cmp dword [eax + 0x38], ebx
jbe 0x44234b
xor edi, edi
mov esi, eax
mov eax, dword [ebp - 0x41c]
lea edi, [edi + 0x18]
inc ebx
mov edx, dword [eax]
mov eax, dword [edx + 0x38]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0x3c]
lea ecx, [eax + ecx*8]
mov eax, dword [esi + 0x3c]
mov eax, dword [eax + edi - 0x10]
add dword [ecx - 0x10], eax
mov eax, dword [ebp - 0x44c]
mov esi, dword [eax]
cmp ebx, dword [esi + 0x38]
jb 0x442316
mov esi, dword [ebp - 0x48c]
mov ecx, dword [ebp - 0x41c]
mov eax, dword [esi + 0x10]
push dword [ecx + 0xc]
push dword [ecx + 8]
push dword [eax + 0x14]
push dword [ecx]
call fcn.00442a30
mov ebx, dword [ebp - 0x408]
add esp, 0x10
mov edi, dword [ebp - 0x410]
dec ebx
sub dword [ebp - 0x448], 1
mov dword [ebp - 0x408], ebx
jne 0x442230
mov ebx, dword [ebp - 0x464]
push edi
call fcn.0043e800
add esp, 4
test eax, eax
je 0x4423ce
nop word [eax + eax]
push edi
call fcn.0043e940
mov edi, eax
push dword [edi]
call fcn.00430490
push edi
call fcn.004f6752
mov edi, dword [ebp - 0x410]
push edi
call fcn.0043e9f0
push edi
call fcn.0043e800
add esp, 0x14
test eax, eax
jne 0x4423a0
push edi
call fcn.0043e820
add esp, 4
mov edi, dword [ebp - 0x40c]
test edi, edi
je 0x442405
mov ebx, dword [ebp - 0x440]
mov eax, dword [esi + 0x10]
push ebx
push dword [ebp - 0x444]
push dword [eax + 0x14]
push edi
call fcn.00442a30
push edi
call fcn.00430490
add esp, 0x14
jmp 0x44240f
test ebx, ebx
je 0x44244b
mov ebx, dword [ebp - 0x440]
cmp dword [ebp + 0x28], 0
jne 0x44244b
mov ecx, dword [ebp - 0x490]
test ecx, ecx
je 0x44242a
mov eax, dword [ebp - 0x444]
mov dword [ecx], eax
mov dword [ecx + 4], ebx
mov edx, dword [ebp - 0x494]
test edx, edx
je 0x44244b
mov eax, dword [ebp - 0x47c]
mov ecx, dword [ebp - 0x474]
add eax, 0xffffffff
mov dword [edx], eax
adc ecx, 0xffffffff
mov dword [edx + 4], ecx
cmp dword [esi + 0x6c], 0
je 0x4424fa
mov eax, dword [esi + 0x10]
push dword [eax + 0x14]
call fcn.004144c0
mov ecx, dword [esi + 0x10]
mov ebx, eax
push 0
push 0
push dword [ecx + 0x14]
call fcn.00414b60
add esp, 0x10
test ebx, ebx
je 0x4424bf
mov ecx, 0x400
nop dword [eax]
cmp ebx, 0x400
mov eax, ebx
cmova eax, ecx
push eax
lea eax, [ebp - 0x404]
push eax
mov eax, dword [esi + 0x10]
push dword [eax + 0x14]
call fcn.00414680
mov ecx, dword [esi + 8]
mov edi, eax
push edi
lea eax, [ebp - 0x404]
push eax
push dword [ecx + 0x14]
call fcn.00414f70
add esp, 0x18
mov ecx, 0x400
sub ebx, edi
jne 0x442480
push dword [esi + 0x10]
call fcn.004315f0
push 0
call fcn.00431d50
add esp, 8
mov dword [esi + 0x10], eax
push dword [ebp - 0x488]
push esi
call fcn.00441450
mov eax, dword [ebp - 0x478]
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004f01b3
mov esp, ebp
pop ebp
ret
cmp dword [ebp + 0x30], 1
jne 0x442512
push dword [esi + 0x10]
call fcn.004315f0
add esp, 4
mov dword [esi + 0x10], 0
push dword [ebp - 0x488]
push esi
call fcn.00441450
mov eax, dword [ebp - 0x478]
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004f01b3
mov esp, ebp
pop ebp
ret
or eax, 0xffffffff
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004f01b3
mov esp, ebp
pop ebp
ret