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

Disassembly:
sub esp, 0x4c
mov eax, dword [esp + 0x50]
push ebx
mov ebx, dword [esp + 0x60]
push ebp
push esi
push edi
mov edi, dword [eax]
xor ebp, ebp
mov eax, dword [esp + 0x64]
push ebx
push 0x45b364
push edi
mov dword [esp + 0x24], 0
lea esi, [eax + eax*8]
mov dword [esp + 0x28], edi
mov byte [esp + 0x1f], 0
call fcn.00430890
mov eax, dword [esp + 0x7c]
add esp, 0xc
mov dword [eax], ebp
mov eax, dword [esp + 0x60]
cmp dword [eax + esi*8 + 0x1a4], ebp
jne 0x443e41
push 0x1000
mov dword [eax + esi*8 + 0x19c], ebp
mov dword [eax + esi*8 + 0x194], 0x1000
call dword [0x5fa2a4]
mov ecx, dword [esp + 0x64]
add esp, 4
mov dword [ecx + esi*8 + 0x1a4], eax
test eax, eax
jne 0x443e3f
push 0x45ac84
push edi
call fcn.004307c0
mov eax, dword [esp + 0x78]
add esp, 8
pop edi
pop esi
pop ebp
mov dword [eax], 0x1b
or eax, 0xffffffff
pop ebx
add esp, 0x4c
ret
mov eax, ecx
mov ecx, dword [eax + esi*8 + 0x190]
mov edx, dword [eax + esi*8 + 0x198]
mov eax, ecx
sub eax, edx
cmp eax, 0x400
jb 0x443e5e
cmp ecx, ebx
jae 0x443eaa
lea eax, [edx + 0x400]
mov dword [esp + 0x14], eax
cmp eax, ebx
jae 0x443e72
mov eax, ebx
mov dword [esp + 0x14], ebx
push eax
mov eax, dword [esp + 0x64]
push dword [eax + esi*8 + 0x1a0]
call dword [0x5fa2ac]
add esp, 8
test eax, eax
jne 0x443e92
push 0x45aeac
jmp 0x443e21
mov ecx, dword [esp + 0x60]
mov dword [ecx + esi*8 + 0x1a0], eax
mov eax, dword [esp + 0x14]
mov dword [ecx + esi*8 + 0x190], eax
jmp 0x443eae
mov ecx, dword [esp + 0x60]
push dword [ecx + esi*8 + 0x190]
push dword [ecx + esi*8 + 0x198]
push 0x45af54
push edi
call fcn.00430890
mov edx, dword [esp + 0x70]
add esp, 0x10
mov eax, dword [edx + esi*8 + 0x190]
mov ecx, dword [edx + esi*8 + 0x198]
sub eax, ecx
je 0x443f3f
lea ebx, [esp + 0x18]
push ebx
push eax
mov eax, dword [edx + esi*8 + 0x1a0]
add eax, ecx
push eax
mov eax, dword [esp + 0x70]
push dword [edx + eax*4 + 0x144]
call fcn.00430a70
mov ecx, dword [esp + 0x80]
add esp, 0x10
mov dword [ecx], eax
test eax, eax
je 0x443f15
or eax, 0xffffffff
jmp 0x443f28
mov eax, dword [esp + 0x18]
test eax, eax
jle 0x443f28
mov ecx, dword [esp + 0x60]
add dword [ecx + esi*8 + 0x198], eax
push eax
push 0x45b390
push edi
call fcn.00430890
mov ebx, dword [esp + 0x78]
add esp, 0xc
mov edx, dword [esp + 0x60]
push dword [edx + esi*8 + 0x190]
push dword [edx + esi*8 + 0x198]
push 0x45af54
push edi
call fcn.00430890
mov eax, dword [esp + 0x70]
add esp, 0x10
cmp dword [eax + esi*8 + 0x198], ebp
jbe 0x444222
lea esp, [esp]
test ebp, ebp
jne 0x444222
cmp dword [eax + esi*8 + 0x19c], ebx
jae 0x444222
push dword [eax + esi*8 + 0x198]
call fcn.0043f310
mov ecx, dword [esp + 0x64]
add esp, 4
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], 1
mov dword [esp + 0x38], ebp
mov eax, dword [ecx + esi*8 + 0x1a0]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x2c]
push ebp
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x24]
push ebp
push eax
mov eax, dword [0x5fc5fc]
push dword [ecx + esi*8 + 0x174]
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], ebp
mov dword [esp + 0x58], ebp
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x60], ebp
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], ebp
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], 4
mov eax, dword [eax + 0x68]
call eax
mov ebp, eax
cmp ebp, 0x80090318
je 0x4442f8
test ebp, ebp
je 0x444025
cmp ebp, 0x90321
je 0x444025
cmp ebp, 0x90317
jne 0x4441b6
cmp dword [esp + 0x3c], 1
jne 0x444127
push dword [esp + 0x38]
push 0x45b3e8
push edi
call fcn.00430890
mov ebx, dword [esp + 0x44]
add esp, 0xc
mov ecx, ebx
cmp ebx, 0x400
ja 0x444055
mov ecx, 0x400
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x60]
mov edx, dword [eax + esi*8 + 0x194]
mov eax, edx
sub eax, dword [edi + esi*8 + 0x19c]
mov edi, dword [esp + 0x1c]
cmp eax, ecx
mov eax, dword [esp + 0x6c]
jb 0x44407d
cmp edx, eax
jae 0x4440c5
mov ebx, dword [esp + 0x60]
mov ebx, dword [ebx + esi*8 + 0x19c]
add ebx, ecx
cmp ebx, eax
jae 0x444090
mov ebx, eax
mov eax, dword [esp + 0x60]
push ebx
push dword [eax + esi*8 + 0x1a4]
call dword [0x5fa2ac]
add esp, 8
test eax, eax
je 0x443e8b
mov ecx, dword [esp + 0x60]
mov dword [ecx + esi*8 + 0x194], ebx
mov ebx, dword [esp + 0x38]
mov dword [ecx + esi*8 + 0x1a4], eax
jmp 0x4440c9
mov ecx, dword [esp + 0x60]
test ebx, ebx
je 0x4440f4
mov eax, dword [ecx + esi*8 + 0x1a4]
add eax, dword [ecx + esi*8 + 0x19c]
push ebx
push dword [esp + 0x44]
push eax
call sub.MSVCRT.dll_memcpy
mov eax, dword [esp + 0x6c]
add esp, 0xc
add dword [eax + esi*8 + 0x19c], ebx
push ebx
push 0x45b410
push edi
call fcn.00430890
mov eax, dword [esp + 0x6c]
push dword [eax + esi*8 + 0x194]
push dword [eax + esi*8 + 0x19c]
push 0x45b438
push edi
call fcn.00430890
mov ebx, dword [esp + 0x88]
add esp, 0x1c
cmp dword [esp + 0x54], 5
jne 0x4441a7
mov eax, dword [esp + 0x50]
test eax, eax
je 0x4441a7
push eax
push 0x45b080
push edi
call fcn.00430890
mov eax, dword [esp + 0x6c]
add esp, 0xc
mov edx, dword [esp + 0x50]
cmp dword [eax + esi*8 + 0x198], edx
jbe 0x444189
mov ecx, dword [eax + esi*8 + 0x1a0]
mov eax, ecx
push edx
sub eax, edx
mov edx, dword [esp + 0x64]
add eax, dword [edx + esi*8 + 0x198]
push eax
push ecx
call dword [sym.imp.MSVCRT.dll_memmove]
mov ecx, dword [esp + 0x6c]
add esp, 0xc
mov eax, dword [esp + 0x50]
mov dword [ecx + esi*8 + 0x198], eax
mov eax, ecx
push dword [eax + esi*8 + 0x190]
push dword [eax + esi*8 + 0x198]
push 0x45b470
push edi
call fcn.00430890
add esp, 0x10
jmp 0x4441b6
mov eax, dword [esp + 0x60]
mov dword [eax + esi*8 + 0x198], 0
cmp ebp, 0x90321
jne 0x444210
push 0x45b4a8
push edi
call fcn.00430890
push 0x45b4e0
push edi
call fcn.00430890
mov eax, dword [esp + 0x70]
lea ecx, [esp + 0x23]
push ecx
push 0
push dword [esp + 0x7c]
mov dword [eax + esi*8 + 0x16c], 1
push eax
mov dword [eax + esi*8 + 0x18c], 3
call fcn.00443240
add esp, 0x20
test eax, eax
je 0x4442cc
mov ecx, dword [esp + 0x70]
mov dword [ecx], eax
mov eax, dword [esp + 0x60]
cmp dword [eax + esi*8 + 0x198], 0
ja 0x443f70
push dword [eax + esi*8 + 0x194]
push dword [eax + esi*8 + 0x19c]
push 0x45b538
push edi
call fcn.00430890
mov ecx, dword [esp + 0x70]
add esp, 0x10
mov eax, dword [ecx + esi*8 + 0x19c]
cmp ebx, eax
jb 0x44424f
mov ebx, eax
test ebx, ebx
je 0x44431b
push ebx
push dword [ecx + esi*8 + 0x1a4]
push dword [esp + 0x70]
call sub.MSVCRT.dll_memcpy
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + esi*8 + 0x1a4]
mov eax, dword [eax + esi*8 + 0x19c]
sub eax, ebx
push eax
lea eax, [ecx + ebx]
push eax
push ecx
call dword [sym.imp.MSVCRT.dll_memmove]
mov eax, dword [esp + 0x78]
push ebx
push 0x45b570
push edi
sub dword [eax + esi*8 + 0x19c], ebx
call fcn.00430890
mov eax, dword [esp + 0x84]
push dword [eax + esi*8 + 0x194]
push dword [eax + esi*8 + 0x19c]
push 0x45b538
push edi
call fcn.00430890
add esp, 0x34
test ebx, ebx
jg 0x444340
mov ecx, dword [esp + 0x60]
jmp 0x44431d
push 0x45b50c
push edi
call fcn.00430890
push dword [esp + 0x78]
push ebx
push dword [esp + 0x78]
push dword [esp + 0x78]
push dword [esp + 0x78]
call fcn.00443da0
add esp, 0x1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
push 0x45b3b4
push edi
call fcn.00430890
mov eax, dword [esp + 0x78]
add esp, 8
pop edi
pop esi
pop ebp
mov dword [eax], 0x51
or eax, 0xffffffff
pop ebx
add esp, 0x4c
ret
xor ebx, ebx
cmp ebp, 0x90317
je 0x444381
test ebp, ebp
jne 0x44433e
cmp dword [ecx + esi*8 + 0x198], ebp
jbe 0x44433e
mov eax, dword [ecx + esi*8 + 0x1a0]
cmp byte [eax], 0x15
je 0x444381
test ebx, ebx
jns 0x444377
test ebp, ebp
je 0x444377
push ebp
push dword [esp + 0x64]
call fcn.00444ac0
push eax
push 0x45b5c0
push edi
call fcn.00430890
mov eax, dword [esp + 0x84]
add esp, 0x14
pop edi
pop esi
pop ebp
mov dword [eax], 0x38
or eax, 0xffffffff
pop ebx
add esp, 0x4c
ret
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x4c
ret
push 0x45b598
push edi
call fcn.00430890
mov eax, dword [esp + 0x78]
add esp, 8
pop edi
pop esi
pop ebp
mov dword [eax], 0
xor eax, eax
pop ebx
add esp, 0x4c
ret