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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, dword [ebp + 8]
sub esp, 0xa4
push ebx
push esi
push edi
push eax
lea eax, [esp + 0x54]
call fcn.004babc0
mov edi, dword [esp + 0x54]
add esp, 4
xor ebx, ebx
push ebx
push ebx
push 3
push ebx
push 1
push 0x80000000
push edi
call dword [0x1005f074]
mov esi, eax
cmp esi, 0xffffffff
jne 0x495246
cmp edi, ebx
je 0x49523a
mov eax, edi
call fcn.004b16a0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push ebx
push esi
call dword [0x1005f078]
mov edi, eax
cmp edi, ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
jbe 0x49526d
push edi
call fcn.004b1530
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edi
mov edx, dword [esp + 0x1c]
push 0
lea ecx, [esp + 0x80]
push ecx
push edi
push edx
push esi
call dword [0x1005f07c]
push esi
call dword [0x1005f080]
mov eax, dword [esp + 0x50]
push 1
push 0
push eax
call dword [0x1005f098]
mov esi, eax
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0xe8]
mov edi, dword [edx + esi + 8]
mov ebx, dword [edi + esi + 0xc]
add edi, esi
xor ecx, ecx
lea eax, [ebx + 2]
cmp eax, ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], ecx
jbe 0x4952da
lea eax, [ebx + 2]
add eax, eax
push eax
call fcn.004b1530
lea ecx, [ebx + 2]
add esp, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x24]
add ecx, ecx
push ecx
push edx
call dword [0x10075f84]
xor eax, eax
test ebx, ebx
jbe 0x495303
mov ecx, dword [esp + 0x24]
movzx dx, byte [edi + eax + 0x10]
mov word [ecx + eax*2], dx
add eax, 1
cmp eax, ebx
jb 0x4952f2
push esi
call dword [0x1005f034]
push 4
lea eax, [esp + 0x14]
push eax
call dword [0x10075f84]
xor ebx, ebx
push ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x70], ebx
call dword [0x1005f250]
cmp eax, ebx
jge 0x495377
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x495340
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x24]
cmp eax, ebx
je 0x49534d
call fcn.004b16a0
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x49535a
call fcn.004b16a0
mov eax, dword [esp + 0x50]
cmp eax, ebx
je 0x49523a
call fcn.004b16a0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
xor ecx, ecx
cmp eax, ebx
sete cl
push 0x10060ff8
mov dword [esp + 0x78], ecx
call dword [0x1005f09c]
push 0x10061010
push eax
mov dword [esp + 0x80], eax
call dword [0x1005f100]
mov esi, eax
cmp esi, ebx
jne 0x4953b8
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x495340
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
jmp 0x49533c
mov edi, dword [esp + 0x24]
lea ecx, [esp + 0x10]
push ecx
push 0x100613b0
push 0x10061390
push 1
push ebx
push edi
call esi
test eax, eax
jge 0x4957b1
push 4
lea edx, [esp + 0x18]
push edx
call dword [0x10075f84]
lea eax, [esp + 0x14]
push eax
push 0x100613a0
push 0x10061380
push 5
push 0x10061024
push edi
call esi
test eax, eax
mov eax, dword [esp + 0x14]
jge 0x49543a
cmp eax, ebx
je 0x495417
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x49542b
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x10], ebx
cmp edi, ebx
je 0x49534d
mov eax, edi
jmp 0x495348
mov ecx, dword [eax]
mov edx, dword [ecx + 0x28]
push eax
call edx
test eax, eax
jge 0x49549b
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x49545a
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x49546e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x10], ebx
cmp edi, ebx
je 0x495479
mov eax, edi
call fcn.004b16a0
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x495486
call fcn.004b16a0
lea ecx, [esp + 0x50]
call fcn.004894f0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push 4
lea eax, [esp + 0x48]
push eax
call dword [0x10075f84]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
lea edx, [esp + 0x44]
push edx
push eax
mov eax, dword [ecx + 0x48]
call eax
push 4
lea ecx, [esp + 0x1c]
push ecx
call dword [0x10075f84]
mov eax, dword [esp + 0x44]
mov edx, dword [eax]
mov edx, dword [edx]
lea ecx, [esp + 0x18]
push ecx
push 0x1005f374
push eax
call edx
mov ebx, dword [esp + 0x50]
push 0x10060788
push ecx
push ebx
lea eax, [esp + 0x44]
call fcn.004bc9d0
add esp, 8
push eax
lea eax, [esp + 0x64]
push eax
call fcn.00497ac0
mov edi, dword [eax]
add esp, 0xc
lea esi, [esp + 0x80]
call fcn.0048a480
lea ecx, [esp + 0x5c]
call fcn.004894f0
lea ecx, [esp + 0x38]
call fcn.004894f0
mov ecx, dword [esp + 0x80]
test ecx, ecx
jne 0x495530
mov ecx, 0x1005f2dc
mov eax, dword [esp + 0x18]
mov edx, dword [eax]
push ecx
push eax
mov eax, dword [edx + 0x10]
call eax
xor eax, eax
push ebx
lea edi, [esp + 0x3c]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
call fcn.00498aa0
push 0x1006102c
mov esi, edi
call fcn.00497c00
mov edi, dword [esp + 0x38]
push edi
call dword [0x1005f1f0]
cmp eax, 0xffffffff
je 0x49559d
lea esi, [esp + 0x5c]
call fcn.0048a480
mov eax, dword [esp + 0x5c]
test eax, eax
jne 0x495587
mov eax, 0x1005f2dc
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x28]
push ecx
call eax
lea esi, [esp + 0x5c]
call fcn.0048a4d0
push 4
lea ecx, [esp + 0x50]
push ecx
call dword [0x10075f84]
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
mov edx, dword [edx + 0x44]
lea ecx, [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x1c]
push 0
push ecx
push 0x1006103c
push eax
call edx
push 4
lea eax, [esp + 0x34]
push eax
call dword [0x10075f84]
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax]
lea edx, [esp + 0x30]
push edx
push 0x1005f384
push eax
mov eax, dword [ecx]
call eax
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x4956db
push 0x1005f9d4
call dword [0x1005f09c]
push 0x1005f9ec
push eax
call dword [0x1005f100]
lea ecx, [esp + 0x48]
push ecx
push esi
call eax
mov edi, dword [0x1005f20c]
lea edx, [esp + 0x90]
push edx
mov esi, eax
call edi
lea eax, [esp + 0xa0]
push eax
call edi
mov ecx, dword [esp + 0x48]
push ecx
push 0
push 8
call dword [0x1005f210]
mov ebx, eax
xor eax, eax
cmp dword [esp + 0x48], eax
mov dword [esp + 0x70], eax
jle 0x495676
mov edi, dword [0x1005f218]
mov edx, dword [esi + eax*4]
push edx
call dword [0x1005f21c]
push eax
lea eax, [esp + 0x74]
push eax
push ebx
call edi
mov eax, dword [esp + 0x70]
add eax, 1
cmp eax, dword [esp + 0x48]
mov dword [esp + 0x70], eax
jl 0x495652
push esi
call dword [0x1005f0a8]
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x50]
lea esi, [esp + 0x5c]
mov dword [esp + 0x2c], ecx
call fcn.0048a480
mov eax, dword [eax]
test eax, eax
jne 0x49569d
mov eax, 0x1005f2dc
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
lea esi, [esp + 0x6c]
push esi
push ebx
xor esi, esi
push esi
push eax
mov eax, dword [edx + 0xd0]
push ecx
call eax
mov eax, dword [esp + 0x5c]
cmp eax, esi
je 0x4956c5
push eax
call dword [0x1005f208]
mov eax, dword [esp + 0x60]
cmp eax, esi
je 0x4956d2
call fcn.004b16a0
push ebx
call dword [0x1005f214]
jmp 0x495719
mov ecx, dword [esp + 0x30]
mov edi, ebx
lea esi, [esp + 0x5c]
mov dword [esp + 0x2c], ecx
call fcn.0048a480
mov eax, dword [eax]
test eax, eax
jne 0x4956f9
mov eax, 0x1005f2dc
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
lea esi, [esp + 0x6c]
push esi
push eax
mov eax, dword [edx + 0xcc]
push ecx
call eax
lea esi, [esp + 0x5c]
call fcn.0048a4d0
xor esi, esi
mov eax, dword [esp + 0x30]
cmp eax, esi
je 0x49572d
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x30], esi
mov eax, dword [esp + 0x4c]
cmp eax, esi
je 0x495741
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x4c], esi
mov eax, dword [esp + 0x38]
cmp eax, esi
je 0x49574e
call fcn.004b16a0
mov eax, dword [esp + 0x80]
cmp eax, esi
je 0x495760
push eax
call dword [0x1005f208]
mov eax, dword [esp + 0x84]
cmp eax, esi
je 0x495770
call fcn.004b16a0
mov eax, dword [esp + 0x18]
cmp eax, esi
je 0x495784
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x44]
cmp eax, esi
je 0x495798
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x44], esi
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x495aa0
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x495aa0
mov esi, dword [0x1005f120]
push 1
push 1
push 0x10075e98
call esi
cmp eax, 1
jne 0x4957e4
mov edi, dword [0x1005f050]
lea ecx, [ecx]
push 0x64
call edi
push 1
push 1
push 0x10075e98
call esi
cmp eax, 1
je 0x4957d0
push ebx
push ebx
push 0x10075e9c
call esi
test eax, eax
jne 0x4959ea
push 1
push 0x10075e98
call dword [0x1005f124]
push 0x1006102c
push ecx
lea esi, [esp + 0x40]
call fcn.004bac60
add esp, 4
push eax
lea eax, [esp + 0x64]
push eax
call fcn.00497ac0
mov eax, dword [esp + 0x44]
add esp, 0xc
cmp eax, ebx
je 0x49582f
call fcn.004b16a0
mov ebx, dword [esp + 0x5c]
push ebx
call dword [0x1005f1f0]
xor ecx, ecx
cmp eax, 0xffffffff
setne cl
xor edi, edi
mov eax, ecx
cmp eax, edi
mov dword [esp + 0x2c], eax
jne 0x4958a7
push 0x10061048
lea esi, [esp + 0x3c]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
call fcn.00498b30
push edi
push edi
push 1
push edi
push 1
push 0x40000000
push ebx
call fcn.0049a470
push edi
mov edi, dword [esp + 0x3c]
mov esi, eax
mov eax, dword [esp + 0x40]
lea edx, [esp + 0x4c]
push edx
push eax
push edi
push esi
call dword [0x1005f0c0]
push esi
call dword [0x1005f080]
test edi, edi
je 0x4958a5
mov eax, edi
call fcn.004b16a0
xor edi, edi
push 4
lea ecx, [esp + 0x18]
push ecx
call dword [0x10075f84]
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
mov edx, dword [edx + 0x18]
lea ecx, [esp + 0x14]
push ecx
push eax
call edx
test eax, eax
mov eax, dword [esp + 0x14]
jge 0x495929
cmp eax, edi
je 0x4958dd
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x14], edi
lea ecx, [esp + 0x5c]
call fcn.004894f0
mov eax, dword [esp + 0x10]
cmp eax, edi
je 0x4958fa
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x10], edi
mov eax, dword [esp + 0x24]
cmp eax, edi
je 0x495907
call fcn.004b16a0
mov eax, dword [esp + 0x1c]
cmp eax, edi
je 0x495914
call fcn.004b16a0
lea ecx, [esp + 0x50]
call fcn.004894f0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [eax]
mov edx, dword [ecx + 0x10]
push 0x100610b8
push 0x10061110
push eax
call edx
test eax, eax
jge 0x495997
mov eax, dword [esp + 0x14]
cmp eax, edi
je 0x495953
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x14], edi
lea ecx, [esp + 0x5c]
call fcn.004894f0
mov eax, dword [esp + 0x10]
cmp eax, edi
je 0x495970
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x10], edi
lea esi, [esp + 0x24]
call fcn.00497d50
lea ecx, [esp + 0x1c]
call fcn.00497cc0
lea ecx, [esp + 0x50]
call fcn.004894f0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push eax
call edx
test eax, eax
jl 0x49593f
cmp dword [esp + 0x2c], edi
jne 0x4959b4
push ebx
call dword [0x1005f0c8]
mov esi, dword [0x1005f124]
push 1
push 0x10075e9c
call esi
push edi
push 0x10075e98
call esi
mov eax, dword [esp + 0x14]
cmp eax, edi
je 0x4959df
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x14], edi
lea ecx, [esp + 0x5c]
call fcn.004894f0
xor ebx, ebx
mov ecx, dword [ebp + 0xc]
cmp ecx, ebx
je 0x495a16
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
mov edx, dword [edx + 0x2c]
lea esi, [esp + 0x34]
push esi
push ecx
mov ecx, dword [0x10075e94]
mov ecx, dword [ecx]
push 0x100611d0
push 0x100611e0
push ecx
push eax
call edx
cmp dword [esp + 0x34], ebx
jne 0x495aa0
push 0x1006102c
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0x64]
push ecx
call fcn.00497ac0
mov esi, dword [esp + 0x68]
add esp, 0xc
push esi
call dword [0x1005f1f0]
cmp eax, 0xffffffff
mov eax, dword [esp + 0x10]
je 0x495a71
mov edx, dword [eax]
mov edx, dword [edx + 0x2c]
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [0x10075e94]
mov ecx, dword [ecx]
push 0x10061228
push 0x100611e0
push ecx
push eax
call edx
jmp 0x495a95
mov ecx, dword [eax]
lea edx, [esp + 0x34]
push edx
mov edx, dword [ebp + 8]
push edx
mov edx, dword [0x10075e94]
mov edx, dword [edx]
push 0x10061260
push 0x100611e0
push edx
push eax
mov eax, dword [ecx + 0x2c]
call eax
cmp esi, ebx
je 0x495aa0
mov eax, esi
call fcn.004b16a0
cmp dword [esp + 0x74], 0
je 0x495aad
call dword [0x1005f24c]
mov ecx, dword [esp + 0x78]
push ecx
call dword [0x1005f034]
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x10]
neg esi
sbb esi, esi
and esi, dword [esp + 0x6c]
test eax, eax
je 0x495adc
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x24]
test eax, eax
je 0x495ae9
call fcn.004b16a0
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x495af6
call fcn.004b16a0
mov eax, dword [esp + 0x50]
test eax, eax
je 0x495b03
call fcn.004b16a0
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8