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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x521758
mov eax, dword fs:[0]
push eax
sub esp, 0x54
mov eax, dword [0x56858c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov ebx, dword [esi + 0x64]
mov dword [ebp - 0x3c], ebx
cmp ebx, dword [esi + 0x68]
je 0x4f6d61
mov edx, dword [ebx]
test edx, edx
jne 0x4f6626
xor ecx, ecx
jmp 0x4f663c
mov eax, dword [ebx + 8]
test eax, eax
je 0x4f6632
mov eax, dword [eax + 0xc]
jmp 0x4f6634
xor eax, eax
mov ecx, dword [ebx + 4]
imul ecx, eax
add ecx, edx
mov eax, dword [ecx]
mov edx, dword [eax + 0x28]
call edx
test eax, eax
je 0x4f6af5
mov edx, dword [ebx]
test edx, edx
jne 0x4f6655
xor ecx, ecx
jmp 0x4f666b
mov eax, dword [ebx + 8]
test eax, eax
je 0x4f6661
mov eax, dword [eax + 0xc]
jmp 0x4f6663
xor eax, eax
mov ecx, dword [ebx + 4]
imul ecx, eax
add ecx, edx
mov eax, dword [ecx]
mov edx, dword [eax + 0x20]
call edx
test eax, eax
je 0x4f6af5
mov edx, dword [ebx]
test edx, edx
jne 0x4f6684
xor ecx, ecx
jmp 0x4f669a
mov eax, dword [ebx + 8]
test eax, eax
je 0x4f6690
mov eax, dword [eax + 0xc]
jmp 0x4f6692
xor eax, eax
mov ecx, dword [ebx + 4]
imul ecx, eax
add ecx, edx
mov eax, dword [ecx]
mov edx, dword [eax + 0x48]
call edx
mov eax, dword [ebx]
test eax, eax
jne 0x4f66ab
xor ecx, ecx
jmp 0x4f66c1
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x4f66b7
mov edx, dword [ecx + 0xc]
jmp 0x4f66b9
xor edx, edx
mov ecx, dword [ebx + 4]
imul ecx, edx
add ecx, eax
mov eax, dword [ecx]
mov edx, dword [eax + 0x50]
call edx
mov edi, eax
cmp edi, 0xa
je 0x4f6b09
cmp edi, 9
je 0x4f6b15
cmp edi, 0xb
jne 0x4f678c
mov ecx, esi
call fcn.004cff80
test eax, eax
je 0x4f6af5
mov ecx, ebx
mov dword [esi + 0x78], 6
mov dword [esi + 0x7c], 0
mov dword [esi + 0x18c], 0xffffffff
call fcn.00406d00
mov edx, dword [eax]
mov edx, dword [edx + 0x14]
push edi
lea ecx, [ebp - 0x38]
push ecx
mov ecx, eax
call edx
cmp dword [ebp - 0x38], 0
mov dword [ebp - 4], 1
je 0x4f6778
lea ecx, [ebp - 0x38]
call fcn.00406d00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 8]
call eax
lea ecx, [ebp - 0x38]
call fcn.00406d00
mov edx, dword [eax]
mov edx, dword [edx + 0x3c]
mov edi, dword [esi]
lea ecx, [ebp - 0x20]
push ecx
mov ecx, eax
call edx
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov edx, dword [edi + 0x64]
mov dword [ecx + 0xc], eax
mov ecx, esi
call edx
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
call fcn.004051f0
jmp 0x4f6d61
cmp edi, 0x21
je 0x4f6d4a
cmp edi, 0x22
je 0x4f6d4a
cmp edi, 0x23
je 0x4f6d4a
cmp edi, 0x24
je 0x4f6d4a
cmp edi, 0x25
je 0x4f6d4a
cmp edi, 0x26
je 0x4f6d4a
cmp edi, 0x27
je 0x4f6d4a
cmp edi, 0x28
je 0x4f6d4a
cmp edi, 0x11
je 0x4f6c9a
cmp edi, 0x12
je 0x4f6c9a
cmp edi, 0x13
je 0x4f6c9a
cmp edi, 0x14
je 0x4f6c9a
cmp edi, 0x15
je 0x4f6c9a
cmp edi, 0x16
je 0x4f6c9a
cmp edi, 0x17
je 0x4f6c9a
cmp edi, 0x18
je 0x4f6c9a
cmp edi, 8
je 0x4f6c0a
cmp edi, 0xc
je 0x4f6c4d
cmp edi, 0xd
je 0x4f6c71
cmp edi, 0xe
je 0x4f6c71
cmp edi, 0xf
je 0x4f6c71
cmp edi, 0x2c
jne 0x4f6999
mov eax, dword [esi]
mov eax, dword [eax + 0x90]
xor ecx, ecx
cmp dword [esi + 0xf0], ecx
lea edx, [ebp - 0x60]
setne cl
push ecx
push edx
mov ecx, esi
call eax
cmp dword [ebp - 0x60], 0
mov dword [ebp - 4], 3
je 0x4f688e
lea ecx, [ebp - 0x60]
call fcn.00406d00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x1c]
push 0
call eax
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
call fcn.004051f0
mov edx, dword [esi]
mov edx, dword [edx + 0x90]
xor eax, eax
xor edi, edi
cmp dword [esi + 0xf0], eax
lea ecx, [ebp - 0x38]
setne al
add eax, 2
push eax
push ecx
mov ecx, esi
call edx
mov dword [ebp - 4], 4
cmp dword [ebp - 0x38], edi
je 0x4f68eb
lea ecx, [ebp - 0x38]
call fcn.00406d00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x1c]
push edi
call eax
push edi
lea ecx, [ebp - 0x38]
call fcn.004832d0
mov edi, dword [eax + 0x84]
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
call fcn.004051f0
mov edx, dword [esi]
mov edx, dword [edx + 0x90]
xor eax, eax
cmp dword [esi + 0xf0], eax
lea ecx, [ebp - 0x2c]
setne al
add eax, 6
push eax
push ecx
mov ecx, esi
call edx
cmp dword [ebp - 0x2c], 0
mov dword [ebp - 4], 5
je 0x4f696d
lea ecx, [ebp - 0x2c]
call fcn.00406d00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x1c]
push 1
call eax
lea ecx, [ebp - 0x2c]
call fcn.00406d00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x24]
push 1
call eax
push 0
lea ecx, [ebp - 0x2c]
call fcn.004832d0
lea ecx, [ebp - 0x2c]
mov dword [eax + 0x84], edi
call fcn.00406d00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x44]
call eax
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 0xffffffff
call fcn.004051f0
mov edx, dword [esi]
mov eax, dword [edx]
mov ecx, esi
call eax
mov edx, dword [eax]
mov edx, dword [edx + 8]
lea ecx, [esi + 0x84]
push ecx
mov ecx, eax
call edx
jmp 0x4f6af5
cmp edi, 0x2d
je 0x4f69a7
cmp edi, 0x2e
jne 0x4f6af5
mov eax, dword [esi]
mov eax, dword [eax + 0x90]
xor ecx, ecx
cmp dword [esi + 0xf0], ecx
lea edx, [ebp - 0x1c]
setne cl
push ecx
push edx
mov ecx, esi
call eax
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 4], 6
je 0x4f69e3
lea ecx, [ebp - 0x1c]
call fcn.00406d00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x1c]
push 1
call eax
lea ecx, [ebp - 0x1c]
mov dword [ebp - 4], 0xffffffff
call fcn.004051f0
mov edx, dword [esi]
mov edx, dword [edx + 0x90]
xor eax, eax
xor ebx, ebx
cmp dword [esi + 0xf0], eax
lea ecx, [ebp - 0x54]
setne al
add eax, 6
push eax
push ecx
mov ecx, esi
call edx
mov dword [ebp - 4], 7
cmp dword [ebp - 0x54], ebx
je 0x4f6a57
lea ecx, [ebp - 0x54]
call fcn.00406d00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x1c]
push ebx
call eax
lea ecx, [ebp - 0x54]
call fcn.00406d00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x24]
push ebx
call eax
cmp edi, 0x2e
jne 0x4f6a57
push ebx
lea ecx, [ebp - 0x54]
call fcn.004832d0
mov ebx, dword [eax + 0x8c]
lea ecx, [ebp - 0x54]
mov dword [ebp - 4], 0xffffffff
call fcn.004051f0
mov edx, dword [esi]
mov edx, dword [edx + 0x90]
xor eax, eax
cmp dword [esi + 0xf0], eax
lea ecx, [ebp - 0x48]
setne al
add eax, 2
push eax
push ecx
mov ecx, esi
call edx
cmp dword [ebp - 0x48], 0
mov dword [ebp - 4], 8
je 0x4f6acb
lea ecx, [ebp - 0x48]
call fcn.00406d00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x1c]
push 1
call eax
cmp edi, 0x2e
jne 0x4f6acb
push 0
lea ecx, [ebp - 0x48]
call fcn.004832d0
lea ecx, [ebp - 0x48]
mov dword [eax + 0x88], ebx
call fcn.00406d00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x44]
call eax
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
call fcn.004051f0
mov edx, dword [esi]
mov eax, dword [edx]
mov ecx, esi
call eax
mov edx, dword [eax]
mov edx, dword [edx + 8]
lea ecx, [esi + 0x84]
push ecx
mov ecx, eax
call edx
mov ebx, dword [ebp - 0x3c]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
cmp ebx, dword [esi + 0x68]
jne 0x4f661c
jmp 0x4f6d61
mov dword [esi + 0x78], 2
jmp 0x4f6d5a
xor edx, edx
mov dword [esi + 0x78], 5
mov dword [esi + 0x7c], edx
mov eax, dword [ebx]
cmp eax, edx
jne 0x4f6b2b
xor ecx, ecx
jmp 0x4f6b3d
mov ecx, dword [ebx + 8]
cmp ecx, edx
je 0x4f6b35
mov edx, dword [ecx + 0xc]
mov ecx, dword [ebx + 4]
imul ecx, edx
add ecx, eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x14]
push 9
lea edx, [ebp - 0x2c]
push edx
call eax
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 4], 0
test ecx, ecx
je 0x4f6bc4
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x4f6b64
mov eax, dword [eax + 0xc]
jmp 0x4f6b66
xor eax, eax
imul eax, dword [ebp - 0x28]
mov edx, dword [ecx + eax]
add ecx, eax
mov eax, dword [edx + 8]
call eax
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
jne 0x4f6b7f
xor eax, eax
jmp 0x4f6b93
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x4f6b8b
mov eax, dword [eax + 0xc]
jmp 0x4f6b8d
xor eax, eax
imul eax, dword [ebp - 0x28]
add eax, ecx
mov edx, dword [eax]
mov edx, dword [edx + 0x3c]
mov edi, dword [esi]
lea ecx, [ebp - 0x20]
push ecx
mov ecx, eax
call edx
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov edx, dword [edi + 0x64]
mov dword [ecx + 0xc], eax
mov ecx, esi
call edx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
test eax, eax
je 0x4f6d61
dec dword [eax + 4]
cmp dword [eax + 4], 0
mov ecx, eax
jne 0x4f6d61
cmp byte [ecx + 8], 0
je 0x4f6bf1
mov eax, dword [ecx]
mov edx, dword [eax]
call edx
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x4f6d61
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push 1
call edx
jmp 0x4f6d61
push 6
call fcn.004174d0
mov ecx, eax
call fcn.00404910
mov eax, dword [eax + 0x14]
mov dword [esi + 0xf0], eax
push eax
mov ecx, esi
call fcn.004f5b70
mov ecx, esi
call fcn.004b2940
mov eax, dword [esi]
mov edx, dword [eax]
mov ecx, esi
call edx
mov edx, dword [eax]
add esi, 0x84
mov ecx, eax
mov eax, dword [edx + 8]
push esi
call eax
jmp 0x4f6d61
push 0
mov ecx, esi
mov dword [esi + 0xf0], 0
call fcn.004f5b70
mov ecx, esi
call fcn.004b2940
mov edx, dword [esi]
mov eax, dword [edx]
mov ecx, esi
call eax
jmp 0x4f6c38
add edi, 0xfffffff4
push 6
mov dword [esi + 0xf0], edi
call fcn.004174d0
mov ecx, eax
call fcn.00404910
mov ecx, dword [esi + 0xf0]
mov dword [eax + 0x14], ecx
mov edx, dword [esi + 0xf0]
push edx
jmp 0x4f6c22
mov eax, dword [esi + 0xf0]
test eax, eax
jne 0x4f6cbd
mov dword [esi + 0x78], 7
mov dword [esi + 0x188], 0xfffffffd
add edi, 0xffffffef
jmp 0x4f6d54
cmp eax, 2
jne 0x4f6cd8
mov dword [esi + 0x188], 0xffffffff
mov dword [esi + 0x78], 8
add edi, 0xffffffef
jmp 0x4f6d54
cmp eax, 3
jne 0x4f6cf3
mov dword [esi + 0x188], 0xfffffffe
mov dword [esi + 0x78], 8
add edi, 0xffffffef
jmp 0x4f6d54
mov edx, dword [esi]
mov edx, dword [edx + 0x90]
push 3
lea eax, [ebp - 0x38]
push eax
mov ecx, esi
call edx
cmp dword [ebp - 0x38], 0
lea ecx, [ebp - 0x38]
jne 0x4f6d1c
mov dword [ebp - 4], 0xffffffff
call fcn.004051f0
jmp 0x4f6d61
push 0
call fcn.004832d0
mov eax, dword [eax + 0x84]
lea ecx, [ebp - 0x38]
mov dword [esi + 0x188], eax
mov dword [ebp - 4], 0xffffffff
call fcn.004051f0
mov dword [esi + 0x78], 8
add edi, 0xffffffef
jmp 0x4f6d54
mov dword [esi + 0x78], 6
add edi, 0xffffffdf
mov dword [esi + 0x18c], edi
mov dword [esi + 0x7c], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00503edb
mov esp, ebp
pop ebp
ret