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

Disassembly:
sub esp, 0x24
push ebx
mov ebx, dword [esp + 0x4c]
push ebp
mov ebp, dword [esp + 0x4c]
cmp ebp, ebx
push esi
push edi
mov esi, ebp
jge 0x43f8fa
mov edi, dword [esp + 0x3c]
xor eax, eax
test edi, edi
jle 0x43f8f5
nop
mov edx, dword [esp + 0x44]
cmp byte [eax + edx], 0
jne 0x43f8eb
mov ecx, dword [esp + 0x40]
mov ecx, dword [ecx + esi*4]
cmp byte [eax + ecx], 0
jne 0x43f8eb
xor cl, cl
jmp 0x43f8ed
mov cl, 1
mov byte [eax + edx], cl
inc eax
cmp eax, edi
jl 0x43f8d0
inc esi
cmp esi, ebx
jl 0x43f8c5
cmp dword [esp + 0x5c], 1
mov edx, dword [esp + 0x3c]
jne 0x43fba7
xor ecx, ecx
lea eax, [edx - 1]
mov dword [esp + 0x5c], ecx
test eax, eax
jle 0x43fb6a
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x50]
mov edi, dword [esp + 0x44]
sub edx, eax
mov esi, eax
sub esi, edi
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], esi
jmp 0x43f94c
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0x44]
cmp byte [ecx + edi], 0
lea eax, [ecx + edi]
mov dword [esp + 0x24], eax
je 0x43fb52
cmp byte [ecx + edi + 1], 0
je 0x43fb52
add eax, esi
cmp ebp, dword [esp + 0x58]
movzx edi, byte [eax + edx]
mov edx, dword [esp + 0x50]
movzx ebx, byte [ecx + edx + 1]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x30], eax
mov eax, dword [edx + ebp*4]
mov eax, dword [eax + edi*4]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x18], edi
mov dword [esp + 0x54], eax
mov esi, ebp
jge 0x43f9dd
lea esp, [esp]
cmp edi, ebx
mov eax, edi
jge 0x43f9d6
mov edx, dword [edx + esi*4]
lea ecx, [edi*4]
add edx, ecx
mov ecx, dword [edx]
cmp ecx, dword [esp + 0x54]
jle 0x43f9c6
mov dword [esp + 0x54], ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], esi
inc eax
add edx, 4
cmp eax, ebx
jl 0x43f9b2
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x5c]
inc esi
cmp esi, dword [esp + 0x58]
jl 0x43f9a0
cmp ebp, dword [esp + 0x58]
mov eax, dword [esp + 0x50]
movzx eax, byte [ecx + eax + 2]
mov dword [esp + 0x10], eax
mov eax, dword [edx + ebp*4]
mov edi, dword [eax + ebx*4]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x14], ebx
mov esi, ebp
jge 0x43fa3d
cmp ebx, dword [esp + 0x10]
mov eax, ebx
jge 0x43fa36
mov edx, dword [edx + esi*4]
lea ecx, [ebx*4]
add edx, ecx
mov ecx, dword [edx]
cmp ecx, edi
jle 0x43fa24
mov edi, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], esi
inc eax
add edx, 4
cmp eax, dword [esp + 0x10]
jl 0x43fa14
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x5c]
inc esi
cmp esi, dword [esp + 0x58]
jl 0x43fa00
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov eax, edx
sub eax, esi
cmp eax, 2
jge 0x43fb52
mov eax, dword [esp + 0x30]
mov al, byte [eax]
cmp al, 1
jne 0x43fa98
mov ebx, dword [esp + 0x48]
cmp byte [ecx + ebx + 1], 0
jne 0x43fa98
cmp ebp, dword [esp + 0x58]
mov edx, dword [esp + 0x44]
mov byte [ecx + edx + 1], 0
mov eax, ebp
jge 0x43fb52
lea esp, [esp]
mov edx, dword [esp + 0x40]
mov edx, dword [edx + eax*4]
inc eax
cmp eax, dword [esp + 0x58]
mov byte [edx + ecx + 1], 0
jl 0x43fa80
jmp 0x43fb52
test al, al
jne 0x43fad4
mov eax, dword [esp + 0x48]
cmp byte [ecx + eax + 1], 1
jne 0x43fad4
cmp ebp, dword [esp + 0x58]
mov edx, dword [esp + 0x24]
mov byte [edx], 0
mov eax, ebp
jge 0x43fb52
lea ebx, [ebx]
mov edx, dword [esp + 0x40]
mov edx, dword [edx + eax*4]
inc eax
cmp eax, dword [esp + 0x58]
mov byte [ecx + edx], 0
jl 0x43fac0
jmp 0x43fb52
cmp dword [esp + 0x54], edi
mov eax, dword [esp + 0x4c]
jle 0x43fb17
mov edi, dword [esp + 0x1c]
mov eax, dword [eax + edi*4]
cmp dword [eax + edx*4], 0
jge 0x43fb52
cmp dword [eax + esi*4], 0
jle 0x43fb52
cmp ebp, dword [esp + 0x58]
mov edx, dword [esp + 0x44]
mov byte [ecx + edx + 1], 0
mov eax, ebp
jge 0x43fb52
mov edx, dword [esp + 0x40]
mov edx, dword [edx + eax*4]
inc eax
cmp eax, dword [esp + 0x58]
mov byte [edx + ecx + 1], 0
jl 0x43fb02
jmp 0x43fb52
mov edi, dword [esp + 0x20]
mov eax, dword [eax + edi*4]
cmp dword [eax + edx*4], 0
jge 0x43fb52
cmp dword [eax + esi*4], 0
jle 0x43fb52
cmp ebp, dword [esp + 0x58]
mov edx, dword [esp + 0x24]
mov byte [edx], 0
mov eax, ebp
jge 0x43fb52
lea esp, [esp]
mov edx, dword [esp + 0x40]
mov edx, dword [edx + eax*4]
inc eax
cmp eax, dword [esp + 0x58]
mov byte [ecx + edx], 0
jl 0x43fb40
mov edx, dword [esp + 0x3c]
inc ecx
lea eax, [edx - 1]
cmp ecx, eax
mov dword [esp + 0x5c], ecx
jl 0x43f940
mov ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x60]
sub esp, 0x30
mov edi, esp
push eax
mov eax, dword [esp + 0x78]
mov ecx, 0xc
lea esi, [esp + 0x98]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x84]
push ecx
push edx
mov edx, dword [esp + 0x7c]
push ebx
push ebp
push edx
push eax
call fcn.0043f4b0
add esp, 0x4c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret
test edx, edx
jle 0x43fbcb
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
sub ecx, eax
movzx esi, byte [eax + ecx]
movzx edi, byte [eax]
sub edi, esi
test edi, edi
jle 0x43fbc5
mov byte [eax], 0
inc eax
sub edx, 1
jne 0x43fbb5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret