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

Disassembly:
mov ecx, dword [0x56ae44]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x14]
cmp eax, dword [ecx + 8]
jbe 0x43ddae
sub esp, 0x94
mov ecx, dword [0x56ae44]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x58]
mov dword [esp + 0x90], ecx
mov edx, dword [esp + 0x98]
mov ebx, dword [esp + 0x9c]
xor eax, eax
xor ebp, ebp
xor esi, esi
xor edi, edi
jmp 0x43d85e
lea eax, [ebp + 1]
mov edx, dword [esp + 0x74]
mov esi, dword [esp + 0x70]
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x88]
mov ecx, dword [esp + 0x90]
cmp eax, 4
jge 0x43d94f
mov dword [esp + 0x88], ebp
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], ebx
mov ecx, dword [0x56ae44]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x18]
mov edx, dword [ecx + 0x448]
mov dword [esp + 0x34], edx
mov ebx, dword [ecx + 0x44c]
shl edx, 0x11
mov ebp, dword [esp + 0x34]
xor edx, ebp
mov ebp, ebx
xor ebx, edx
shr edx, 7
xor edx, ebx
mov ebx, ebp
shr ebp, 0x10
xor ebp, edx
mov dword [ecx + 0x448], ebx
mov dword [ecx + 0x44c], ebp
mov ecx, dword [0x54c450]
lea edx, [ebx + ebp]
test ecx, ecx
je 0x43dda8
mov dword [esp + 0x28], edx
mov ebx, dword [0x54c458]
mov ebp, eax
mov eax, edx
xor edx, edx
div ecx
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x28]
xor edx, edx
div ecx
test ebx, ebx
je 0x43dda3
mov dword [esp + 0x7c], ebp
xor edx, edx
div ebx
mov eax, dword [0x54c454]
mov eax, dword [eax + edx*4]
cmp ebp, 3
sete dl
mov byte [esp + 0x20], dl
mov ebx, dword [esp + 0x84]
mov dword [esp + 0x60], eax
mov eax, 1
mov byte [esp + 0x23], al
mov eax, dword [esp + 0x60]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x84], eax
mov dword [esp + 0x50], ecx
xor ecx, ecx
mov dword [esp + 0x78], ecx
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x50]
jmp 0x43d9dc
mov dword [esp + 0xa0], 0
mov byte [esp + 0xa4], 0
mov dword [esp + 0xa8], edx
mov dword [esp + 0xac], ebx
mov dword [esp + 0xb0], esi
mov dword [esp + 0xb4], ebp
xchg edi, eax
mov byte [esp + 0xb8], al
xchg edi, eax
add esp, 0x94
ret
mov dword [esp + 0x88], eax
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x78], edi
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x80], eax
mov edi, esi
mov dword [esp + 0x88], ecx
mov esi, ebp
mov eax, dword [esp + 0x48]
mov ebp, dword [esp + 0x7c]
mov ecx, edx
movzx edx, byte [esp + 0x20]
mov dword [esp + 0x74], ebx
mov dword [esp + 0x70], esi
mov edx, dword [esp + 0x78]
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], ecx
mov ebx, dword [esp + 0x84]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], eax
movzx esi, byte [esp + 0x23]
xchg esi, eax
test al, al
xchg esi, eax
je 0x43da0e
xor esi, esi
jmp 0x43da25
inc edx
mov dword [esp + 0x38], edx
add eax, ebx
test ecx, ecx
je 0x43dd9e
xor edx, edx
div ecx
mov dword [esp + 0x40], edx
mov ecx, dword [esp + 0x38]
cmp dword [esp + 0x3c], ecx
je 0x43d83e
xchg edi, eax
mov byte [esp + 0x21], al
xchg edi, eax
xchg esi, eax
mov byte [esp + 0x23], al
xchg esi, eax
lea eax, [0x54d514]
mov dword [esp], eax
call fcn.0046fc80
movzx eax, byte [esp + 4]
test al, al
jne 0x43dd45
mov ecx, dword [0x54c3cc]
mov eax, dword [esp + 0x40]
cmp eax, ecx
jae 0x43dd99
mov ecx, dword [0x54c3c8]
mov ecx, dword [ecx + eax*4]
mov edx, dword [esp + 0x90]
cmp edx, ecx
jne 0x43daa0
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x88]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x70]
movzx esi, byte [esp + 0x21]
jmp 0x43d98e
mov dword [esp + 0x8c], ecx
mov ebx, dword [esp + 0x7c]
cmp ebx, 3
je 0x43dab4
xor eax, eax
jmp 0x43daf1
mov ecx, dword [0x54c3e8]
mov edx, dword [0x54c3ec]
mov ebx, dword [0x54c3f0]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.00443ff0
movzx eax, byte [esp + 0x10]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x7c]
test al, al
jne 0x43db15
mov ebp, dword [esp + 0x80]
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
movzx edx, byte [esp + 0x21]
jmp 0x43dbf7
test byte [ecx], al
lea eax, [ecx + 0x1198]
mov dword [esp], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 8], eax
call fcn.00450f10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
setne dl
test ecx, ecx
setne bl
or ebx, edx
test bl, bl
je 0x43db94
mov edx, dword [esp + 0x88]
test edx, edx
sete bl
mov ebp, dword [esp + 0x70]
test ebp, ebp
xchg esi, ebx
sete bl
xchg esi, ebx
and ebx, esi
test bl, bl
jne 0x43db9f
cmp edx, ecx
setg bl
xchg esi, ebx
sete bl
xchg esi, ebx
cmp ebp, eax
xchg edi, ebx
seta bl
xchg edi, ebx
and edi, esi
or edi, ebx
xchg edi, eax
test al, al
xchg edi, eax
jne 0x43db9f
mov ecx, edx
mov eax, ebp
jmp 0x43db9f
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0x70]
movzx edx, byte [esp + 0x1c]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
test dl, dl
jne 0x43dbb7
movzx edx, byte [esp + 0x21]
jmp 0x43dbf7
mov dword [esp + 0x6c], eax
mov dword [esp + 0x30], ebp
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x68], ecx
mov eax, dword [esp + 0x90]
mov dword [esp], eax
call fcn.00444920
mov eax, dword [esp + 4]
test eax, eax
jne 0x43dcf3
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x30]
mov edx, 1
mov dword [esp + 0x88], ebp
mov dword [esp + 0x84], eax
mov dword [esp + 0x80], ecx
mov byte [esp + 0x22], dl
mov dword [esp + 0x78], ebx
mov esi, dword [0x54c3d8]
mov edi, dword [0x54c3dc]
mov eax, dword [0x54c3e0]
mov ecx, dword [esp + 0x40]
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.00443ff0
movzx eax, byte [esp + 0x10]
test al, al
jne 0x43dc72
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov ecx, dword [esp + 0x8c]
mov dword [esp + 4], ecx
movzx ecx, byte [esp + 0x20]
mov byte [esp + 8], cl
call fcn.00444cf0
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x43dc9c
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x84]
movzx esi, byte [esp + 0x22]
jmp 0x43d98e
mov dword [esp + 0xa0], eax
mov byte [esp + 0xa4], 0
mov eax, dword [esp + 0x78]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0xb4], eax
movzx eax, byte [esp + 0x22]
mov byte [esp + 0xb8], al
add esp, 0x94
ret
movzx ecx, byte [esp + 8]
mov dword [esp + 0xa0], eax
mov byte [esp + 0xa4], cl
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xb4], eax
movzx eax, byte [esp + 0x21]
mov byte [esp + 0xb8], al
add esp, 0x94
ret
mov dword [esp + 0xa0], 0
mov byte [esp + 0xa4], 0
mov eax, dword [esp + 0x74]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0xb4], eax
mov byte [esp + 0xb8], 1
add esp, 0x94
ret
call fcn.0046b840
call fcn.004339c0
call fcn.004339c0
call fcn.004339c0
nop
call fcn.0046a3b0
jmp fcn.0043d7f0