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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x2c]
cmp eax, dword [ecx + 8]
jbe 0x4f5c72
sub esp, 0xac
xor ebx, ebx
xor ebx, ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
xor ebx, ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0xb4]
cmp ebx, 0
jne 0x4f541e
cmp byte [esp + 0xb8], 0
je 0x4f541e
mov ebx, 0x5ef668
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], 9
xor ebx, ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp], 0x5c5540
call fcn.0040db10
mov eax, dword [esp + 4]
mov dword [esp + 0x28], eax
mov ebp, dword [esp + 0x40]
mov dword [eax + 4], ebp
mov ebp, dword [esp + 0x3c]
cmp byte [0x6cfdd8], 0
jne 0x4f5409
mov dword [eax], ebp
mov edx, 0x6a69b0
mov dword [esp + 0x9c], edx
mov dword [esp + 0xa0], eax
mov dword [esp + 0x34], edx
mov dword [esp + 0xc0], edx
mov dword [esp + 0x38], eax
mov dword [esp + 0xc4], eax
mov dword [esp], 0x5d0de0
call fcn.0040db10
mov eax, dword [esp + 4]
mov ebp, 0x5eea22
mov dword [eax], ebp
mov dword [eax + 4], 5
mov dword [esp + 0x24], eax
mov ebp, dword [esp + 0xb4]
mov dword [eax + 0xc], ebp
mov ebp, dword [esp + 0xb0]
cmp byte [0x6cfdd8], 0
jne 0x4f53f4
mov dword [eax + 8], ebp
mov ebp, dword [esp + 0xc0]
mov dword [eax + 0x10], ebp
mov ebp, dword [esp + 0xc4]
cmp byte [0x6cfdd8], 0
jne 0x4f53df
mov dword [eax + 0x14], ebp
mov ecx, eax
mov eax, 0x6a6c50
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], ecx
add esp, 0xac
ret
lea esi, [eax + 0x14]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040e4e0
mov eax, dword [esp + 0x24]
jmp 0x4f53b8
lea esi, [eax + 8]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040e4e0
mov eax, dword [esp + 0x24]
jmp 0x4f539b
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040e4e0
mov eax, dword [esp + 0x28]
jmp 0x4f5333
mov dword [esp], 0x5df260
call fcn.0040db10
mov ecx, dword [esp + 0xb4]
mov ebx, dword [esp + 4]
mov dword [esp + 0xbc], ebx
cmp ecx, 1
jne 0x4f5493
mov ebp, dword [esp + 0xb0]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov ebp, 0x5ee26b
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
call fcn.00451c80
mov ecx, dword [esp + 0xb4]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f5493
mov ebx, dword [esp + 0xbc]
mov ebp, 0x5ee26b
mov dword [ebx + 0x1c], ebp
mov dword [ebx + 0x20], 1
add esp, 0xac
ret
mov ebx, dword [esp + 0xb0]
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.004f4da0
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xc0], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0xc4], ebx
mov ebx, dword [esp + 0xbc]
cmp ebx, 0
je 0x4f5c6b
mov dword [esp + 0x98], eax
mov dword [ebx + 4], eax
mov dword [esp + 0x94], ecx
cmp byte [0x6cfdd8], 0
jne 0x4f5c5a
mov dword [ebx], ecx
mov ebx, dword [esp + 0xc0]
cmp ebx, 0
jne 0x4f535c
mov ebx, dword [esp + 0xbc]
cld
mov ecx, dword [ebx]
mov dword [esp], ecx
mov ecx, dword [ebx + 4]
mov dword [esp + 4], ecx
call fcn.004fcd20
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0xbc]
cmp ebx, 0
je 0x4f5c53
mov dword [esp + 0x98], eax
mov dword [ebx + 4], eax
mov dword [esp + 0x94], ecx
cmp byte [0x6cfdd8], 0
jne 0x4f5c42
mov dword [ebx], ecx
mov esi, dword [esp + 0x74]
mov dword [esp + 0x5c], esi
mov eax, dword [esp + 0x78]
mov edi, 0x5ee279
mov dword [esp + 0x6c], edi
mov edx, 1
mov dword [esp + 0x60], eax
mov dword [esp + 0x70], edx
cmp eax, edx
jl 0x4f5c34
mov ecx, eax
sub ecx, edx
cmp ecx, eax
ja 0x4f5c3b
mov ebp, eax
sub ebp, ecx
mov eax, esi
cmp ebp, 0
je 0x4f55a8
add eax, ecx
mov esi, ebp
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ebp
cmp ebp, edx
jne 0x4f5c34
mov ebp, dword [esp + 0x94]
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
call fcn.00451c80
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f5c34
mov eax, 1
cmp al, 0
je 0x4f5bac
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
mov ebx, dword [esp + 0x78]
mov dword [esp + 4], ebx
mov ebx, 0x5ee279
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
call fcn.004fb980
mov ebx, dword [esp + 0x10]
cmp ebx, 1
jne 0x4f5bac
mov eax, 1
mov ebx, dword [esp + 0xbc]
mov byte [ebx + 0x2c], al
mov eax, dword [esp + 0x78]
dec eax
mov ebx, dword [esp + 0x78]
cmp eax, ebx
ja 0x4f5ba5
mov dword [esp + 0x78], eax
mov esi, dword [esp + 0x74]
mov dword [esp + 0x64], esi
mov edx, dword [esp + 0x78]
mov edi, 0x5ee270
mov dword [esp + 0x84], edi
mov eax, 1
mov dword [esp + 0x68], edx
mov dword [esp + 0x88], eax
cmp edx, eax
jl 0x4f5b97
cmp eax, edx
ja 0x4f5b9e
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], eax
cmp eax, eax
jne 0x4f5b97
mov ebp, dword [esp + 0x94]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
call fcn.00451c80
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f5b97
mov eax, 1
cmp al, 0
jne 0x4f57ba
mov ebx, dword [esp + 0xbc]
mov ebp, dword [ebx + 4]
cmp ebp, 0
je 0x4f5727
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0x78]
mov dword [ebx + 0xc], ebp
mov ebp, dword [esp + 0x74]
cmp byte [0x6cfdd8], 0
jne 0x4f5716
mov dword [ebx + 8], ebp
xor ebx, ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
add esp, 0xac
ret
lea esi, [ebx + 8]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040e4e0
jmp 0x4f56ff
cmp byte [esp + 0xb8], 0
je 0x4f57ba
mov ebx, 0x5f3af4
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], 0x17
xor ebx, ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp], 0x5c5540
call fcn.0040db10
mov eax, dword [esp + 4]
mov dword [esp + 0x28], eax
mov ebp, dword [esp + 0x48]
mov dword [eax + 4], ebp
mov ebp, dword [esp + 0x44]
cmp byte [0x6cfdd8], 0
jne 0x4f57a8
mov dword [eax], ebp
mov ecx, 0x6a69b0
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0xc4], eax
jmp 0x4f535c
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040e4e0
mov eax, dword [esp + 0x28]
jmp 0x4f577a
mov ebx, dword [esp + 0xbc]
mov ebp, dword [ebx + 4]
cmp ebp, 0
jne 0x4f585d
cmp byte [esp + 0xb8], 0
jne 0x4f59fa
mov esi, dword [esp + 0x74]
mov dword [esp + 0x54], esi
mov edx, dword [esp + 0x78]
mov edi, 0x5ee382
mov dword [esp + 0x7c], edi
mov eax, 3
mov dword [esp + 0x58], edx
mov dword [esp + 0x80], eax
cmp edx, eax
jl 0x4f5b89
cmp eax, edx
ja 0x4f5b90
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], eax
cmp eax, eax
jne 0x4f5b89
mov ebp, dword [esp + 0x94]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
call fcn.00451c80
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f5b89
mov eax, 1
cmp al, 0
jne 0x4f59fa
mov esi, dword [esp + 0x74]
mov dword [esp + 0x4c], esi
mov edx, dword [esp + 0x78]
mov edi, 0x5ee2ac
mov dword [esp + 0x8c], edi
mov eax, 2
mov dword [esp + 0x50], edx
mov dword [esp + 0x90], eax
cmp edx, eax
jl 0x4f5b7b
cmp eax, edx
ja 0x4f5b82
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], eax
cmp eax, eax
jne 0x4f5b7b
mov ebp, dword [esp + 0x94]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
call fcn.00451c80
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f5b7b
mov eax, 1
cmp al, 0
je 0x4f59fa
xor ebx, ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x78]
cmp ebx, 2
jb 0x4f5b74
sub ebx, 2
mov ecx, ebx
mov eax, dword [esp + 0x74]
cmp ebx, 0
je 0x4f5910
add eax, 2
mov dword [esp + 0x94], eax
mov dword [esp], eax
mov dword [esp + 0x98], ecx
mov dword [esp + 4], ecx
mov ebx, 0x5ee270
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
mov byte [esp + 0x10], 0
call fcn.004f4f80
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x78], ebx
mov dword [esp + 0xa4], ecx
mov dword [esp], ecx
mov dword [esp + 0xa8], eax
mov dword [esp + 4], eax
call fcn.004f5c80
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x94], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x98], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xc0], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xc4], ebx
mov ebx, dword [esp + 0xbc]
cmp ebx, 0
je 0x4f5b6d
cmp byte [0x6cfdd8], 0
jne 0x4f5b59
mov dword [ebx + 0x10], eax
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0x98]
mov dword [ebx + 0x18], ebp
mov ebp, dword [esp + 0x94]
cmp byte [0x6cfdd8], 0
jne 0x4f5b45
mov dword [ebx + 0x14], ebp
mov ebx, dword [esp + 0xc0]
cmp ebx, 0
jne 0x4f535c
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
mov ebx, dword [esp + 0x78]
mov dword [esp + 4], ebx
mov dword [esp + 8], 1
call fcn.004f4100
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xc0], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xc4], ebx
mov ebx, dword [esp + 0xbc]
cmp ebx, 0
je 0x4f5b3e
mov dword [esp + 0x98], eax
mov dword [ebx + 0x20], eax
mov dword [esp + 0x94], ecx
cmp byte [0x6cfdd8], 0
jne 0x4f5b2a
mov dword [ebx + 0x1c], ecx
mov ebx, dword [esp + 0xc0]
cmp ebx, 0
jne 0x4f535c
mov ebx, dword [esp + 0xbc]
mov dword [esp], ebx
call fcn.004f6620
mov edi, dword [esp + 0x78]
mov esi, dword [esp + 4]
mov edx, dword [esp + 8]
cmp edx, edi
jne 0x4f5adf
mov dword [esp + 0x94], esi
mov dword [esp], esi
mov dword [esp + 0x98], edx
mov dword [esp + 4], edx
mov ebp, dword [esp + 0x74]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edi
call fcn.00451c80
mov edi, dword [esp + 0x78]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f5adf
xor ebx, ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
add esp, 0xac
ret
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
mov dword [esp + 4], edi
call fcn.004f67f0
movzx ebx, byte [esp + 8]
cmp bl, 0
je 0x4f5ac8
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0x78]
mov dword [ebx + 0x28], ebp
mov ebp, dword [esp + 0x74]
cmp byte [0x6cfdd8], 0
jne 0x4f5b19
mov dword [ebx + 0x24], ebp
jmp 0x4f5ac8
lea esi, [ebx + 0x24]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040e4e0
jmp 0x4f5ac8
lea esi, [ebx + 0x1c]
mov dword [esp], esi
mov dword [esp + 4], ecx
call fcn.0040e4e0
jmp 0x4f5a65
mov dword [ebx], eax
jmp 0x4f5a44
lea esi, [ebx + 0x14]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040e4e0
jmp 0x4f59ea
lea esi, [ebx + 0x10]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.0040e4e0
jmp 0x4f59c2
mov dword [ebx], eax
jmp 0x4f59b2
call fcn.00427a00
ud2
xor eax, eax
jmp 0x4f58d9
call fcn.00427a00
ud2
xor eax, eax
jmp 0x4f5854
call fcn.00427a00
ud2
xor eax, eax
jmp 0x4f56c9
call fcn.00427a00
ud2
call fcn.00427a00
ud2
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
mov ebx, dword [esp + 0x78]
mov dword [esp + 4], ebx
mov ebx, 0x5ee279
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
mov byte [esp + 0x10], 1
call fcn.004f4f80
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x78], ebx
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0xbc]
cmp ebx, 0
je 0x4f5c30
mov dword [esp + 0x98], eax
mov dword [ebx + 0x34], eax
mov dword [esp + 0x94], ecx
cmp byte [0x6cfdd8], 0
jne 0x4f5c1c
mov dword [ebx + 0x30], ecx
jmp 0x4f564d
lea esi, [ebx + 0x30]
mov dword [esp], esi
mov dword [esp + 4], ecx
call fcn.0040e4e0
jmp 0x4f564d
mov dword [ebx], eax
jmp 0x4f5bfa
xor eax, eax
jmp 0x4f55ee
call fcn.00427a00
ud2
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.0040e4e0
jmp 0x4f5565
mov dword [ebx], eax
jmp 0x4f5545
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.0040e4e0
jmp 0x4f5504
mov dword [ebx], eax
jmp 0x4f54e4
call fcn.0044ff60
jmp fcn.004f5290