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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x4d7a30
push eax
mov dword fs:[0], esp
sub esp, 0x84
push ebx
mov ebx, dword [esp + 0xa0]
push ebp
push esi
test ebx, ebx
push edi
mov ebp, ecx
je 0x43f268
mov dl, byte [ebx]
test dl, dl
je 0x43f268
mov eax, dword [ebp + 0x70]
mov edi, dword [esp + 0xa8]
test eax, eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x18], 0
je 0x43ea42
mov ecx, dword [ebp + 0x74]
test ecx, ecx
je 0x43ea42
mov esi, dword [ebp + 0x258]
lea ecx, [eax + eax*2]
lea ecx, [esi + ecx*8]
mov esi, dword [ecx + 0xc]
test esi, esi
je 0x43ea42
cmp dl, 0x20
je 0x43ea1b
cmp dl, 9
jne 0x43ea42
xor esi, esi
test edi, edi
jle 0x43ea36
mov ecx, dword [ecx + 8]
mov dl, byte [ecx + esi]
cmp dl, 0x20
je 0x43ea31
cmp dl, 9
jne 0x43ea36
inc esi
cmp esi, edi
jl 0x43ea24
cmp esi, edi
jne 0x43ea42
mov dword [esp + 0x18], 1
mov dword [ebp + 0x12c], edi
mov ecx, edi
mov edi, dword [esp + 0xb0]
xor esi, esi
test edi, edi
mov dword [esp + 0x14], ecx
mov dword [ebp + 0x128], eax
mov dword [esp + 0x10], eax
jle 0x43eab4
cmp byte [esi + ebx], 0xd
jne 0x43ea72
cmp byte [esi + ebx + 1], 0xa
je 0x43ea77
inc esi
cmp esi, edi
jl 0x43ea65
test esi, esi
jle 0x43eab2
mov eax, dword [esp + 0xa4]
mov ecx, dword [ebp + 0x258]
mov edx, dword [esp + 0xa8]
push esi
lea eax, [eax + eax*2]
push ebx
push edx
lea ecx, [ecx + eax*8]
call fcn.00479520
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xa4]
add ebx, esi
sub edi, esi
add ecx, esi
mov dword [esp + 0x14], ecx
test edi, edi
jne 0x43ed4e
mov eax, dword [esp + 0xb4]
test eax, eax
jbe 0x43ec60
cmp eax, 2
lea esi, [ebp + 0x244]
je 0x43eada
lea esi, [ebp + 0x230]
mov edx, dword [esp + 0xa8]
mov eax, dword [esp + 0xa4]
xor ebx, ebx
lea ecx, [esp + 0x24]
push ebx
push edx
push eax
lea edx, [esp + 0x34]
push ecx
push edx
mov ecx, ebp
call fcn.004441e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push ebx
push eax
lea edx, [esp + 0x24]
push ecx
lea eax, [esp + 0x2c]
push edx
push eax
mov ecx, ebp
call fcn.004441e0
mov eax, dword [esi + 8]
cmp eax, ebx
je 0x43eb72
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
lea edi, [eax + eax*2]
mov eax, dword [esi + 4]
shl edi, 4
push ecx
push edx
lea ecx, [edi + eax - 0x30]
call fcn.00479140
cmp eax, ebx
je 0x43eb72
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x58]
test eax, eax
je 0x43eb72
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [esi + 4]
push edx
push eax
lea ecx, [edi + ecx - 0x30]
call fcn.00479170
jmp 0x43ec10
mov edi, 1
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], edi
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x50], ebx
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [esp + 0x28]
push eax
push ecx
push edx
lea ecx, [esp + 0x3c]
mov dword [esp + 0xac], ebx
call fcn.00479170
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x58]
test eax, eax
jne 0x43ebdf
push edi
mov ecx, ebp
call fcn.004414b0
mov dword [esp + 0x54], edi
mov edi, dword [esi + 8]
push 0xffffffffffffffff
lea ecx, [edi + 1]
push ecx
mov ecx, esi
call fcn.00444670
mov eax, dword [esi + 4]
lea edi, [edi + edi*2]
shl edi, 4
add edi, eax
mov ecx, 0xc
lea esi, [esp + 0x2c]
mov dword [esp + 0x9c], 0xffffffff
rep movsd dword es:[edi], dword [esi]
cmp dword [esp + 0xb4], 1
jne 0x43ec5c
cmp dword [ebp + 0x24c], ebx
je 0x43ec5c
mov eax, dword [ebp + 0x24c]
lea edi, [ebp + 0x244]
cmp eax, ebx
je 0x43ec52
mov edx, eax
dec eax
test edx, edx
je 0x43ec52
xor esi, esi
lea ebx, [eax + 1]
mov eax, dword [edi + 4]
mov ecx, esi
add ecx, eax
add esi, 0x30
call fcn.00479120
dec ebx
jne 0x43ec3e
xor ebx, ebx
push 0xffffffffffffffff
push ebx
mov ecx, edi
call fcn.00444670
mov ecx, dword [esp + 0x14]
mov edx, dword [ebp + 0x70]
mov eax, dword [esp + 0x10]
xor edi, edi
mov dword [ebp + 0x130], eax
cmp edx, edi
je 0x43ecfc
push edi
push ecx
push eax
lea eax, [esp + 0x28]
lea ecx, [esp + 0x2c]
push eax
push ecx
mov ecx, ebp
call fcn.004441e0
mov eax, dword [esp + 0xa4]
mov ecx, dword [ebp + 0x258]
lea edx, [eax + eax*2]
cmp dword [ecx + edx*8 + 0xc], edi
jne 0x43ecbd
lea esi, [eax - 1]
push edi
push esi
mov ecx, ebp
call fcn.0043df60
cmp esi, eax
jge 0x43ecbd
mov dword [ebp + 0x128], esi
mov dword [ebp + 0x12c], edi
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
push edx
push eax
mov ecx, ebp
call fcn.0043df60
cmp dword [esp + 0x10], eax
jge 0x43ecda
mov dword [ebp + 0x12c], edi
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
push edi
push ecx
lea eax, [ebp + 0x124]
push edx
lea ecx, [ebp + 0x120]
push eax
push ecx
mov ecx, ebp
call fcn.00444260
jmp 0x43ed08
mov dword [ebp + 0x120], eax
mov dword [ebp + 0x124], ecx
cmp dword [esp + 0x18], edi
je 0x43ed44
mov eax, dword [ebp + 0x130]
cmp eax, 0xffffffff
je 0x43ed44
mov ecx, dword [ebp + 0x220]
dec ecx
cmp eax, ecx
jge 0x43ed44
mov edx, dword [ebp + 0x258]
mov eax, dword [ebp + 0x130]
lea esi, [eax + eax*2]
cmp dword [edx + esi*8 + 0x24], edi
jne 0x43ed44
inc eax
cmp eax, ecx
mov dword [ebp + 0x130], eax
jl 0x43ed2a
mov eax, 1
jmp 0x43f26a
mov edx, dword [ebp + 0x258]
lea esi, [eax + eax*2]
shl esi, 3
add edx, esi
add ebx, 2
sub edi, 2
mov eax, dword [edx]
sub eax, ecx
dec eax
mov dword [esp + 0x18], eax
xor eax, eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x18]
test eax, eax
jle 0x43eda3
mov edx, dword [edx + 8]
push eax
add edx, ecx
lea ecx, [esp + 0x68]
push edx
push 0
call fcn.00479520
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
push edx
mov edx, dword [ebp + 0x258]
push ecx
mov ecx, esi
add ecx, edx
call fcn.00479570
mov ecx, dword [esp + 0x10]
xor esi, esi
inc ecx
push esi
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x80]
mov dword [esp + 0x18], esi
mov dword [esp + 0x88], esi
mov dword [esp + 0x84], esi
mov dword [esp + 0x80], esi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], esi
call fcn.004794b0
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x7c]
push esi
push eax
push ecx
mov ecx, ebp
call fcn.0043d320
cmp edi, esi
mov dword [ebp + 0x210], esi
jle 0x43eed5
xor esi, esi
mov dword [esp + 0x1c], 0
test edi, edi
jle 0x43ee80
cmp byte [esi + ebx], 0xd
jne 0x43ee39
cmp byte [esi + ebx + 1], 0xa
je 0x43ee3e
inc esi
cmp esi, edi
jl 0x43ee2c
test esi, esi
jle 0x43ee6c
mov eax, dword [esp + 0x10]
mov ecx, dword [ebp + 0x258]
mov edx, dword [esp + 0x14]
push esi
lea eax, [eax + eax*2]
push ebx
push edx
lea ecx, [ecx + eax*8]
call fcn.00479520
mov eax, dword [esp + 0x14]
add ebx, esi
sub edi, esi
add eax, esi
mov dword [esp + 0x14], eax
test edi, edi
jle 0x43ee80
sub edi, 2
add ebx, 2
mov dword [esp + 0x1c], 1
test edi, edi
jne 0x43ee8a
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x43eed5
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x2c]
inc esi
mov dword [esp + 0x10], esi
xor esi, esi
push esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
call fcn.004794b0
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x2c]
push esi
push edx
push eax
mov ecx, ebp
call fcn.0043d320
cmp edi, esi
jg 0x43ee1e
mov ecx, dword [0x513cc0]
mov esi, 1
cmp dword [ecx + 0xa18], esi
jne 0x43ef21
mov eax, dword [ebp + 0x220]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
lea edx, [eax + eax*2]
mov eax, dword [ebp + 0x258]
mov ecx, dword [eax + edx*8 - 0xc]
push ecx
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.00439020
mov edx, dword [0x513cc0]
add esp, 0x18
mov eax, dword [edx + 0xdc]
push eax
call dword [0x4de738]
mov eax, dword [esp + 0xb4]
xor ebx, ebx
cmp eax, ebx
mov dword [ebp + 0x210], esi
jbe 0x43f101
cmp eax, 2
lea esi, [ebp + 0x244]
je 0x43ef49
lea esi, [ebp + 0x230]
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xa4]
mov edi, dword [esi + 8]
push ebx
push ecx
lea eax, [esp + 0x2c]
push edx
lea ecx, [esp + 0x24]
push eax
push ecx
mov ecx, ebp
call fcn.004441e0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push ebx
push edx
lea ecx, [esp + 0x28]
push eax
lea edx, [esp + 0x28]
push ecx
push edx
mov ecx, ebp
call fcn.004441e0
cmp edi, ebx
je 0x43efdf
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
mov edx, dword [esi + 4]
lea edi, [edi + edi*2]
shl edi, 4
push eax
push ecx
lea ecx, [edi + edx - 0x30]
call fcn.00479140
cmp eax, ebx
je 0x43efdf
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x58]
test eax, eax
je 0x43efdf
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [esi + 4]
push eax
push ecx
lea ecx, [edi + edx - 0x30]
call fcn.00479170
jmp 0x43f07f
mov edi, 1
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], edi
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x50], ebx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x28]
push ecx
push edx
push eax
lea ecx, [esp + 0x3c]
mov dword [esp + 0xac], edi
call fcn.00479170
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x58]
test eax, eax
jne 0x43f04c
push edi
mov ecx, ebp
call fcn.004414b0
mov dword [esp + 0x54], edi
mov edi, dword [esi + 8]
push 0xffffffffffffffff
mov ecx, esi
lea eax, [edi + 1]
push eax
call fcn.00444670
mov eax, dword [esi + 4]
lea edi, [edi + edi*2]
shl edi, 4
add edi, eax
mov ecx, 0xc
lea esi, [esp + 0x2c]
mov dword [esp + 0x9c], 0xffffffff
rep movsd dword es:[edi], dword [esi]
xor ebx, ebx
cmp dword [esp + 0xb4], 1
jne 0x43f101
mov eax, dword [ebp + 0x24c]
cmp eax, ebx
je 0x43f101
mov edi, eax
cmp edi, ebx
je 0x43f0b8
mov ecx, edi
dec edi
test ecx, ecx
je 0x43f0b8
xor esi, esi
inc edi
mov eax, dword [ebp + 0x248]
mov ecx, esi
add ecx, eax
add esi, 0x30
call fcn.00479120
dec edi
jne 0x43f0a3
mov esi, dword [ebp + 0x248]
cmp esi, ebx
je 0x43f0f5
mov eax, dword [ebp + 0x24c]
mov edx, eax
dec eax
test edx, edx
je 0x43f0e0
lea edi, [eax + 1]
push ebx
mov ecx, esi
call fcn.00444a50
add esi, 0x30
dec edi
jne 0x43f0d2
mov eax, dword [ebp + 0x248]
push eax
call fcn.004b4275
add esp, 4
mov dword [ebp + 0x248], ebx
mov dword [ebp + 0x250], ebx
mov dword [ebp + 0x24c], ebx
mov edx, dword [esp + 0x64]
cmp edx, ebx
jle 0x43f132
mov eax, dword [esp + 0x10]
push edx
mov edx, dword [esp + 0x70]
lea ecx, [eax + eax*2]
mov eax, dword [ebp + 0x258]
push edx
lea ecx, [eax + ecx*8]
mov eax, dword [ecx]
dec eax
push eax
call fcn.00479520
push ebx
lea ecx, [esp + 0x68]
call fcn.004793b0
cmp dword [ebp + 0x70], ebx
je 0x43f1fa
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [ebp + 0x220]
push 0
push ecx
lea eax, [esp + 0x68]
push edx
lea ecx, [esp + 0x68]
push eax
push ecx
mov ecx, ebp
call fcn.004441e0
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x10]
cmp eax, ecx
mov esi, eax
jg 0x43f1db
jmp 0x43f178
mov eax, dword [esp + 0xa4]
cmp esi, eax
jne 0x43f1ae
mov eax, dword [ebp + 0x258]
lea edx, [esi + esi*2]
mov ecx, dword [eax + edx*8 + 0xc]
test ecx, ecx
jne 0x43f1ae
lea edi, [esi - 1]
push 0
push edi
mov ecx, ebp
call fcn.0043df60
cmp edi, eax
jge 0x43f1ae
mov dword [ebp + 0x128], edi
mov dword [ebp + 0x12c], 0
push 0
push esi
mov ecx, ebp
call fcn.0043df60
cmp eax, esi
jle 0x43f1c0
mov esi, eax
jmp 0x43f1c1
inc esi
mov eax, dword [ebp + 0x220]
mov ecx, dword [esp + 0x10]
mov edx, eax
sub edx, ebx
mov ebx, eax
add ecx, edx
cmp esi, ecx
mov dword [esp + 0x10], ecx
jle 0x43f171
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
push 0
push eax
lea edx, [esp + 0x1c]
push ecx
lea eax, [esp + 0x1c]
push edx
push eax
mov ecx, ebp
call fcn.00444260
xor ebx, ebx
mov ecx, dword [esp + 0x14]
mov eax, dword [ebp + 0xd4]
mov edx, dword [esp + 0x10]
mov dword [ebp + 0x124], ecx
lea ecx, [eax + eax*2]
mov dword [ebp + 0x120], edx
mov dword [ebp + 0x130], 0xffffffff
lea ecx, [ecx + ecx*8]
shl ecx, 1
sub ecx, eax
cmp dword [ecx*4 + 0x5100f8], ebx
je 0x43f261
mov eax, dword [ebp + 0xa0]
push ebx
cmp eax, ebx
push ebx
push edx
je 0x43f253
mov edx, dword [ebp + 0x128]
mov ecx, ebp
push edx
call fcn.0043a7c0
mov eax, 1
jmp 0x43f26a
mov eax, dword [ebp + 0x128]
mov ecx, ebp
push eax
call fcn.0043b110
mov eax, 1
jmp 0x43f26a
xor eax, eax
mov ecx, dword [esp + 0x94]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x90
ret 0x14