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

Disassembly:
sub esp, 0x14
push ebx
push ebp
push esi
mov esi, dword [esp + 0x40]
push edi
mov edi, eax
cmp byte [edi + 0x42], 4
mov ebx, dword [edi]
mov eax, dword [ebx + 4]
mov dword [esp + 0x18], esi
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
jne 0x43c2a3
mov eax, dword [edi + 0x3c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
test byte [edi + 0x40], 0x20
je 0x43c2bb
mov ecx, dword [edi + 0x34]
mov edx, edi
call fcn.00434ae0
test eax, eax
jne 0x43c489
cmp dword [edi + 0x48], 0
mov ebp, dword [esp + 0x30]
jne 0x43c33a
mov eax, dword [esp + 0x2c]
push ebp
push eax
xor esi, esi
mov ecx, ebx
call fcn.00434990
add esp, 8
test byte [edi + 0x40], 2
je 0x43c30c
test ebp, ebp
jl 0x43c30c
jg 0x43c2e9
cmp dword [esp + 0x2c], esi
jbe 0x43c30c
mov eax, dword [esp + 0x2c]
mov edx, dword [edi + 0x10]
sub eax, 1
mov ecx, ebp
sbb ecx, esi
cmp edx, eax
jne 0x43c30c
mov eax, dword [edi + 0x14]
cmp eax, ecx
jne 0x43c30c
mov dword [esp + 0x18], 0xffffffff
jmp 0x43c365
cmp dword [esp + 0x44], esi
jne 0x43c365
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0x18]
push ecx
push edx
push ebp
push eax
push 0
mov eax, edi
call fcn.00438d30
add esp, 0x14
test eax, eax
je 0x43c365
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
test esi, esi
jne 0x43c365
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x2c]
push edx
push ebp
push eax
push ecx
mov ebx, edi
call fcn.00434bc0
add esp, 0x14
test eax, eax
jne 0x43c489
movsx edx, byte [edi + 0x44]
mov ebx, dword [edi + edx*4 + 0x78]
mov eax, dword [esp + 0x1c]
mov esi, dword [eax + 0x50]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x38]
push edx
mov edx, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x34]
push ecx
push ebp
push edx
push eax
push esi
mov eax, ebx
mov dword [esp + 0x3c], esi
call fcn.00439ec0
add esp, 0x20
mov dword [esp + 0x14], eax
test eax, eax
jne 0x43c489
movsx ecx, byte [edi + 0x44]
movzx ebp, word [edi + ecx*2 + 0x50]
lea eax, [edi + ecx*2 + 0x50]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x43c42f
mov esi, dword [ebx + 0x48]
call fcn.00431310
test eax, eax
jne 0x43c489
mov edx, dword [ebx + 0x40]
mov ax, word [edx + ebp*2]
movzx edx, word [ebx + 0x14]
mov ch, al
mov cl, ah
movzx eax, cx
and eax, edx
add eax, dword [ebx + 0x38]
cmp byte [ebx + 4], 0
jne 0x43c3f8
mov ecx, dword [eax]
mov edx, dword [esp + 0x1c]
mov dword [edx], ecx
lea ecx, [esp + 0x44]
push ecx
mov ecx, ebx
call fcn.00439d30
add esp, 4
mov dword [esp + 0x14], eax
movzx eax, word [esp + 0x44]
lea edx, [esp + 0x14]
push edx
push eax
push ebp
mov esi, ebx
call fcn.0043a1b0
mov eax, dword [esp + 0x20]
add esp, 0xc
test eax, eax
jne 0x43c489
mov esi, dword [esp + 0x1c]
jmp 0x43c444
jge 0x43c444
cmp word [ebx + 0x12], 0
jbe 0x43c444
inc word [eax]
movsx ecx, byte [edi + 0x44]
movzx ebp, word [edi + ecx*2 + 0x50]
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x14]
push edx
push 0
push eax
push esi
push ebp
push ebx
xor eax, eax
call fcn.0043a300
mov eax, dword [esp + 0x2c]
xor ecx, ecx
add esp, 0x18
mov word [edi + 0x22], cx
test eax, eax
jne 0x43c489
cmp byte [ebx + 1], al
je 0x43c489
and byte [edi + 0x40], 0xfd
call fcn.0043c0a0
movsx edx, byte [edi + 0x44]
mov ecx, dword [edi + edx*4 + 0x78]
mov byte [ecx + 1], 0
mov byte [edi + 0x42], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret