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

Disassembly:
push ebp
mov ebp, ecx
push edi
push esi
push ebx
mov ebx, edx
sub esp, 0x33c
mov edi, dword [esp + 0x360]
mov ecx, dword [esp + 0x35c]
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x358]
mov edx, dword [esp + 0x380]
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 0x364]
mov dword [esp + 0x6c], ecx
mov esi, dword [esp + 0x370]
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x368]
mov dword [esp + 0x44], ecx
mov ecx, dword [0x49c308]
mov dword [esp + 0x64], edi
mov edi, dword [esp + 0x36c]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x54], edi
mov edi, dword [esp + 0x374]
mov dword [esp + 0x68], eax
mov dword [esp + 0x40], eax
call fcn.004031f0
mov edx, dword [esp + 0x378]
mov ecx, ebp
mov dword [esp + 0x50], eax
call fcn.00440f30
test ebx, ebx
je 0x442f00
add dword [ebx - 8], 8
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x44209a
mov ecx, dword [eax - 8]
lea ebx, [eax - 8]
lea edx, [ecx - 8]
mov dword [eax - 8], edx
cmp edx, 7
jbe 0x442b80
mov eax, dword [esp + 0x34]
mov dword [ebp + 0x18], eax
cmp esi, 0xffffffff
je 0x442b60
cmp edi, 0xffffffff
je 0x442b70
lea esi, [esi]
nop
mov dword [esp + 4], 0x14
mov dword [esp], 0x4a0520
call fcn.00408420
mov edx, esi
mov dword [eax], 0x4a0540
mov ebx, eax
mov ecx, eax
mov dword [esp], 0
call fcn.0043a8b0
add dword [ebx - 8], 8
mov eax, dword [ebp + 0x64]
sub esp, 4
test eax, eax
je 0x44210b
lea edx, [eax - 8]
mov dword [esp + 0x48], edx
mov edx, dword [eax - 8]
lea ecx, [edx - 8]
mov dword [eax - 8], ecx
cmp ecx, 7
jbe 0x442a40
cmp byte [esp + 0x5c], 0
mov dword [ebp + 0x64], ebx
mov dword [ebp + 0x5c], esi
mov dword [ebp + 0x60], edi
jne 0x442a72
mov eax, dword [esp + 0x54]
mov ebx, eax
and eax, 0xfffffff
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x3c]
and ebx, 0x20000000
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x34]
test eax, eax
je 0x442ca0
mov eax, dword [eax + 0x14]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x64]
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x58], eax
xor eax, eax
or edi, 0x50000000
cmp esi, 0x80000000
cmove esi, eax
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x6c]
cmp esi, 0x80000000
cmovne eax, esi
mov dword [esp + 0x44], eax
test ecx, ecx
je 0x4421af
call fcn.00464250
add eax, dword [esp + 0x40]
mov dword [esp + 0x40], eax
mov esi, edx
jo 0x442f58
add esi, dword [esp + 0x44]
mov dword [esp + 0x44], esi
jo 0x442ee0
mov eax, edi
mov ecx, dword [esp + 0x378]
and eax, 0xefffffff
test ebx, ebx
cmovne edi, eax
mov eax, dword [esp + 0x3c]
xor ebx, ebx
mov edx, eax
cmp eax, 0x80000000
mov eax, dword [esp + 0x38]
cmove edx, ebx
cmp eax, 0x80000000
cmovne ebx, eax
mov dword [esp + 0x64], edx
call fcn.00424960
mov ecx, dword [esp + 0x354]
mov dword [esp + 0x54], eax
call fcn.00424960
mov ecx, dword [esp + 0x40]
mov esi, eax
call fcn.00435ad0
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x40], eax
call fcn.00435ad0
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x44], eax
call fcn.00435ad0
mov ecx, ebx
mov dword [esp + 0x68], eax
call fcn.00435ad0
mov ecx, dword [0x49c308]
mov ebx, eax
call fcn.004031f0
mov dword [esp + 0x64], eax
call fcn.00436de0
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x2c], ebp
mov edx, dword [esp + 0x58]
mov eax, dword [ecx + 0x166c]
mov eax, dword [eax + 4]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x20], edx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x350]
mov dword [esp + 0x14], ebx
mov edx, dword [esp + 0x68]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x54]
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x18], edx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 8], esi
mov dword [esp], eax
call dword [0x49defc]
mov dword [ebp + 0x14], eax
sub esp, 0x30
test eax, eax
je 0x442bf0
mov ecx, ebp
call fcn.004649d0
mov ecx, dword [0x49c308]
call fcn.004031f0
mov ebx, eax
call fcn.00436de0
mov ecx, dword [ebx + 0x166c]
mov dword [esp], ebp
mov edx, dword [ebp + 0x14]
add ecx, 0x18
call fcn.00416030
sub esp, 4
mov eax, dword [esp + 0x34]
test eax, eax
je 0x442cd8
mov ecx, dword [eax + 0x1c]
mov edx, 0x4a0920
call fcn.00409d00
mov esi, eax
test eax, eax
je 0x4422ff
add dword [eax - 8], 8
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x44231f
mov edi, dword [eax - 8]
lea ebx, [eax - 8]
lea edx, [edi - 8]
mov dword [eax - 8], edx
cmp edx, 7
jbe 0x442bd0
mov edi, dword [esp + 0x34]
mov dword [edi + 0x1c], esi
mov ebx, dword [esi]
lea eax, [ebx + 1]
mov dword [esi], eax
mov esi, dword [edi + 0x1c]
add dword [ebp - 8], 8
mov eax, dword [esi + ebx*4 + 8]
test eax, eax
je 0x442351
mov ecx, dword [eax - 8]
lea edi, [eax - 8]
lea edx, [ecx - 8]
mov dword [eax - 8], edx
cmp edx, 7
jbe 0x442bb0
mov eax, dword [esp + 0x34]
mov dword [esi + ebx*4 + 8], ebp
mov eax, dword [eax + 0x58]
mov edx, eax
mov ecx, ebp
call fcn.004678a0
cmp dword [esp + 0x3c], 0x80000000
je 0x442e70
cmp dword [esp + 0x38], 0x80000000
je 0x442e28
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc], 2
xor edx, edx
mov ecx, ebp
mov dword [esp], 0
mov dword [esp + 8], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
call fcn.004640b0
mov eax, dword [ebp + 0x14]
sub esp, 0x10
mov dword [esp], eax
call dword [0x49dec8]
xor edx, edx
xor eax, eax
sub esp, 4
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0x43fc90
mov dword [esp + eax + 0x100], edx
add eax, 4
cmp eax, 0x20
jb 0x4423cf
lea eax, [esp + 0x100]
mov edx, dword [esp + 0x7c]
mov ecx, ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 4], edx
mov edx, 0x200
mov dword [esp], eax
call fcn.004414a0
xor edx, edx
xor eax, eax
sub esp, 0xc
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 0x43d0c0
mov dword [esp + eax + 0x120], edx
add eax, 4
cmp eax, 0x20
jb 0x442421
lea eax, [esp + 0x120]
mov edx, dword [esp + 0x84]
mov ecx, ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 4], edx
mov edx, 0x2a3
mov dword [esp], eax
call fcn.004414a0
xor edx, edx
xor eax, eax
sub esp, 0xc
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], 0x43f770
mov dword [esp + eax + 0x140], edx
add eax, 4
cmp eax, 0x20
jb 0x442479
lea eax, [esp + 0x140]
mov edx, dword [esp + 0x8c]
mov ecx, ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 4], edx
mov edx, 5
mov dword [esp], eax
call fcn.004414a0
xor edx, edx
xor eax, eax
sub esp, 0xc
mov dword [esp + 0x94], 0
mov dword [esp + 0x90], 0x43f280
mov dword [esp + eax + 0x160], edx
add eax, 4
cmp eax, 0x20
jb 0x4424d1
lea eax, [esp + 0x160]
mov edx, dword [esp + 0x94]
mov ecx, ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 4], edx
mov edx, 2
mov dword [esp], eax
call fcn.004414a0
xor edx, edx
xor eax, eax
sub esp, 0xc
mov dword [esp + 0x9c], 0
mov dword [esp + 0x98], 0x43d380
mov dword [esp + eax + 0x180], edx
add eax, 4
cmp eax, 0x20
jb 0x442529
lea eax, [esp + 0x180]
mov edx, dword [esp + 0x9c]
mov ecx, ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], edx
mov edx, 0x82
mov dword [esp], eax
call fcn.004414a0
xor edx, edx
xor eax, eax
sub esp, 0xc
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa0], 0x43d240
mov dword [esp + eax + 0x1a0], edx
add eax, 4
cmp eax, 0x20
jb 0x442581
lea eax, [esp + 0x1a0]
mov edx, dword [esp + 0xa4]
mov ecx, ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 4], edx
mov edx, 0x24
mov dword [esp], eax
call fcn.004414a0
sub esp, 0xc
cmp byte [esp + 0x5c], 0
lea ebx, [esp + 0x2e0]
je 0x442676
mov dword [esp + 0x2a4], 0
xor edx, edx
xor eax, eax
mov dword [esp + 0x2a0], 0x441e60
mov dword [ebx + eax], edx
add eax, 4
cmp eax, 0x20
jb 0x4425eb
mov eax, dword [esp + 0x2a0]
mov edx, dword [esp + 0x2a4]
mov dword [esp + 8], ebx
mov ecx, ebp
mov dword [esp], eax
mov dword [esp + 4], edx
mov edx, 0x115
call fcn.004414a0
xor edx, edx
xor eax, eax
sub esp, 0xc
mov dword [esp + 0x2c4], 0
mov dword [esp + 0x2c0], 0x441e60
mov dword [esp + eax + 0x300], edx
add eax, 4
cmp eax, 0x20
jb 0x442638
lea eax, [esp + 0x300]
mov edx, dword [esp + 0x2c4]
mov ecx, ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c0]
mov dword [esp + 4], edx
mov edx, 0x114
mov dword [esp], eax
call fcn.004414a0
sub esp, 0xc
mov dword [esp + 0xac], 0
xor edx, edx
xor eax, eax
mov dword [esp + 0xa8], 0x43f620
mov dword [esp + eax + 0x1c0], edx
add eax, 4
cmp eax, 0x20
jb 0x442690
lea eax, [esp + 0x1c0]
mov edx, dword [esp + 0xac]
mov ecx, ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 4], edx
mov edx, 0x111
mov dword [esp], eax
call fcn.00441ec0
xor edx, edx
xor eax, eax
sub esp, 0xc
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb0], 0x43d960
mov dword [esp + eax + 0x1e0], edx
add eax, 4
cmp eax, 0x20
jb 0x4426e8
lea eax, [esp + 0x1e0]
mov edx, dword [esp + 0xb4]
mov ecx, ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], edx
mov edx, 0x4e
mov dword [esp], eax
call fcn.00441ec0
xor edx, edx
xor eax, eax
sub esp, 0xc
mov dword [esp + 0xbc], 0
mov dword [esp + 0xb8], 0x43eb70
mov dword [esp + eax + 0x200], edx
add eax, 4
cmp eax, 0x20
jb 0x442740
lea eax, [esp + 0x200]
mov edx, dword [esp + 0xbc]
mov ecx, ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], edx
mov edx, 0x10
mov dword [esp], eax
call fcn.00441ec0
xor edx, edx
xor eax, eax
sub esp, 0xc
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc0], 0x43da70
mov dword [esp + eax + 0x220], edx
add eax, 4
cmp eax, 0x20
jb 0x442798
lea eax, [esp + 0x220]
mov edx, dword [esp + 0xc4]
mov ecx, ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 4], edx
mov edx, 0x135
mov dword [esp], eax
call fcn.00441ec0
xor edx, edx
xor eax, eax
sub esp, 0xc
mov dword [esp + 0xcc], 0
mov dword [esp + 0xc8], 0x43da70
mov dword [esp + eax + 0x240], edx
add eax, 4
cmp eax, 0x20
jb 0x4427f0
lea eax, [esp + 0x240]
mov edx, dword [esp + 0xcc]
mov ecx, ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], edx
mov edx, 0x133
mov dword [esp], eax
call fcn.00441ec0
xor edx, edx
xor eax, eax
sub esp, 0xc
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd0], 0x43da70
mov dword [esp + eax + 0x260], edx
add eax, 4
cmp eax, 0x20
jb 0x442848
lea eax, [esp + 0x260]
mov edx, dword [esp + 0xd4]
mov ecx, ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 4], edx
mov edx, 0x138
mov dword [esp], eax
call fcn.00441ec0
xor edx, edx
xor eax, eax
sub esp, 0xc
mov dword [esp + 0xdc], 0
mov dword [esp + 0xd8], 0x43da70
mov dword [esp + eax + 0x280], edx
add eax, 4
cmp eax, 0x20
jb 0x4428a0
lea eax, [esp + 0x280]
mov edx, dword [esp + 0xdc]
mov ecx, ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 4], edx
mov edx, 0x134
mov dword [esp], eax
call fcn.00441ec0
xor ecx, ecx
xor eax, eax
sub esp, 0xc
mov dword [esp + 0xe4], 0
lea edx, [esp + 0x2a0]
mov dword [esp + 0xe0], 0x43d0d0
mov dword [edx + eax], ecx
add eax, 4
cmp eax, 0x20
jb 0x4428ff
mov eax, dword [esp + 0xe0]
mov dword [esp + 8], edx
mov ecx, ebp
mov edx, dword [esp + 0xe4]
mov dword [esp], eax
mov dword [esp + 4], edx
mov edx, 0x14
call fcn.00441ec0
xor ecx, ecx
xor eax, eax
sub esp, 0xc
mov dword [esp + 0xec], 0
lea edx, [esp + 0x2c0]
mov dword [esp + 0xe8], 0x43ec00
mov dword [edx + eax], ecx
add eax, 4
cmp eax, 0x20
jb 0x442953
mov eax, dword [esp + 0xe8]
mov dword [esp + 8], edx
mov ecx, ebp
mov edx, dword [esp + 0xec]
mov dword [esp], eax
mov dword [esp + 4], edx
mov edx, 0x20
call fcn.00441ec0
xor edx, edx
xor eax, eax
sub esp, 0xc
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf0], 0x43f9b0
mov dword [ebx + eax], edx
add eax, 4
cmp eax, 0x20
jb 0x4429a0
mov eax, dword [esp + 0xf0]
mov edx, dword [esp + 0xf4]
mov dword [esp + 8], ebx
mov ecx, ebp
mov dword [esp], eax
mov dword [esp + 4], edx
mov edx, 0x126
call fcn.00441ec0
xor edx, edx
xor eax, eax
sub esp, 0xc
mov dword [esp + 0xfc], 0
mov dword [esp + 0xf8], 0x43f9b0
mov dword [esp + eax + 0x300], edx
add eax, 4
cmp eax, 0x20
jb 0x4429ed
lea eax, [esp + 0x300]
mov edx, dword [esp + 0xfc]
mov ecx, ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 4], edx
mov edx, 0x122
mov dword [esp], eax
call fcn.00441ec0
sub esp, 0xc
add esp, 0x33c
pop ebx
pop esi
pop edi
pop ebp
ret 0x34
mov ecx, dword [0x49c308]
call fcn.004031f0
mov edx, dword [esp + 0x48]
add eax, 0x2c
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00405190
cmp byte [esp + 0x5c], 0
mov dword [ebp + 0x64], ebx
mov dword [ebp + 0x5c], esi
mov dword [ebp + 0x60], edi
je 0x44211f
xor eax, eax
lea edi, [esp + 0x300]
mov ecx, 0xc
mov byte [ebp + 0x28], 1
rep stosd dword es:[edi], eax
mov ecx, 0x30
call fcn.00435ad0
mov ecx, dword [0x49c308]
mov dword [esp + 0x304], 0xb
mov dword [esp + 0x300], eax
mov dword [esp + 0x308], 0x43f4a0
call fcn.004031f0
mov ebx, eax
call fcn.00436de0
mov eax, dword [ebx + 0x166c]
mov eax, dword [eax + 4]
mov dword [esp + 4], 0x7f00
mov dword [esp], 0
mov dword [esp + 0x314], eax
call dword [0x49dee0]
sub esp, 8
mov ecx, dword [esp + 0x378]
mov dword [esp + 0x31c], eax
call fcn.00424960
lea ecx, [esp + 0x300]
mov dword [esp + 0x328], eax
call fcn.0041f730
mov dword [esp], eax
call dword [0x49dedc]
movzx ebx, ax
sub esp, 4
test bx, bx
je 0x44211f
mov ecx, dword [0x49c308]
call fcn.004031f0
mov esi, eax
call fcn.00436de0
mov ecx, dword [esi + 0x166c]
mov dword [esp], ebx
mov edx, dword [esp + 0x378]
add ecx, 8
call fcn.004156c0
sub esp, 4
jmp 0x44211f
mov eax, dword [esp + 0x34]
mov esi, dword [eax + 0x5c]
cmp edi, 0xffffffff
jne 0x4420b8
mov eax, dword [esp + 0x34]
mov edi, dword [eax + 0x60]
jmp 0x4420b8
mov ecx, dword [0x49c308]
call fcn.004031f0
mov dword [esp + 4], ebx
add eax, 0x2c
mov dword [esp], eax
call fcn.00405190
mov eax, dword [esp + 0x34]
mov dword [ebp + 0x18], eax
cmp esi, 0xffffffff
jne 0x4420aa
jmp 0x442b60
mov ecx, dword [0x49c308]
call fcn.004031f0
mov dword [esp + 4], edi
add eax, 0x2c
mov dword [esp], eax
call fcn.00405190
jmp 0x442351
mov ecx, dword [0x49c308]
call fcn.004031f0
mov dword [esp + 4], ebx
add eax, 0x2c
mov dword [esp], eax
call fcn.00405190
jmp 0x44231f
mov dword [esp + 4], 0x18
mov dword [esp], 0x4a2dc0
call fcn.00408420
mov ecx, 0x477c60
mov dword [eax], 0x4a2de0
mov esi, dword [eax + 0xc]
mov ebx, eax
mov dword [eax + 8], str.wWindowError
call fcn.00408260
mov dword [ebx + 0xc], eax
test esi, esi
je 0x442c3c
mov eax, dword [esi - 8]
lea edi, [esi - 8]
sub eax, 8
mov dword [esi - 8], eax
cmp eax, 7
jbe 0x442ec0
mov eax, dword [ebx + 4]
test eax, eax
je 0x442c6e
mov edi, dword [eax - 8]
lea esi, [eax - 8]
lea edx, [edi - 8]
mov dword [eax - 8], edx
cmp edx, 7
ja 0x442c6e
mov ecx, dword [0x49c308]
call fcn.004031f0
mov dword [esp + 4], esi
add eax, 0x2c
mov dword [esp], eax
call fcn.00405190
mov dword [ebx + 4], 0
mov edx, str.wWindowError
mov ecx, ebx
mov dword [esp + 8], 0x953
mov dword [esp + 4], str.wWindow.nim
mov dword [esp], str.initVerbosely
call fcn.004099c0
sub esp, 0xc
jmp 0x4422ac
mov edi, dword [esp + 0x37c]
test edi, edi
je 0x443050
mov eax, dword [esp + 0x37c]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x64]
and eax, 0xedffffff
or eax, 0x2000000
mov edi, eax
jmp 0x4421af
mov ecx, dword [0x49c308]
call fcn.004031f0
mov ebx, eax
call fcn.00436de0
mov ecx, dword [ebx + 0x166c]
mov dword [esp], ebp
mov edx, dword [ebp + 0x14]
add ecx, 0x10
call fcn.00416030
sub esp, 4
call fcn.00436de0
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0x166c]
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x442d21
mov eax, dword [ecx]
test eax, eax
jg 0x442ef0
mov dword [esp], 1
mov edx, 0x4a02e0
call fcn.0040b370
sub esp, 4
mov ebx, eax
mov eax, dword [esp + 0x50]
mov esi, dword [eax + 0x166c]
test ebx, ebx
je 0x442d49
add dword [ebx - 8], 8
mov eax, dword [esi + 0x28]
test eax, eax
je 0x442d7b
mov edx, dword [eax - 8]
lea edi, [eax - 8]
sub edx, 8
mov dword [eax - 8], edx
cmp edx, 7
ja 0x442d7b
mov ecx, dword [0x49c308]
call fcn.004031f0
mov dword [esp + 4], edi
add eax, 0x2c
mov dword [esp], eax
call fcn.00405190
mov eax, dword [esp + 0x50]
mov dword [esi + 0x28], ebx
mov eax, dword [eax + 0x166c]
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x442d99
mov eax, dword [ecx]
test eax, eax
jne 0x442ef0
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0
call fcn.0040a570
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0x166c]
mov ecx, dword [eax + 0x28]
mov esi, dword [ecx + 8]
mov eax, dword [ecx]
test esi, esi
je 0x442f68
test eax, eax
jne 0x442ef7
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0
call fcn.0040a570
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0x166c]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 8]
test eax, eax
je 0x44235c
mov ecx, dword [eax]
mov edx, 0x4a0580
call fcn.0040bbe0
test al, al
je 0x443100
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0x166c]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 8]
jmp 0x44235c
mov ecx, ebp
call fcn.00463190
mov dword [esp + 0x48], edx
cmp dword [esp + 0x48], 0x80000000
jne 0x442381
mov dword [esp], 0
mov edx, ebp
lea ecx, [esp + 0x300]
call fcn.00463f70
sub esp, 4
mov eax, dword [esp + 0x30c]
mov dword [esp + 0x48], eax
jmp 0x442381
mov ecx, ebp
call fcn.00463190
cmp dword [esp + 0x38], 0x80000000
mov dword [esp + 0x4c], eax
je 0x443129
cmp dword [esp + 0x4c], 0x80000000
jne 0x442381
mov dword [esp], 0
mov edx, ebp
lea ecx, [esp + 0x300]
call fcn.00463f70
sub esp, 4
mov eax, dword [esp + 0x308]
mov dword [esp + 0x4c], eax
jmp 0x442381
mov ecx, dword [0x49c308]
call fcn.004031f0
mov dword [esp + 4], edi
add eax, 0x2c
mov dword [esp], eax
call fcn.00405190
jmp 0x442c3c
call fcn.00409ba0
jmp 0x4421af
mov edx, dword [ecx + 8]
test edx, edx
je 0x442f68
mov eax, dword [ecx + 8]
jmp 0x442dfb
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x442f39
mov edx, dword [eax - 8]
lea ebx, [eax - 8]
sub edx, 8
mov dword [eax - 8], edx
cmp edx, 7
ja 0x442f32
mov ecx, dword [0x49c308]
call fcn.004031f0
mov dword [esp + 4], ebx
add eax, 0x2c
mov dword [esp], eax
call fcn.00405190
mov dword [ebp + 0x18], 0
cmp esi, 0xffffffff
mov eax, 0xffffff
cmove esi, eax
xor eax, eax
cmp edi, 0xffffffff
cmove edi, eax
jmp 0x4420b8
call fcn.00409ba0
jmp 0x4421a1
test eax, eax
je 0x443110
mov dword [esp + 4], 0x30
mov dword [esp], 0x4a0560
call fcn.00408420
fld qword [0x477d28]
xor edx, edx
mov dword [eax], 0x4a0580
mov ecx, eax
mov ebx, eax
mov dword [esp + 0x1c], 1
fmul st(0)
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fmul dword [0x477d30]
mov dword [esp + 8], 0x190
fstp qword [esp]
call fcn.0043a260
sub esp, 0x20
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0x166c]
mov esi, dword [eax + 0x28]
add dword [ebx - 8], 8
mov eax, dword [esi + 8]
test eax, eax
je 0x443024
mov edx, dword [eax - 8]
lea edi, [eax - 8]
sub edx, 8
mov dword [eax - 8], edx
cmp edx, 7
ja 0x443024
mov ecx, dword [0x49c308]
call fcn.004031f0
mov dword [esp + 4], edi
add eax, 0x2c
mov dword [esp], eax
call fcn.00405190
mov eax, dword [esp + 0x50]
mov dword [esi + 8], ebx
mov eax, dword [eax + 0x166c]
mov eax, dword [eax + 0x28]
test eax, eax
je 0x442dcf
mov ebx, dword [eax]
test ebx, ebx
je 0x442dcf
jmp 0x442df0
mov dword [esp + 0x58], 0
test dword [esp + 0x54], 0x10000000
je 0x442cbd
mov ecx, dword [esp + 0x378]
call fcn.00424960
mov ecx, dword [0x49c308]
mov esi, eax
call fcn.004031f0
mov edi, eax
call fcn.00436de0
mov dword [esp + 0x2c], 0
mov eax, dword [edi + 0x166c]
mov eax, dword [eax + 4]
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], esi
mov dword [esp], pe_nt_image_headers32
call dword [0x49defc]
sub esp, 0x30
mov dword [ebp + 0x90], eax
mov dword [esp + 0x58], eax
jmp 0x442cbd
call fcn.0040bc10
jmp 0x442e0f
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0
call fcn.0040a570
jmp 0x442f70
cmp dword [esp + 0x4c], 0x80000000
mov dword [esp + 0x48], edx
jne 0x442e33
mov dword [esp], 0
lea ecx, [esp + 0x300]
mov edx, ebp
call fcn.00463f70
push ecx
mov eax, dword [esp + 0x308]
cmp dword [esp + 0x48], 0x80000000
mov dword [esp + 0x4c], eax
jne 0x442381
jmp 0x442e59