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

Disassembly:
mov ecx, dword [0x5efcb0]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x5c]
cmp eax, dword [ecx + 8]
jbe 0x4f44ee
sub esp, 0xdc
mov edx, dword [esp + 0xe0]
test byte [edx], al
mov edx, dword [edx + 0x18c]
test edx, edx
jne 0x4f3c93
jmp 0x4f3c9a
add esp, 0xdc
ret
mov dword [esp + 0x64], 0
mov edx, dword [esp + 0xe0]
test byte [edx], al
mov edx, dword [edx + 0x160]
mov dword [esp + 0x60], edx
jmp 0x4f3cb7
mov edx, dword [esp + 0x64]
cmp dword [esp + 0x60], edx
jg 0x4f3cc3
jmp 0x4f3cfa
mov eax, dword [esp + 0x64]
mov dword [esp + 0x34], eax
mov edx, dword [esp + 0xe0]
test byte [edx], al
mov ecx, dword [edx + 0x160]
mov edx, dword [edx + 0x15c]
cmp ecx, eax
ja 0x4f3ce9
jmp 0x4f44e8
lea edx, [edx + eax*4]
mov dword [edx], 0
jmp 0x4f3cf4
inc dword [esp + 0x64]
jmp 0x4f3cb7
mov eax, dword [esp + 0xe0]
test byte [eax], al
mov ecx, dword [eax + 0x15c]
mov edx, dword [eax + 0x160]
mov eax, dword [eax + 0x164]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], edx
mov dword [esp + 0xb4], eax
mov ebx, dword [esp + 0xe8]
mov ebp, dword [esp + 0xec]
mov esi, dword [esp + 0xf0]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
call fcn.004f4500
mov eax, dword [esp + 0xe0]
test byte [eax], al
mov ecx, dword [eax + 0x160]
mov eax, dword [eax + 0x15c]
cmp ecx, 0x100
ja 0x4f3d7d
jmp 0x4f44de
mov dword [eax + 0x400], 1
mov edx, dword [esp + 0xe0]
test byte [edx], al
mov ecx, dword [edx + 0x16c]
mov edx, dword [edx + 0x168]
test ecx, ecx
ja 0x4f3da5
jmp 0x4f44d7
mov dword [edx], 1
mov eax, dword [esp + 0xe0]
test byte [eax], al
mov eax, dword [eax + 0x180]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xe0]
test byte [eax], al
mov ecx, dword [eax + 0x15c]
mov edx, dword [eax + 0x160]
mov eax, dword [eax + 0x164]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], edx
mov dword [esp + 0xa4], eax
mov ebx, dword [esp + 0xa8]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0xf
call fcn.004f5650
mov dword [esp + 0x2c], 0
mov eax, dword [esp + 0xe0]
test byte [eax], al
mov eax, dword [eax + 0x180]
mov dword [esp + 0x98], eax
mov ecx, dword [0x5cf454]
mov edx, dword [esp + 0xe0]
mov dword [esp], edx
mov dword [esp + 4], 0x101
mov dword [esp + 8], 1
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.004f1a50
mov eax, dword [esp + 0xe0]
test byte [eax], al
add eax, 0x10c
test byte [eax], al
jmp 0x4f3e71
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], 0x13
mov dword [esp + 0xd8], 0x13
mov eax, dword [esp + 0xe0]
test byte [eax], al
mov eax, dword [eax + 0x188]
mov dword [esp + 0x94], eax
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0xd4]
mov ebx, dword [esp + 0xd8]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 7
call fcn.004f5650
mov eax, dword [esp + 0xe0]
test byte [eax], al
mov eax, dword [eax + 0x180]
mov dword [esp + 0x90], eax
mov ecx, dword [0x5cf454]
mov edx, dword [esp + 0xe0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
call fcn.004f1ff0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], ecx
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xf0]
mov ebx, dword [esp + 0xe0]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call fcn.004f22c0
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
mov dword [esp + 0x68], eax
mov byte [esp + 0x1a], cl
mov eax, dword [esp + 0x68]
mov dword [esp + 0x70], eax
movzx eax, byte [esp + 0x1a]
mov byte [esp + 0x1b], al
mov eax, dword [esp + 0x70]
mov dword [esp + 0x24], eax
movzx eax, byte [esp + 0x1b]
mov byte [esp + 0x19], al
mov byte [esp + 0x1a], al
test al, al
jne 0x4f3f9d
jmp 0x4f3fb5
mov eax, dword [esp + 0x28]
sar eax, 4
add eax, dword [esp + 0x28]
cmp dword [esp + 0x24], eax
setl al
mov byte [esp + 0x1a], al
jmp 0x4f3fb7
jmp 0x4f3fb7
movzx eax, byte [esp + 0x1a]
test al, al
jne 0x4f3fc2
jmp 0x4f4023
mov eax, dword [esp + 0xec]
mov dword [esp + 0x68], eax
movzx ecx, byte [esp + 0xe4]
mov edx, dword [esp + 0xe0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov byte [esp + 8], cl
call fcn.004f2950
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xf0]
mov ebx, dword [esp + 0xe0]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call fcn.004f1890
add esp, 0xdc
ret
mov eax, dword [esp + 0x2c]
movzx ecx, byte [esp + 0xe4]
mov edx, dword [esp + 0xe0]
mov dword [esp], edx
mov dword [esp + 4], 0x101
mov dword [esp + 8], 1
mov dword [esp + 0xc], eax
mov byte [esp + 0x10], cl
call fcn.004f2640
mov eax, dword [esp + 0xe0]
test byte [eax], al
mov eax, dword [eax + 0x180]
test byte [eax], al
mov edx, dword [eax + 8]
mov eax, dword [eax]
cmp edx, 0x101
jae 0x4f4079
jmp 0x4f44cd
jmp 0x4f407b
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], 0x101
mov dword [esp + 0x7c], edx
mov ebx, dword [esp + 0xe0]
test byte [ebx], al
mov ebx, dword [ebx + 0x158]
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0xec]
mov ebp, dword [esp + 0xe8]
mov esi, dword [esp + 0xf0]
mov dword [esp + 0xc4], ebp
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xcc], esi
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], ebx
jmp 0x4f40d6
mov ebx, dword [esp + 0x5c]
cmp dword [esp + 0x58], ebx
jg 0x4f40e5
jmp 0x4f440f
mov ebx, dword [esp + 0xc4]
add ebx, dword [esp + 0x5c]
movzx ebx, byte [ebx]
mov byte [esp + 0x18], bl
movzx eax, bl
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x74]
cmp ecx, eax
ja 0x4f410b
jmp 0x4f44c8
lea ebx, [ebx + eax*4]
movzx ebp, word [ebx]
movzx ebx, word [ebx + 2]
mov word [esp + 0x1c], bp
mov word [esp + 0x1e], bx
mov ebx, dword [esp + 0xe0]
mov dword [esp + 0x8c], ebx
test byte [ebx], al
mov esi, dword [esp + 0xe0]
test byte [esi], al
mov edi, dword [esi + 8]
mov esi, dword [esi + 0xc]
mov dword [esp + 0x54], esi
movzx ebp, bp
mov dword [esp + 0x50], ebp
mov eax, dword [esp + 0xe0]
test byte [eax], al
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x4c], ecx
mov eax, ebp
shl ebp, cl
lea edx, [ecx - 0x20]
mov ecx, edx
shl eax, cl
mov dword [esp + 0x48], eax
mov esi, dword [esp + 0x4c]
lea eax, [esi - 0x20]
neg eax
mov ecx, eax
mov ebx, dword [esp + 0x50]
shr ebx, cl
cmp eax, 0x20
sbb eax, eax
and ebx, eax
cmp esi, 0x20
sbb esi, esi
and ebp, esi
or edi, ebp
mov ebp, dword [esp + 0x8c]
mov dword [ebp + 8], edi
cmp edx, 0x20
sbb esi, esi
mov edi, dword [esp + 0x48]
and edi, esi
or ebx, edi
mov esi, dword [esp + 0x54]
or ebx, esi
mov dword [ebp + 0xc], ebx
mov ebx, dword [esp + 0xe0]
test byte [ebx], al
mov ebp, dword [esp + 0xe0]
test byte [ebp], al
movzx esi, word [esp + 0x1e]
add esi, dword [ebp + 0x10]
mov dword [ebx + 0x10], esi
mov ebx, dword [esp + 0xe0]
test byte [ebx], al
cmp dword [ebx + 0x10], 0x30
jb 0x4f41d8
jmp 0x4f41dd
jmp 0x4f4406
mov ebx, dword [esp + 0xe0]
test byte [ebx], al
mov ebp, dword [ebx + 8]
mov ebx, dword [ebx + 0xc]
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0xe0]
test byte [ebx], al
mov ebp, dword [esp + 0xe0]
test byte [ebp], al
mov ebp, dword [ebp + 0xc]
shr ebp, 0x10
mov dword [ebx + 8], ebp
mov dword [ebx + 0xc], 0
mov ebx, dword [esp + 0xe0]
test byte [ebx], al
mov ebp, dword [esp + 0xe0]
test byte [ebp], al
mov ebp, dword [ebp + 0x10]
add ebp, 0xffffffd0
mov dword [ebx + 0x10], ebp
mov ebx, dword [esp + 0x30]
lea ecx, [ebx + 6]
mov dword [esp + 0x68], ecx
mov ebp, dword [esp + 0xe0]
test byte [ebp], al
add ebp, 0x14
test byte [ebp], al
mov eax, dword [esp + 0x30]
cmp ecx, 0xf8
jbe 0x4f425f
jmp 0x4f44be
cmp eax, ecx
jbe 0x4f4268
jmp 0x4f44b9
sub ebx, eax
lea ecx, [ebx + 6]
lea ebx, [eax - 0xf8]
neg ebx
mov esi, ebx
neg ebx
sar ebx, 0x1f
and eax, ebx
lea ebx, [ebp + eax]
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], esi
mov ebp, dword [esp + 0x38]
test ecx, ecx
ja 0x4f42a4
jmp 0x4f44b2
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
mov ecx, dword [esp + 0x84]
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x38]
shr ebp, 8
mov esi, dword [esp + 0x3c]
shl esi, 0x18
or ebp, esi
cmp ecx, 1
ja 0x4f42d0
jmp 0x4f44a8
xchg ebp, eax
mov byte [ebx + 1], al
xchg ebp, eax
mov ecx, dword [esp + 0x84]
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x38]
shr ebp, 0x10
mov esi, dword [esp + 0x3c]
shl esi, 0x10
or ebp, esi
cmp ecx, 2
ja 0x4f42fd
jmp 0x4f449e
xchg ebp, eax
mov byte [ebx + 2], al
xchg ebp, eax
mov ecx, dword [esp + 0x84]
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x38]
shr ebp, 0x18
mov esi, dword [esp + 0x3c]
shl esi, 8
or ebp, esi
cmp ecx, 3
ja 0x4f432a
jmp 0x4f4494
xchg ebp, eax
mov byte [ebx + 3], al
xchg ebp, eax
mov ecx, dword [esp + 0x84]
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x3c]
cmp ecx, 4
ja 0x4f434b
jmp 0x4f448a
xchg ebp, eax
mov byte [ebx + 4], al
xchg ebp, eax
mov ecx, dword [esp + 0x84]
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x3c]
shr ebp, 8
cmp ecx, 5
ja 0x4f436f
jmp 0x4f4480
xchg ebp, eax
mov byte [ebx + 5], al
xchg ebp, eax
mov ebx, dword [esp + 0x30]
lea ecx, [ebx + 6]
mov dword [esp + 0x30], ecx
cmp ecx, 0xf0
jl 0x4f4389
jmp 0x4f438b
jmp 0x4f4406
mov eax, dword [esp + 0xe0]
test byte [eax], al
add eax, 0x14
test byte [eax], al
cmp ecx, 0xf8
jbe 0x4f43a6
jmp 0x4f4476
jmp 0x4f43a8
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], 0xf8
mov edx, dword [esp + 0xe0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0xf8
call fcn.004f1490
mov eax, dword [esp + 0xe0]
test byte [eax], al
mov eax, dword [eax + 0x18c]
test eax, eax
jne 0x4f43f5
jmp 0x4f43fc
add esp, 0xdc
ret
mov dword [esp + 0x30], 0
jmp 0x4f4406
inc dword [esp + 0x5c]
jmp 0x4f40d6
mov edx, dword [esp + 0xe0]
test byte [edx], al
mov ebx, dword [esp + 0x30]
mov dword [edx + 0x158], ebx
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
cmp ecx, 0x100
ja 0x4f4434
jmp 0x4f446c
movzx eax, word [edx + 0x400]
movzx ecx, word [edx + 0x402]
mov word [esp + 0x20], ax
mov word [esp + 0x22], cx
mov edx, dword [esp + 0xe0]
mov dword [esp], edx
mov word [esp + 4], ax
mov word [esp + 6], cx
call fcn.004f2340
add esp, 0xdc
ret
mov eax, 0x100
call fcn.00475830
mov edx, 0xf8
call fcn.00475850
mov eax, 5
call fcn.00475830
mov eax, 4
call fcn.00475830
mov eax, 3
call fcn.00475830
mov eax, 2
call fcn.00475830
mov eax, 1
call fcn.00475830
xor eax, eax
call fcn.00475830
call fcn.00475890
mov edx, 0xf8
call fcn.00475850
call fcn.00475830
mov ecx, 0x101
call fcn.00475870
xor eax, eax
call fcn.00475830
mov eax, 0x100
call fcn.00475830
call fcn.00475830
nop
call fcn.004743b0
jmp fcn.004f3c60