Function at 0x4f5230
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 0x4f5c12
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 0x4f53be
cmp byte [esp + 0xb8], 0
je 0x4f53be
mov ebx, 0x5ef608
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], 0x5c54e0
call fcn.0040da40
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 [0x6cfdf8], 0
jne 0x4f53a9
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], 0x5d0d80
call fcn.0040da40
mov eax, dword [esp + 4]
mov ebp, 0x5ee9c2
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 [0x6cfdf8], 0
jne 0x4f5394
mov dword [eax + 8], ebp
mov ebp, dword [esp + 0xc0]
mov dword [eax + 0x10], ebp
mov ebp, dword [esp + 0xc4]
cmp byte [0x6cfdf8], 0
jne 0x4f537f
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.0040e410
mov eax, dword [esp + 0x24]
jmp 0x4f5358
lea esi, [eax + 8]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040e410
mov eax, dword [esp + 0x24]
jmp 0x4f533b
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040e410
mov eax, dword [esp + 0x28]
jmp 0x4f52d3
mov dword [esp], 0x5df200
call fcn.0040da40
mov ecx, dword [esp + 0xb4]
mov ebx, dword [esp + 4]
mov dword [esp + 0xbc], ebx
cmp ecx, 1
jne 0x4f5433
mov ebp, dword [esp + 0xb0]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov ebp, 0x5ee20b
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
call fcn.00451bb0
mov ecx, dword [esp + 0xb4]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f5433
mov ebx, dword [esp + 0xbc]
mov ebp, 0x5ee20b
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.004f4d40
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 0x4f5c0b
mov dword [esp + 0x98], eax
mov dword [ebx + 4], eax
mov dword [esp + 0x94], ecx
cmp byte [0x6cfdf8], 0
jne 0x4f5bfa
mov dword [ebx], ecx
mov ebx, dword [esp + 0xc0]
cmp ebx, 0
jne 0x4f52fc
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.004fccc0
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0xbc]
cmp ebx, 0
je 0x4f5bf3
mov dword [esp + 0x98], eax
mov dword [ebx + 4], eax
mov dword [esp + 0x94], ecx
cmp byte [0x6cfdf8], 0
jne 0x4f5be2
mov dword [ebx], ecx
mov esi, dword [esp + 0x74]
mov dword [esp + 0x5c], esi
mov eax, dword [esp + 0x78]
mov edi, 0x5ee219
mov dword [esp + 0x6c], edi
mov edx, 1
mov dword [esp + 0x60], eax
mov dword [esp + 0x70], edx
cmp eax, edx
jl 0x4f5bd4
mov ecx, eax
sub ecx, edx
cmp ecx, eax
ja 0x4f5bdb
mov ebp, eax
sub ebp, ecx
mov eax, esi
cmp ebp, 0
je 0x4f5548
add eax, ecx
mov esi, ebp
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ebp
cmp ebp, edx
jne 0x4f5bd4
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.00451bb0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f5bd4
mov eax, 1
cmp al, 0
je 0x4f5b4c
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
mov ebx, dword [esp + 0x78]
mov dword [esp + 4], ebx
mov ebx, 0x5ee219
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
call fcn.004fb920
mov ebx, dword [esp + 0x10]
cmp ebx, 1
jne 0x4f5b4c
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 0x4f5b45
mov dword [esp + 0x78], eax
mov esi, dword [esp + 0x74]
mov dword [esp + 0x64], esi
mov edx, dword [esp + 0x78]
mov edi, 0x5ee210
mov dword [esp + 0x84], edi
mov eax, 1
mov dword [esp + 0x68], edx
mov dword [esp + 0x88], eax
cmp edx, eax
jl 0x4f5b37
cmp eax, edx
ja 0x4f5b3e
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], eax
cmp eax, eax
jne 0x4f5b37
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.00451bb0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f5b37
mov eax, 1
cmp al, 0
jne 0x4f575a
mov ebx, dword [esp + 0xbc]
mov ebp, dword [ebx + 4]
cmp ebp, 0
je 0x4f56c7
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0x78]
mov dword [ebx + 0xc], ebp
mov ebp, dword [esp + 0x74]
cmp byte [0x6cfdf8], 0
jne 0x4f56b6
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.0040e410
jmp 0x4f569f
cmp byte [esp + 0xb8], 0
je 0x4f575a
mov ebx, 0x5f3a94
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], 0x5c54e0
call fcn.0040da40
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 [0x6cfdf8], 0
jne 0x4f5748
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 0x4f52fc
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040e410
mov eax, dword [esp + 0x28]
jmp 0x4f571a
mov ebx, dword [esp + 0xbc]
mov ebp, dword [ebx + 4]
cmp ebp, 0
jne 0x4f57fd
cmp byte [esp + 0xb8], 0
jne 0x4f599a
mov esi, dword [esp + 0x74]
mov dword [esp + 0x54], esi
mov edx, dword [esp + 0x78]
mov edi, 0x5ee322
mov dword [esp + 0x7c], edi
mov eax, 3
mov dword [esp + 0x58], edx
mov dword [esp + 0x80], eax
cmp edx, eax
jl 0x4f5b29
cmp eax, edx
ja 0x4f5b30
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], eax
cmp eax, eax
jne 0x4f5b29
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.00451bb0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f5b29
mov eax, 1
cmp al, 0
jne 0x4f599a
mov esi, dword [esp + 0x74]
mov dword [esp + 0x4c], esi
mov edx, dword [esp + 0x78]
mov edi, 0x5ee24c
mov dword [esp + 0x8c], edi
mov eax, 2
mov dword [esp + 0x50], edx
mov dword [esp + 0x90], eax
cmp edx, eax
jl 0x4f5b1b
cmp eax, edx
ja 0x4f5b22
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], eax
cmp eax, eax
jne 0x4f5b1b
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.00451bb0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f5b1b
mov eax, 1
cmp al, 0
je 0x4f599a
xor ebx, ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x78]
cmp ebx, 2
jb 0x4f5b14
sub ebx, 2
mov ecx, ebx
mov eax, dword [esp + 0x74]
cmp ebx, 0
je 0x4f58b0
add eax, 2
mov dword [esp + 0x94], eax
mov dword [esp], eax
mov dword [esp + 0x98], ecx
mov dword [esp + 4], ecx
mov ebx, 0x5ee210
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
mov byte [esp + 0x10], 0
call fcn.004f4f20
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.004f5c20
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 0x4f5b0d
cmp byte [0x6cfdf8], 0
jne 0x4f5af9
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 [0x6cfdf8], 0
jne 0x4f5ae5
mov dword [ebx + 0x14], ebp
mov ebx, dword [esp + 0xc0]
cmp ebx, 0
jne 0x4f52fc
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.004f40a0
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 0x4f5ade
mov dword [esp + 0x98], eax
mov dword [ebx + 0x20], eax
mov dword [esp + 0x94], ecx
cmp byte [0x6cfdf8], 0
jne 0x4f5aca
mov dword [ebx + 0x1c], ecx
mov ebx, dword [esp + 0xc0]
cmp ebx, 0
jne 0x4f52fc
mov ebx, dword [esp + 0xbc]
mov dword [esp], ebx
call fcn.004f65c0
mov edi, dword [esp + 0x78]
mov esi, dword [esp + 4]
mov edx, dword [esp + 8]
cmp edx, edi
jne 0x4f5a7f
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.00451bb0
mov edi, dword [esp + 0x78]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x4f5a7f
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.004f6790
movzx ebx, byte [esp + 8]
cmp bl, 0
je 0x4f5a68
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0x78]
mov dword [ebx + 0x28], ebp
mov ebp, dword [esp + 0x74]
cmp byte [0x6cfdf8], 0
jne 0x4f5ab9
mov dword [ebx + 0x24], ebp
jmp 0x4f5a68
lea esi, [ebx + 0x24]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040e410
jmp 0x4f5a68
lea esi, [ebx + 0x1c]
mov dword [esp], esi
mov dword [esp + 4], ecx
call fcn.0040e410
jmp 0x4f5a05
mov dword [ebx], eax
jmp 0x4f59e4
lea esi, [ebx + 0x14]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.0040e410
jmp 0x4f598a
lea esi, [ebx + 0x10]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.0040e410
jmp 0x4f5962
mov dword [ebx], eax
jmp 0x4f5952
call fcn.00427930
ud2
xor eax, eax
jmp 0x4f5879
call fcn.00427930
ud2
xor eax, eax
jmp 0x4f57f4
call fcn.00427930
ud2
xor eax, eax
jmp 0x4f5669
call fcn.00427930
ud2
call fcn.00427930
ud2
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
mov ebx, dword [esp + 0x78]
mov dword [esp + 4], ebx
mov ebx, 0x5ee219
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
mov byte [esp + 0x10], 1
call fcn.004f4f20
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 0x4f5bd0
mov dword [esp + 0x98], eax
mov dword [ebx + 0x34], eax
mov dword [esp + 0x94], ecx
cmp byte [0x6cfdf8], 0
jne 0x4f5bbc
mov dword [ebx + 0x30], ecx
jmp 0x4f55ed
lea esi, [ebx + 0x30]
mov dword [esp], esi
mov dword [esp + 4], ecx
call fcn.0040e410
jmp 0x4f55ed
mov dword [ebx], eax
jmp 0x4f5b9a
xor eax, eax
jmp 0x4f558e
call fcn.00427930
ud2
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.0040e410
jmp 0x4f5505
mov dword [ebx], eax
jmp 0x4f54e5
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.0040e410
jmp 0x4f54a4
mov dword [ebx], eax
jmp 0x4f5484
call fcn.0044fe90
jmp fcn.004f5230