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

Disassembly:
sub esp, 0x60
push ebx
push ebp
push esi
mov esi, ecx
mov eax, dword [esi + 0x3d0]
mov ecx, dword [eax + 0x148]
mov edx, dword [ecx]
push edi
lea eax, [esp + 0x20]
push eax
mov eax, dword [esp + 0x7c]
push eax
mov dword [esp + 0x1c], 1
call dword [edx + 0x44]
mov ecx, dword [esi + 0x3d0]
mov ecx, dword [ecx + 0x14c]
mov edx, dword [ecx]
mov ebp, eax
mov dword [esp + 0x18], ebp
mov byte [esp + 0x13], 0
mov dword [esp + 0x1c], 0
call dword [edx + 0x58]
mov edi, dword [esp + 0x74]
mov ecx, dword [esi + 0x3d0]
mov ebx, eax
mov eax, dword [esi + 8]
lea edx, [eax*8]
sub edx, eax
shl edx, 4
add edx, eax
mov eax, edi
shl eax, 4
add eax, ecx
cmp dword [0x1b2ebc8], 7
mov edx, dword [eax + edx*4 + 0x398]
mov dword [esp + 0x74], edx
je 0x430297
mov al, byte [esp + 0x32]
cmp al, 7
jb 0x42fe2c
cmp al, 0xc
jbe 0x4304f2
cmp dword [esp + 0x80], 1
jne 0x43009f
cmp ebp, 1
jne 0x42ffe9
mov cx, word [esp + 0x34]
cmp cx, 6
jbe 0x42ffe9
mov edx, dword [esi + 0x3cc]
mov ebp, dword [esp + 0x7c]
cmp ebp, dword [edx + 0x38]
mov edx, dword [0x1b2e718]
jl 0x42ff5a
cmp dword [edx*4 + 0x1b5f300], 0
mov dword [esp + 0x14], 0
jl 0x42fea3
cmp al, 6
je 0x42fea3
cmp ebp, 4
jne 0x42fe8b
mov ebp, 5
mov edx, dword [esp + 0x20]
movzx eax, al
push eax
movzx eax, cx
push edx
push eax
push ebp
push edi
mov ecx, esi
call fcn.0042fbf0
jmp 0x42ff00
mov edx, 1
cmp dword [0x1b2efa4], edx
jne 0x42fed2
cmp ebp, 4
jne 0x42feba
mov ebp, 5
movzx edx, al
mov eax, dword [esp + 0x20]
push edx
movzx ecx, cx
push eax
push ecx
push ebp
push edi
mov ecx, esi
call fcn.0042fbf0
jmp 0x42ff00
cmp ebp, 4
jne 0x42fede
mov ebp, 5
jmp 0x42fee3
cmp ebp, 5
jne 0x42fefc
movzx edx, al
mov eax, dword [esp + 0x20]
push edx
movzx ecx, cx
push eax
push ecx
push 5
push edi
mov ecx, esi
call fcn.0042fbf0
jmp 0x42ff00
mov dword [esp + 0x14], edx
sub ebx, dword [esp + 0x20]
mov edx, dword [esi + 0x3d0]
mov dword [esp + 0x44], ebx
mov ecx, dword [edx + 0x148]
mov eax, dword [ecx]
lea edx, [esp + 0x20]
push edx
mov edx, dword [esp + 0x7c]
push edx
call dword [eax + 0x48]
mov eax, dword [esp + 0x78]
mov ecx, dword [eax]
mov dword [esi + edi*8 + 0x3e4], ecx
mov edx, dword [eax + 4]
mov dword [esi + edi*8 + 0x3e8], edx
mov eax, dword [0x1b2e718]
cmp dword [eax*4 + 0x1b5f300], 0
jl 0x42ffed
mov dword [esp + 0x14], 1
jmp 0x42ffed
cmp dword [edx*4 + 0x1b5f300], 0
jl 0x42ff8a
cmp al, 6
je 0x42ff8a
cmp ebp, 4
jne 0x42ff72
mov ebp, 5
mov edx, dword [esp + 0x20]
movzx eax, al
push eax
movzx eax, cx
push edx
push eax
push ebp
push edi
mov ecx, esi
call fcn.0042fbf0
jmp 0x42ffed
mov edx, 1
cmp dword [0x1b2efa4], edx
jne 0x42ffb9
cmp ebp, 4
jne 0x42ffa1
mov ebp, 5
movzx edx, al
mov eax, dword [esp + 0x20]
push edx
movzx ecx, cx
push eax
push ecx
push ebp
push edi
mov ecx, esi
call fcn.0042fbf0
jmp 0x42ffed
cmp ebp, 4
jne 0x42ffc5
mov ebp, 5
jmp 0x42ffca
cmp ebp, 5
jne 0x42ffe3
movzx edx, al
mov eax, dword [esp + 0x20]
push edx
movzx ecx, cx
push eax
push ecx
push 5
push edi
mov ecx, esi
call fcn.0042fbf0
jmp 0x42ffed
mov dword [esp + 0x14], edx
jmp 0x42ffed
mov ebp, dword [esp + 0x7c]
cmp dword [0x1b5f2e0], 0
je 0x430025
mov ecx, dword [esi + 0x3cc]
push 2
push edi
call fcn.004299e0
cmp dword [esp + 0x18], 0
je 0x430013
cmp word [esp + 0x34], 6
ja 0x430025
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x3d0]
push 0xa
push edi
push edx
call fcn.00422d10
mov ebx, dword [esp + 0x74]
mov ecx, dword [esi + 0x3dc]
push ebx
call fcn.00426d10
cmp eax, 1
jne 0x430092
cmp dword [0x1b5f2e0], 0
jne 0x430092
mov ecx, dword [esi + 0x3d8]
mov byte [esp + 0x13], al
mov eax, dword [ecx]
push ebx
call dword [eax + 0x80]
mov ecx, dword [esi + 0x3cc]
push 2
push edi
call fcn.004299e0
cmp dword [esp + 0x18], 0
je 0x430073
cmp word [esp + 0x34], 6
ja 0x430085
mov ecx, dword [esi + 8]
push 0xa
push edi
push ecx
mov ecx, dword [esi + 0x3d0]
call fcn.00422d10
mov dword [esi + edi*4 + 0x10], 1
jmp 0x43013f
mov dword [esi + edi*4 + 0x10], 0
jmp 0x43014e
cmp dword [esi + edi*8 + 0x3e8], 0xffffffff
mov ebp, dword [esp + 0x7c]
je 0x4300f9
mov edx, dword [esi + 0x3cc]
cmp ebp, dword [edx + 0x38]
jl 0x4300e0
mov ecx, dword [esi + 0x3d4]
mov eax, dword [ecx]
lea edx, [esp + 0x48]
push edx
lea edx, [esi + edi*8 + 0x3e4]
push edx
call dword [eax + 0x44]
movzx eax, byte [esp + 0x4f]
lea eax, [eax + ebp + 1]
cdq
sub eax, edx
sar eax, 1
mov ebp, eax
or eax, 0xffffffff
mov dword [esi + edi*8 + 0x3e4], eax
mov dword [esi + edi*8 + 0x3e8], eax
mov dword [esp + 0x14], 0
cmp dword [0x1b5f2e0], 0
je 0x430110
mov ecx, dword [esi + 0x3cc]
push 1
push edi
call fcn.004299e0
mov ecx, dword [esp + 0x74]
push ecx
mov ecx, dword [esi + 0x3dc]
call fcn.00426d10
cmp eax, 1
jne 0x43014e
cmp dword [0x1b5f2e0], 0
jne 0x43014e
mov ecx, dword [esi + 0x3cc]
push eax
push edi
mov byte [esp + 0x1b], al
call fcn.004299e0
cmp byte [esi + 0xe105b8], 0
mov dword [esp + 0x1c], ebp
jne 0x43014e
xor ebp, ebp
cmp dword [esp + 0x14], 0
je 0x4304f2
cmp ebp, 3
mov ecx, 1
mov dword [esp + 0x7c], ecx
jl 0x430193
cmp dword [esp + 0x18], ecx
jne 0x4301ae
cmp dword [esi + 0x4f4], 0
jne 0x43017f
cmp dword [esi + 0x51c], 0
je 0x4301ae
mov eax, dword [esp + 0x3c]
cmp eax, 0xffffffff
je 0x4301ae
push ecx
push eax
mov ecx, esi
call fcn.0042ebf0
jmp 0x4301ae
cmp ebp, 2
je 0x43019c
cmp ebp, ecx
jne 0x4301ae
mov edx, dword [esp + 0x78]
cmp dword [edx + 4], 0xffffffff
jne 0x4301ae
mov dword [esp + 0x7c], 0
cmp dword [esi + 0x214], 0
je 0x430262
mov ecx, dword [esi + 0x3d4]
mov eax, dword [ecx]
movzx ebx, byte [esp + 0x26]
lea edx, [esp + 0x20]
push edx
mov edx, dword [esp + 0x7c]
push edx
call dword [eax + 0x44]
mov eax, dword [esp + 0x20]
lea ecx, [ebx + ebx*2]
add ecx, ecx
mov ebx, dword [ecx + ecx + 0x37dcdc0]
add ecx, ecx
test ebx, ebx
jne 0x430201
cmp dword [ecx + 0x37dcdc4], eax
je 0x430201
mov dword [ecx + 0x37dcdc0], eax
mov dword [ecx + 0x37dcdc8], ebp
jmp 0x430262
cmp ebx, eax
jne 0x430258
cmp dword [ecx + 0x37dcdc4], eax
je 0x430258
mov eax, dword [ecx + 0x37dcdc8]
mov dword [esp + 0x78], eax
sub eax, ebp
cdq
xor eax, edx
sub eax, edx
mov edx, 4
sub edx, eax
add dword [0x37dce98], edx
cmp ebp, 3
mov dword [ecx + 0x37dcdc4], ebx
mov dword [ecx + 0x37dcdc0], 0
jl 0x43024f
cmp dword [esp + 0x78], ebp
jne 0x43024f
mov byte [esi + 0x5b4], 1
jmp 0x430262
mov byte [esi + 0x5b4], 0
jmp 0x430262
mov dword [ecx + 0x37dcdc0], 0
mov eax, dword [esp + 0x7c]
push eax
push 1
push ebp
mov ecx, esi
call fcn.0042e620
cmp byte [esp + 0x13], 0
je 0x43028a
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x1c]
push ecx
push edx
jmp 0x4304e6
mov eax, dword [esp + 0x80]
push eax
jmp 0x4304e5
cmp dword [esp + 0x80], 1
mov ebp, dword [esp + 0x7c]
jne 0x430391
cmp dword [esp + 0x18], 1
jne 0x4302ff
cmp word [esp + 0x34], 6
jbe 0x4302ff
mov edx, dword [esi + 0x3cc]
cmp ebp, dword [edx + 0x38]
jl 0x4302ff
sub ebx, dword [esp + 0x20]
lea edx, [esp + 0x20]
mov dword [esp + 0x44], ebx
mov ecx, dword [ecx + 0x148]
mov eax, dword [ecx]
push edx
mov edx, dword [esp + 0x7c]
push edx
call dword [eax + 0x48]
mov eax, dword [esp + 0x78]
mov ecx, dword [eax]
mov dword [esi + edi*8 + 0x3e4], ecx
mov edx, dword [eax + 4]
mov dword [esi + edi*8 + 0x3e8], edx
mov dword [esp + 0x14], 0
cmp dword [0x1b5f2e0], 0
je 0x430337
mov ecx, dword [esi + 0x3cc]
push 2
push edi
call fcn.004299e0
cmp dword [esp + 0x18], 0
je 0x430325
cmp word [esp + 0x34], 6
ja 0x430337
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x3d0]
push 0xa
push edi
push eax
call fcn.00422d10
cmp dword [esp + 0x14], 0
je 0x4304f2
cmp ebp, 3
mov ecx, 1
mov dword [esp + 0x7c], ecx
jl 0x4303ff
cmp dword [esp + 0x18], ecx
jne 0x43037e
cmp dword [esi + 0x4f4], 0
jne 0x43036c
cmp dword [esi + 0x51c], 0
je 0x43037e
mov eax, dword [esp + 0x3c]
cmp eax, 0xffffffff
je 0x43037e
push ecx
push eax
mov ecx, esi
call fcn.0042ebf0
cmp ebp, 5
jne 0x43041a
mov ebp, 4
jmp 0x43041a
cmp dword [esi + edi*8 + 0x3e8], 0xffffffff
je 0x4303df
mov ecx, dword [esi + 0x3cc]
cmp ebp, dword [ecx + 0x38]
jl 0x4303ce
mov ecx, dword [esi + 0x3d4]
mov edx, dword [ecx]
lea eax, [esp + 0x48]
push eax
lea eax, [esi + edi*8 + 0x3e4]
push eax
call dword [edx + 0x44]
movzx ecx, byte [esp + 0x4f]
lea eax, [ecx + ebp + 1]
cdq
sub eax, edx
sar eax, 1
mov ebp, eax
or eax, 0xffffffff
mov dword [esi + edi*8 + 0x3e4], eax
mov dword [esi + edi*8 + 0x3e8], eax
cmp dword [0x1b5f2e0], 0
je 0x430342
mov ecx, dword [esi + 0x3cc]
push 1
push edi
call fcn.004299e0
jmp 0x430342
cmp ebp, 2
je 0x430408
cmp ebp, ecx
jne 0x43041a
mov edx, dword [esp + 0x78]
cmp dword [edx + 4], 0xffffffff
jne 0x43041a
mov dword [esp + 0x7c], 0
cmp dword [esi + 0x214], 0
je 0x4304ce
mov ecx, dword [esi + 0x3d4]
mov eax, dword [ecx]
movzx ebx, byte [esp + 0x26]
lea edx, [esp + 0x20]
push edx
mov edx, dword [esp + 0x7c]
push edx
call dword [eax + 0x44]
mov eax, dword [esp + 0x20]
lea ecx, [ebx + ebx*2]
add ecx, ecx
mov ebx, dword [ecx + ecx + 0x37dcdc0]
add ecx, ecx
test ebx, ebx
jne 0x43046d
cmp dword [ecx + 0x37dcdc4], eax
je 0x43046d
mov dword [ecx + 0x37dcdc0], eax
mov dword [ecx + 0x37dcdc8], ebp
jmp 0x4304ce
cmp ebx, eax
jne 0x4304c4
cmp dword [ecx + 0x37dcdc4], eax
je 0x4304c4
mov eax, dword [ecx + 0x37dcdc8]
mov dword [esp + 0x78], eax
sub eax, ebp
cdq
xor eax, edx
sub eax, edx
mov edx, 4
sub edx, eax
add dword [0x37dce98], edx
cmp ebp, 3
mov dword [ecx + 0x37dcdc4], ebx
mov dword [ecx + 0x37dcdc0], 0
jl 0x4304bb
cmp dword [esp + 0x78], ebp
jne 0x4304bb
mov byte [esi + 0x5b4], 1
jmp 0x4304ce
mov byte [esi + 0x5b4], 0
jmp 0x4304ce
mov dword [ecx + 0x37dcdc0], 0
mov eax, dword [esp + 0x7c]
push eax
push 1
push ebp
mov ecx, esi
call fcn.0042e620
mov ecx, dword [esp + 0x80]
push ecx
push ebp
mov ecx, dword [esi + 0x3cc]
push edi
call fcn.0042d370
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret 0x10