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

Disassembly:
mov ecx, dword [0x5efcb0]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x74]
cmp eax, dword [ecx + 8]
jbe 0x4f7757
sub esp, 0xf4
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
jmp 0x4f6d96
mov edx, dword [esp + 0xf8]
test byte [edx], al
cmp dword [edx + 0x18], 0xe
jb 0x4f6da7
jmp 0x4f6deb
mov eax, dword [esp + 0xf8]
mov dword [esp], eax
call fcn.004f8af0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], ecx
test eax, eax
jne 0x4f6dd2
jmp 0x4f6de7
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], ecx
add esp, 0xf4
ret
jmp 0x4f6de9
jmp 0x4f6d96
mov edx, dword [esp + 0xf8]
test byte [edx], al
mov edx, dword [edx + 0x14]
and edx, 0x1f
add edx, 0x101
mov dword [esp + 0x20], edx
cmp edx, 0x11e
jg 0x4f6e0e
jmp 0x4f6e57
mov eax, dword [esp + 0xf8]
test byte [eax], al
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], eax
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0046bb20
mov eax, dword [esp + 8]
mov dword [esp + 0xc8], eax
lea ecx, [0x53ad70]
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x100], eax
add esp, 0xf4
ret
mov edx, dword [esp + 0xf8]
test byte [edx], al
mov ebx, dword [esp + 0xf8]
test byte [ebx], al
mov ebx, dword [ebx + 0x14]
shr ebx, 5
mov dword [edx + 0x14], ebx
mov edx, dword [esp + 0xf8]
test byte [edx], al
mov edx, dword [edx + 0x14]
and edx, 0x1f
inc edx
mov dword [esp + 0x24], edx
cmp edx, 0x1e
jg 0x4f6e8d
jmp 0x4f6ed6
mov eax, dword [esp + 0xf8]
test byte [eax], al
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0046bb20
mov eax, dword [esp + 8]
mov dword [esp + 0xc4], eax
lea ecx, [0x53ad70]
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x100], eax
add esp, 0xf4
ret
mov edx, dword [esp + 0xf8]
test byte [edx], al
mov ebx, dword [esp + 0xf8]
test byte [ebx], al
mov ebx, dword [ebx + 0x14]
shr ebx, 5
mov dword [edx + 0x14], ebx
mov edx, dword [esp + 0xf8]
test byte [edx], al
mov edx, dword [edx + 0x14]
and edx, 0xf
add edx, 4
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0xf8]
test byte [edx], al
mov ebx, dword [esp + 0xf8]
test byte [ebx], al
mov ebx, dword [ebx + 0x14]
shr ebx, 4
mov dword [edx + 0x14], ebx
mov edx, dword [esp + 0xf8]
test byte [edx], al
mov ebx, dword [esp + 0xf8]
test byte [ebx], al
mov ebx, dword [ebx + 0x18]
add ebx, 0xfffffff2
mov dword [edx + 0x18], ebx
mov dword [esp + 0x40], 0
jmp 0x4f6f47
mov edx, dword [esp + 0x40]
cmp dword [esp + 0x28], edx
jg 0x4f6f53
jmp 0x4f6f58
jmp 0x4f7668
mov edx, dword [esp + 0x28]
mov dword [esp + 0x3c], edx
jmp 0x4f6f62
cmp dword [esp + 0x3c], 0x13
jl 0x4f6f6b
jmp 0x4f6fb0
mov edx, dword [esp + 0xf8]
test byte [edx], al
mov edx, dword [edx + 0x1048]
test byte [edx], al
mov eax, dword [esp + 0x3c]
cmp eax, 0x13
jb 0x4f6f8a
jmp 0x4f765e
lea ebx, [0x5c57a0]
lea ebx, [ebx + eax*4]
mov eax, dword [ebx]
cmp eax, 0x13
jb 0x4f6f9f
jmp 0x4f7654
lea edx, [edx + eax*4]
mov dword [edx], 0
jmp 0x4f6faa
inc dword [esp + 0x3c]
jmp 0x4f6f62
mov eax, dword [esp + 0xf8]
test byte [eax], al
mov eax, dword [eax + 0x1048]
test byte [eax], al
jmp 0x4f6fc3
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], 0x13
mov dword [esp + 0xe8], 0x13
mov eax, dword [esp + 0xf8]
test byte [eax], al
add eax, 0x1c
mov dword [esp + 0xc0], eax
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0xe4]
mov ebx, dword [esp + 0xe8]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.004f5f70
movzx eax, byte [esp + 0x10]
mov byte [esp + 0x17], al
test al, al
jne 0x4f702b
jmp 0x4f7041
mov dword [esp + 0x38], 0
mov eax, dword [esp + 0x20]
add eax, dword [esp + 0x24]
mov dword [esp + 0x30], eax
jmp 0x4f708a
mov eax, dword [esp + 0xf8]
test byte [eax], al
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0046bb20
mov eax, dword [esp + 8]
mov dword [esp + 0xbc], eax
lea ecx, [0x53ad70]
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x100], eax
add esp, 0xf4
ret
mov eax, dword [esp + 0x38]
cmp dword [esp + 0x30], eax
jg 0x4f7099
jmp 0x4f72ad
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov eax, dword [esp + 0xf8]
test byte [eax], al
add eax, 0x1c
mov dword [esp + 0xb8], eax
mov ecx, dword [esp + 0xf8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004f8c30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], edx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x80], ecx
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], edx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], edx
test eax, eax
jne 0x4f712b
jmp 0x4f7140
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], edx
add esp, 0xf4
ret
cmp dword [esp + 0x18], 0x10
jl 0x4f7149
jmp 0x4f717c
mov ebx, dword [esp + 0xf8]
test byte [ebx], al
mov ebx, dword [ebx + 0x1044]
test byte [ebx], al
mov eax, dword [esp + 0x38]
mov ebp, dword [esp + 0x18]
cmp eax, 0x13c
jb 0x4f716e
jmp 0x4f764a
lea eax, [ebx + eax*4]
mov dword [eax], ebp
inc dword [esp + 0x38]
jmp 0x4f7631
mov dword [esp + 0x1c], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x44], 0
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x60], ebx
cmp ebx, 0x10
je 0x4f71a6
jmp 0x4f723b
jmp 0x4f71a8
mov dword [esp + 0x1c], 3
mov dword [esp + 0x2c], 2
mov ebx, dword [esp + 0x38]
test ebx, ebx
je 0x4f71c2
jmp 0x4f720b
mov eax, dword [esp + 0xf8]
test byte [eax], al
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], eax
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0046bb20
mov eax, dword [esp + 8]
mov dword [esp + 0xb4], eax
lea ecx, [0x53ad70]
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x100], eax
add esp, 0xf4
ret
mov ebx, dword [esp + 0xf8]
test byte [ebx], al
mov ebx, dword [ebx + 0x1044]
test byte [ebx], al
mov ebp, dword [esp + 0x38]
lea eax, [ebp - 1]
cmp eax, 0x13c
jb 0x4f722f
jmp 0x4f7640
lea ebx, [ebx + ebp*4 - 4]
mov ebx, dword [ebx]
mov dword [esp + 0x44], ebx
jmp 0x4f7281
cmp ebx, 0x11
je 0x4f7242
jmp 0x4f725e
jmp 0x4f7244
mov dword [esp + 0x1c], 3
mov dword [esp + 0x2c], 3
mov dword [esp + 0x44], 0
jmp 0x4f7281
cmp ebx, 0x12
je 0x4f7265
jmp 0x4f7286
jmp 0x4f7267
mov dword [esp + 0x1c], 0xb
mov dword [esp + 0x2c], 7
mov dword [esp + 0x44], 0
jmp 0x4f7281
jmp 0x4f74cf
jmp 0x4f7288
jmp 0x4f728a
jmp 0x4f728c
lea eax, [0x53ad80]
mov dword [esp + 0xfc], eax
lea eax, [0x53a8a0]
mov dword [esp + 0x100], eax
add esp, 0xf4
ret
mov eax, dword [esp + 0xf8]
test byte [eax], al
mov eax, dword [eax + 0x1044]
test byte [eax], al
mov ecx, dword [esp + 0x20]
cmp ecx, 0x13c
jbe 0x4f72cf
jmp 0x4f74c5
jmp 0x4f72d1
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe8], 0x13c
mov eax, dword [esp + 0xf8]
test byte [eax], al
add eax, 0x1c
mov dword [esp + 0xac], eax
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0xe4]
mov ebx, dword [esp + 0xe8]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.004f5f70
movzx eax, byte [esp + 0x10]
mov byte [esp + 0x16], al
mov ecx, eax
xor eax, 1
mov byte [esp + 0x17], al
test cl, cl
jne 0x4f7341
jmp 0x4f73f5
mov ecx, dword [esp + 0x20]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x7c], ecx
mov ebx, dword [esp + 0xf8]
test byte [ebx], al
mov ebx, dword [ebx + 0x1044]
test byte [ebx], al
mov eax, dword [esp + 0x20]
cmp ecx, 0x13c
jbe 0x4f736f
jmp 0x4f74bb
cmp eax, ecx
jbe 0x4f7378
jmp 0x4f74b6
sub ecx, eax
lea edx, [eax - 0x13c]
neg edx
mov ebp, edx
neg edx
shl eax, 2
sar edx, 0x1f
and eax, edx
add eax, ebx
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], ebp
mov eax, dword [esp + 0xf8]
test byte [eax], al
add eax, 0x830
mov dword [esp + 0xa8], eax
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0xd0]
mov ebx, dword [esp + 0xd4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.004f5f70
movzx eax, byte [esp + 0x10]
mov byte [esp + 0x15], al
xor eax, 1
mov byte [esp + 0x17], al
jmp 0x4f73f7
jmp 0x4f73f7
movzx eax, byte [esp + 0x17]
test al, al
jne 0x4f7402
jmp 0x4f744b
mov eax, dword [esp + 0xf8]
test byte [eax], al
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], eax
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0046bb20
mov eax, dword [esp + 8]
mov dword [esp + 0xa4], eax
lea ecx, [0x53ad70]
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x100], eax
add esp, 0xf4
ret
mov eax, dword [esp + 0xf8]
test byte [eax], al
mov eax, dword [eax + 0x1c]
mov ecx, dword [esp + 0xf8]
test byte [ecx], al
mov ecx, dword [ecx + 0x1044]
test byte [ecx], al
cmp dword [ecx + 0x400], eax
jg 0x4f7472
jmp 0x4f7497
mov eax, dword [esp + 0xf8]
test byte [eax], al
mov ecx, dword [esp + 0xf8]
test byte [ecx], al
mov ecx, dword [ecx + 0x1044]
test byte [ecx], al
mov ecx, dword [ecx + 0x400]
mov dword [eax + 0x1c], ecx
jmp 0x4f7499
jmp 0x4f7499
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
add esp, 0xf4
ret
call fcn.00475890
mov edx, 0x13c
call fcn.00475850
mov edx, 0x13c
call fcn.00475850
mov ebx, dword [esp + 0xf8]
test byte [ebx], al
mov ebx, dword [ebx + 0x18]
cmp dword [esp + 0x2c], ebx
ja 0x4f74e3
jmp 0x4f7527
mov eax, dword [esp + 0xf8]
mov dword [esp], eax
call fcn.004f8af0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], ecx
test eax, eax
jne 0x4f750e
jmp 0x4f7523
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], ecx
add esp, 0xf4
ret
jmp 0x4f7525
jmp 0x4f74cf
mov ebx, dword [esp + 0xf8]
test byte [ebx], al
mov ecx, dword [esp + 0x2c]
mov ebp, 1
shl ebp, cl
cmp ecx, 0x20
sbb esi, esi
and ebp, esi
dec ebp
and ebp, dword [ebx + 0x14]
add dword [esp + 0x1c], ebp
mov ebx, dword [esp + 0xf8]
test byte [ebx], al
mov ebp, dword [esp + 0xf8]
test byte [ebp], al
mov ebp, dword [ebp + 0x14]
mov ecx, dword [esp + 0x2c]
shr ebp, cl
cmp ecx, 0x20
sbb esi, esi
and ebp, esi
mov dword [ebx + 0x14], ebp
mov ebx, dword [esp + 0xf8]
test byte [ebx], al
mov ebp, dword [esp + 0xf8]
test byte [ebp], al
mov ebp, dword [ebp + 0x18]
sub ebp, dword [esp + 0x2c]
mov dword [ebx + 0x18], ebp
mov ebx, dword [esp + 0x38]
add ebx, dword [esp + 0x1c]
cmp dword [esp + 0x30], ebx
jl 0x4f759d
jmp 0x4f75e6
mov eax, dword [esp + 0xf8]
test byte [eax], al
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], eax
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0046bb20
mov eax, dword [esp + 8]
mov dword [esp + 0xb0], eax
lea ecx, [0x53ad70]
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x100], eax
add esp, 0xf4
ret
mov dword [esp + 0x34], 0
jmp 0x4f75f0
mov ebx, dword [esp + 0x34]
cmp dword [esp + 0x1c], ebx
jg 0x4f75fc
jmp 0x4f762f
mov ebx, dword [esp + 0xf8]
test byte [ebx], al
mov ebx, dword [ebx + 0x1044]
test byte [ebx], al
mov eax, dword [esp + 0x38]
mov ebp, dword [esp + 0x44]
cmp eax, 0x13c
jb 0x4f761e
jmp 0x4f7636
lea ebx, [ebx + eax*4]
mov dword [ebx], ebp
inc dword [esp + 0x38]
jmp 0x4f7629
inc dword [esp + 0x34]
jmp 0x4f75f0
jmp 0x4f7631
jmp 0x4f708a
mov ecx, 0x13c
call fcn.00475830
mov ecx, 0x13c
call fcn.00475830
mov ecx, 0x13c
call fcn.00475830
mov ecx, 0x13
call fcn.00475830
mov ecx, 0x13
call fcn.00475830
mov edx, dword [esp + 0xf8]
test byte [edx], al
cmp dword [edx + 0x18], 3
jb 0x4f7679
jmp 0x4f76bd
mov eax, dword [esp + 0xf8]
mov dword [esp], eax
call fcn.004f8af0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
test eax, eax
jne 0x4f76a4
jmp 0x4f76b9
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], ecx
add esp, 0xf4
ret
jmp 0x4f76bb
jmp 0x4f7668
mov edx, dword [esp + 0xf8]
test byte [edx], al
mov edx, dword [edx + 0x1048]
test byte [edx], al
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0xf8]
test byte [ebx], al
mov ebx, dword [ebx + 0x14]
and ebx, 7
cmp eax, 0x13
jb 0x4f76e8
jmp 0x4f774c
lea ebp, [0x5c57a0]
lea ebp, [ebp + eax*4]
mov eax, dword [ebp]
cmp eax, 0x13
jb 0x4f76fc
jmp 0x4f7742
lea edx, [edx + eax*4]
mov dword [edx], ebx
mov edx, dword [esp + 0xf8]
test byte [edx], al
mov ebx, dword [esp + 0xf8]
test byte [ebx], al
mov ebx, dword [ebx + 0x14]
shr ebx, 3
mov dword [edx + 0x14], ebx
mov edx, dword [esp + 0xf8]
test byte [edx], al
mov ebx, dword [esp + 0xf8]
test byte [ebx], al
mov ebx, dword [ebx + 0x18]
add ebx, 0xfffffffd
mov dword [edx + 0x18], ebx
jmp 0x4f7739
inc dword [esp + 0x40]
jmp 0x4f6f47
mov ecx, 0x13
call fcn.00475830
mov ecx, 0x13
call fcn.00475830
nop
call fcn.004743b0
jmp fcn.004f6d60