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

Disassembly:
push ebx
push ebp
push esi
mov esi, dword [esp + 0x10]
push edi
mov edi, dword [esp + 0x18]
cmp edi, dword [esi + 0x78]
jne 0x42f4f9
lea eax, [esi + 0x100]
lea ecx, [esi + 0x104]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
mov edx, eax
jmp 0x42f50a
mov edx, dword [esi + 0x10c]
mov dword [esp + 0x18], edx
lea eax, [edx + 4]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
mov dword [edx], ebx
mov eax, dword [esp + 0x28]
test ecx, ecx
mov dword [ebp], eax
jg 0x42f550
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x42f533
test ecx, ecx
jne 0x42ffdf
lea eax, [ecx + 4]
cmp eax, 4
ja case.0x42f53b.3
jmp dword [eax*4 + 0x4300fc]
mov edx, dword [esp + 0x20]
neg ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x28]
push edi
push edx
lea eax, [esi + 0xe8]
push ebx
push ecx
push eax
call dword [eax]
add esp, 0x14
mov dword [esp + 0x1c], eax
inc eax
cmp eax, 0x35
ja case.0x42f57a.30
xor ecx, ecx
mov cl, byte [eax + 0x430190]
jmp dword [ecx*4 + 0x430110]
mov edx, dword [esp + 0x28]
push edx
push ebx
push 0
push esi
call fcn.0042f1b0
add esp, 0x10
test eax, eax
jne 0x4300f5
mov edi, dword [esi + 0x78]
jmp case.0x42f57a.30
mov eax, dword [esi + 0x48]
test eax, eax
je case.0x42f57a.30
mov eax, dword [esp + 0x28]
lea ebp, [esi + 0x1d0]
push eax
push ebx
push edi
push ebp
call fcn.00431bd0
add esp, 0x10
test eax, eax
je 0x4300f0
mov ecx, dword [esi + 4]
push eax
push ecx
call dword [esi + 0x48]
push ebp
call fcn.00431a60
add esp, 0xc
jmp case.0x42f57a.30
mov edx, dword [esp + 0x28]
push edx
push ebx
push 1
push esi
call fcn.0042f1b0
add esp, 0x10
test eax, eax
jne 0x4300f5
mov edi, dword [esi + 0x78]
jmp case.0x42f57a.30
push 0x20
lea eax, [esi + 0x18c]
push 0x443bc8
push eax
call fcn.00431780
add esp, 0xc
mov dword [esi + 0x118], eax
test eax, eax
je 0x4300f0
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
push ecx
push edx
push ebx
push edi
call dword [edi + 0x38]
add esp, 0x10
test eax, eax
je 0x43003c
mov eax, dword [esi + 0x118]
test eax, eax
je case.0x42f57a.30
mov eax, dword [edi + 0x44]
mov ecx, dword [esp + 0x28]
sub ecx, eax
add eax, ebx
push ecx
push eax
lea edx, [esi + 0x170]
push edi
push edx
call fcn.00431bd0
mov ebp, eax
add esp, 0x10
test ebp, ebp
je 0x4300f0
push ebp
call fcn.00431600
mov eax, dword [esi + 0x118]
add esp, 4
mov dword [eax + 0x14], ebp
mov ecx, dword [esi + 0x17c]
mov dword [esi + 0x180], ecx
jmp case.0x42f57a.30
mov eax, dword [esi + 0x184]
test eax, eax
je 0x42f72a
mov eax, dword [esi + 0x200]
test eax, eax
je 0x42f72a
mov eax, dword [esi + 0x208]
mov dword [esi + 0x184], 0
test eax, eax
je 0x42f6fe
mov eax, dword [esi + 0x6c]
test eax, eax
je 0x42f6fe
push 0
lea edx, [esi + 0x18c]
push 0x443bc8
push edx
call fcn.00431780
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
push ecx
mov ecx, dword [esi + 0x70]
push edx
push eax
push 0
push ecx
call dword [esi + 0x6c]
add esp, 0x20
test eax, eax
je 0x4300e6
mov eax, dword [esi + 0x184]
test eax, eax
jne 0x42f72a
mov eax, dword [esi + 0x188]
test eax, eax
jne 0x42f72a
mov eax, dword [esi + 0x68]
test eax, eax
je 0x42f72a
mov edx, dword [esi + 4]
push edx
call eax
add esp, 4
test eax, eax
je 0x43008b
mov eax, dword [esi + 0x4c]
test eax, eax
je case.0x42f57a.30
mov ecx, dword [esi + 4]
push ecx
call eax
add esp, 4
jmp case.0x42f57a.30
mov edx, dword [esp + 0x28]
lea eax, [esi + 0x170]
push edx
push ebx
push edi
push eax
call fcn.00431bd0
mov ebp, eax
add esp, 0x10
test ebp, ebp
je 0x4300f0
push 0x18
lea ecx, [esi + 0x140]
push ebp
push ecx
call fcn.00431780
add esp, 0xc
mov dword [esi + 0x124], eax
test eax, eax
je 0x4300f0
cmp dword [eax], ebp
je 0x42f798
mov edx, dword [esi + 0x180]
mov dword [esi + 0x17c], edx
jmp case.0x42f57a.30
mov ecx, dword [esi + 0x17c]
push eax
push esi
mov dword [esi + 0x180], ecx
call fcn.00430f70
add esp, 8
jmp 0x42f89b
mov edx, dword [esp + 0x28]
push edx
push ebx
push edi
push esi
call fcn.00431080
add esp, 0x10
mov dword [esi + 0x128], eax
test eax, eax
je 0x4300f0
mov byte [esi + 0x12c], 0
mov byte [esi + 0x12d], 0
jmp case.0x42f57a.30
mov byte [esi + 0x12c], 1
jmp case.0x42f57a.30
mov byte [esi + 0x12d], 1
jmp case.0x42f57a.30
mov eax, dword [esi + 0x184]
test eax, eax
je case.0x42f57a.30
movsx eax, byte [esi + 0x12d]
movsx ecx, byte [esi + 0x12c]
mov edx, dword [esi + 0x128]
push 0
push eax
mov eax, dword [esi + 0x124]
push ecx
push edx
push eax
jmp 0x42f893
mov eax, dword [edi + 0x44]
mov edx, dword [esp + 0x28]
lea ecx, [esi + 0x170]
sub edx, eax
push ecx
add eax, ebx
push edx
push eax
movsx eax, byte [esi + 0x12c]
push eax
push edi
push esi
call fcn.00430590
add esp, 0x18
test eax, eax
jne 0x4300f5
mov ecx, dword [esi + 0x17c]
mov eax, dword [esi + 0x180]
mov dword [esi + 0x180], ecx
mov ecx, dword [esi + 0x184]
test ecx, ecx
je case.0x42f57a.30
movsx edx, byte [esi + 0x12c]
mov ecx, dword [esi + 0x124]
push eax
mov eax, dword [esi + 0x128]
push 0
push edx
push eax
push ecx
call fcn.00430ea0
add esp, 0x14
test eax, eax
je 0x4300f0
jmp case.0x42f57a.30
mov eax, dword [edi + 0x44]
mov edx, dword [esp + 0x28]
sub edx, eax
add eax, ebx
push edx
push eax
push edi
push esi
call fcn.00430980
mov ebp, eax
mov eax, dword [esi + 0x118]
add esp, 0x10
test eax, eax
je 0x42f945
mov ecx, dword [esi + 0x180]
mov dword [eax + 4], ecx
mov edx, dword [esi + 0x17c]
mov ecx, dword [esi + 0x180]
mov eax, dword [esi + 0x118]
sub edx, ecx
mov dword [eax + 8], edx
mov eax, dword [esi + 0x5c]
mov ecx, dword [esi + 0x17c]
test eax, eax
mov dword [esi + 0x180], ecx
je 0x42f951
mov edx, dword [esi + 0x118]
push 0
lea ecx, [esi + 0x130]
mov eax, dword [edx]
push eax
push ecx
call fcn.00431780
mov ecx, dword [esi + 0x118]
add esp, 0xc
cmp eax, ecx
jne 0x42f951
mov edx, dword [esp + 0x14]
mov dword [edx], ebx
mov eax, dword [esi + 0x118]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov eax, dword [eax]
push ecx
mov ecx, dword [esi + 4]
push edx
push eax
push ecx
call dword [esi + 0x5c]
add esp, 0x10
jmp 0x42f951
mov edx, dword [esi + 0x180]
mov dword [esi + 0x17c], edx
test ebp, ebp
jne 0x430084
jmp case.0x42f57a.30
mov eax, dword [esi + 0x188]
test eax, eax
jne 0x42f98a
mov eax, dword [esi + 0x208]
test eax, eax
jne 0x42f98a
mov eax, dword [esi + 0x68]
test eax, eax
je 0x42f98a
mov ecx, dword [esi + 4]
push ecx
call eax
add esp, 4
test eax, eax
je 0x43008b
mov eax, dword [esi + 0x118]
mov dword [esi + 0x200], 1
test eax, eax
jne 0x42f9d0
push 0x20
lea edx, [esi + 0x18c]
push 0x443bc8
push edx
call fcn.00431780
add esp, 0xc
mov dword [esi + 0x118], eax
test eax, eax
je 0x4300f0
mov eax, dword [esi + 0x118]
test eax, eax
je case.0x42f57a.30
mov eax, dword [edi + 0x44]
mov ecx, dword [esp + 0x28]
sub ecx, eax
add eax, ebx
push ecx
push eax
lea edx, [esi + 0x170]
push edi
push edx
call fcn.00431bd0
mov ecx, dword [esi + 0x118]
add esp, 0x10
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x118]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x4300f0
mov edx, dword [esi + 0x1a4]
mov dword [eax + 0x10], edx
mov eax, dword [esi + 0x17c]
mov dword [esi + 0x180], eax
jmp case.0x42f57a.30
mov eax, dword [esi + 0x118]
test eax, eax
je case.0x42f57a.30
mov ecx, dword [esp + 0x28]
lea edx, [esi + 0x170]
push ecx
push ebx
push edi
push edx
call fcn.00431bd0
mov ecx, dword [esi + 0x118]
add esp, 0x10
mov dword [ecx + 0x18], eax
mov edx, dword [esi + 0x118]
mov eax, dword [edx + 0x18]
test eax, eax
je 0x4300f0
mov eax, dword [esi + 0x17c]
mov dword [esi + 0x180], eax
mov eax, dword [esi + 0x50]
test eax, eax
je case.0x42f57a.30
mov ecx, dword [esp + 0x14]
mov dword [ecx], ebx
mov eax, dword [esi + 0x118]
mov edx, dword [eax + 0x18]
mov ecx, dword [eax + 0x14]
push edx
mov edx, dword [eax + 0xc]
push ecx
mov ecx, dword [eax + 0x10]
push edx
mov edx, dword [eax]
mov eax, dword [esi + 4]
push ecx
push edx
push eax
call dword [esi + 0x50]
add esp, 0x18
jmp case.0x42f57a.30
mov eax, dword [esi + 0x118]
test eax, eax
je case.0x42f57a.30
mov eax, dword [esi + 0x58]
test eax, eax
je case.0x42f57a.30
mov ecx, dword [esp + 0x14]
mov dword [ecx], ebx
mov eax, dword [esi + 0x118]
mov edx, dword [eax + 0x14]
mov ecx, dword [eax + 0xc]
push edx
mov edx, dword [eax + 0x10]
mov eax, dword [eax]
push ecx
mov ecx, dword [esi + 4]
push edx
push eax
push ecx
call dword [esi + 0x58]
add esp, 0x14
jmp case.0x42f57a.30
mov edx, dword [esp + 0x28]
push edx
push ebx
push edi
call dword [edi + 0x30]
add esp, 0xc
test eax, eax
jne 0x42fbcd
mov eax, dword [esp + 0x28]
lea ecx, [esi + 0x170]
push eax
push ebx
push edi
push ecx
call fcn.00431bd0
mov ebp, eax
add esp, 0x10
test ebp, ebp
je 0x4300f0
mov eax, dword [esi + 0x184]
test eax, eax
je 0x42fb50
push 0x20
lea edx, [esi + 0x130]
push ebp
push edx
call fcn.00431780
add esp, 0xc
mov dword [esi + 0x118], eax
test eax, eax
je 0x4300f0
cmp dword [eax], ebp
je 0x42f687
jmp 0x42fbc1
mov edx, dword [esi + 0x180]
mov dword [esi + 0x118], 0
mov dword [esi + 0x17c], edx
jmp case.0x42f57a.30
mov eax, dword [esi + 0x184]
test eax, eax
je case.0x42f57a.30
mov eax, dword [esp + 0x28]
lea ecx, [esi + 0x170]
push eax
push ebx
push edi
push ecx
call fcn.00431bd0
mov ebp, eax
add esp, 0x10
test ebp, ebp
je 0x4300f0
push 0x20
lea edx, [esi + 0x18c]
push ebp
push edx
call fcn.00431780
add esp, 0xc
mov dword [esi + 0x118], eax
test eax, eax
je 0x4300f0
cmp dword [eax], ebp
je 0x42f687
mov eax, dword [esi + 0x180]
mov dword [esi + 0x17c], eax
mov dword [esi + 0x118], 0
jmp case.0x42f57a.30
mov ecx, dword [esi + 0x54]
xor eax, eax
cmp ecx, eax
mov dword [esi + 0x120], eax
mov dword [esi + 0x11c], eax
je case.0x42f57a.30
mov edx, dword [esp + 0x28]
lea eax, [esi + 0x1d0]
push edx
push ebx
push edi
push eax
call fcn.00431bd0
add esp, 0x10
mov dword [esi + 0x11c], eax
test eax, eax
je 0x4300f0
mov ecx, dword [esi + 0x1dc]
mov dword [esi + 0x1e0], ecx
jmp case.0x42f57a.30
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
push edx
push eax
push ebx
push edi
call dword [edi + 0x38]
add esp, 0x10
test eax, eax
je 0x43003c
mov eax, dword [esi + 0x11c]
test eax, eax
je case.0x42f57a.30
mov eax, dword [edi + 0x44]
mov ecx, dword [esp + 0x28]
sub ecx, eax
add eax, ebx
push ecx
push eax
lea edx, [esi + 0x1d0]
push edi
push edx
call fcn.00431bd0
mov ebp, eax
add esp, 0x10
test ebp, ebp
je 0x4300f0
push ebp
call fcn.00431600
mov eax, dword [esi + 0x1dc]
add esp, 4
mov dword [esi + 0x120], ebp
mov dword [esi + 0x1e0], eax
jmp case.0x42f57a.30
mov eax, dword [esi + 0x11c]
test eax, eax
je 0x42fd17
mov eax, dword [esi + 0x54]
test eax, eax
je 0x42fd17
mov eax, dword [edi + 0x44]
mov ecx, dword [esp + 0x28]
sub ecx, eax
add eax, ebx
push ecx
push eax
lea edx, [esi + 0x1d0]
push edi
push edx
call fcn.00431bd0
add esp, 0x10
test eax, eax
je 0x4300f0
mov ecx, dword [esp + 0x14]
mov dword [ecx], ebx
mov edx, dword [esi + 0x120]
push edx
push eax
jmp 0x42fcff
mov eax, dword [esi + 0x120]
test eax, eax
je 0x42fd17
mov eax, dword [esi + 0x54]
test eax, eax
je 0x42fd17
mov ecx, dword [esp + 0x14]
mov dword [ecx], ebx
mov edx, dword [esi + 0x120]
push edx
push 0
mov eax, dword [esi + 0x1a4]
mov ecx, dword [esi + 0x11c]
mov edx, dword [esi + 4]
push eax
push ecx
push edx
call dword [esi + 0x54]
add esp, 0x14
lea eax, [esi + 0x1d0]
push eax
call fcn.00431a60
add esp, 4
jmp case.0x42f57a.30
mov eax, dword [esi + 0x44]
test eax, eax
je 0x42fd42
mov ecx, dword [esp + 0x28]
push ecx
push ebx
push edi
push esi
call fcn.00430df0
add esp, 0x10
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
push edx
lea ecx, [esp + 0x2c]
push eax
push ecx
push edi
push esi
call fcn.00430240
mov ecx, dword [esp + 0x3c]
add esp, 0x14
test ecx, ecx
je 0x4300b9
jmp case.0x42f57a.30
mov eax, dword [esi + 0x1fc]
mov ecx, dword [esi + 0xec]
cmp ecx, eax
jb 0x42fdbc
test eax, eax
je 0x42fd9a
mov edx, dword [esi + 0x1f8]
add eax, eax
push eax
push edx
mov dword [esi + 0x1fc], eax
call fcn.0041fd39
add esp, 8
jmp 0x42fdae
push 0x20
mov dword [esi + 0x1fc], 0x20
call fcn.0041d166
add esp, 4
test eax, eax
mov dword [esi + 0x1f8], eax
je 0x4300f0
mov eax, dword [esi + 0x1f8]
mov ecx, dword [esi + 0xec]
mov byte [eax + ecx], 0
jmp case.0x42f57a.30
mov edx, dword [esi + 0x1f8]
mov eax, dword [esi + 0xec]
add eax, edx
cmp byte [eax], 0x7c
je 0x43003c
mov byte [eax], 0x2c
jmp case.0x42f57a.30
mov ecx, dword [esi + 0x1f8]
mov edx, dword [esi + 0xec]
lea eax, [ecx + edx]
mov cl, byte [ecx + edx]
cmp cl, 0x2c
je 0x43003c
mov byte [eax], 0x7c
jmp case.0x42f57a.30
mov eax, dword [esi + 0x208]
test eax, eax
je 0x42fefe
mov eax, dword [esi + 0x184]
test eax, eax
jne 0x42fe36
cmp dword [esp + 0x1c], 0x32
jne 0x42fefe
mov eax, dword [edi + 0x44]
mov ecx, dword [esp + 0x28]
sub ecx, eax
add eax, ebx
push ecx
push eax
lea edx, [esi + 0x170]
push edi
push edx
call fcn.00431bd0
add esp, 0x10
test eax, eax
je 0x4300f0
push 0
push eax
lea eax, [esi + 0x18c]
push eax
call fcn.00431780
mov ecx, dword [esi + 0x180]
mov ebp, eax
add esp, 0xc
mov dword [esi + 0x17c], ecx
test ebp, ebp
je 0x4300c8
mov al, byte [ebp + 0x1c]
test al, al
jne 0x4300d2
mov eax, dword [ebp + 4]
test eax, eax
je 0x42feac
push ebp
push esi
call fcn.00430500
add esp, 8
test eax, eax
jne 0x4300f5
jmp case.0x42f57a.30
cmp dword [esp + 0x1c], 0x32
je 0x4300dc
mov eax, dword [esi + 0x6c]
test eax, eax
je 0x42fefe
mov dword [esi + 0x184], 0
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
push edx
mov byte [ebp + 0x1c], 1
mov edx, dword [esi + 0x70]
push eax
push ecx
push 0
push edx
call dword [esi + 0x6c]
add esp, 0x14
mov byte [ebp + 0x1c], 0
test eax, eax
je 0x4300e6
mov eax, dword [esi + 0x184]
test eax, eax
jne case.0x42f57a.30
mov eax, dword [esi + 0x188]
test eax, eax
jne 0x42ff20
mov eax, dword [esi + 0x68]
test eax, eax
je 0x42ff20
mov ecx, dword [esi + 4]
push ecx
call eax
add esp, 4
test eax, eax
je 0x43008b
mov eax, dword [esi + 0x44]
mov dword [esi + 0x184], 0
test eax, eax
je case.0x42ff9d.11
mov edx, dword [esp + 0x28]
push edx
push ebx
push edi
push esi
call fcn.00430df0
add esp, 0x10
jmp case.0x42f57a.30
mov eax, dword [esp + 0x24]
sub eax, 0xb
je 0x42ff6a
sub eax, 2
jne case.0x42f57a.30
mov eax, dword [esp + 0x28]
push eax
push ebx
push edi
push esi
call fcn.00430d60
add esp, 0x10
jmp 0x42f89b
mov ecx, dword [esp + 0x28]
push ecx
push ebx
push edi
push esi
call fcn.00430c50
add esp, 0x10
test eax, eax
je 0x4300f0
mov eax, dword [esi + 0x44]
test eax, eax
je case.0x42ff9d.11
mov edx, dword [esp + 0x24]
lea eax, [edx - 0xb]
cmp eax, 0x1f
ja case.0x42ff9d.12
xor ecx, ecx
mov cl, byte [eax + 0x4301d0]
jmp dword [ecx*4 + 0x4301c8]
cmp dword [esp + 0x1c], 0x31
je case.0x42ff9d.11
mov edx, dword [esp + 0x28]
push edx
push ebx
push edi
push esi
call fcn.00430df0
add esp, 0x10
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x28]
lea eax, [esp + 0x28]
push eax
push ecx
push ebx
push edi
call dword [edi]
mov edx, dword [esp + 0x28]
add esp, 0x10
mov dword [esp + 0x24], eax
mov ecx, eax
jmp 0x42f512
pop edi
pop esi
mov dword [eax], ebx
pop ebp
xor eax, eax
pop ebx
ret
mov eax, dword [esp + 0x28]
pop edi
pop esi
mov dword [edx], eax
pop ebp
mov eax, 4
pop ebx
ret
pop edi
pop esi
pop ebp
mov eax, 5
pop ebx
ret
pop edi
pop esi
pop ebp
mov eax, 6
pop ebx
ret
cmp edi, dword [esi + 0x78]
je 0x430018
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
ret
mov eax, dword [esi + 0x20c]
test eax, eax
je 0x430057
mov ecx, dword [esp + 0x20]
push edi
push ecx
lea eax, [esi + 0xe8]
push ecx
push 0xfffffffffffffffc
push eax
call dword [eax]
add esp, 0x14
cmp eax, 0xffffffff
jne 0x430046
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
ret
mov dword [esi + 0x200], 0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
ret
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
ret
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x20]
push ecx
push edx
push ebx
push esi
mov dword [esi + 0xf8], fcn.0042ee90
call fcn.0042ee90
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
ret
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
ret
pop edi
pop esi
pop ebp
mov eax, 0x16
pop ebx
ret
mov eax, dword [esp + 0x24]
cmp eax, 0xc
je 0x4300af
sub eax, 0x1c
pop edi
neg eax
sbb eax, eax
pop esi
and al, 0xf8
pop ebp
add eax, 0xa
pop ebx
ret
pop edi
pop esi
pop ebp
mov eax, 0x11
pop ebx
ret
mov dword [esi + 0xf8], 0x4301f0
pop edi
pop esi
pop ebp
pop ebx
ret
pop edi
pop esi
pop ebp
mov eax, 0xb
pop ebx
ret
pop edi
pop esi
pop ebp
mov eax, 0xc
pop ebx
ret
pop edi
pop esi
pop ebp
mov eax, 0xa
pop ebx
ret
pop edi
pop esi
pop ebp
mov eax, 0x15
pop ebx
ret
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
ret