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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4f74ff
sub esp, 0x7c
mov eax, dword [esp + 0x90]
lea ecx, [eax - 2]
cmp ecx, 0x3c
ja 0x4f74e5
mov ecx, dword [esp + 0x84]
test ecx, ecx
je 0x4f7463
mov edx, dword [esp + 0x80]
mov ebx, dword [edx + ecx*4 - 4]
cmp ebx, 0x10000
jb 0x4f745c
shr ebx, 0x10
mov ebp, 0x10
cmp ebx, 0x100
jb 0x4f6fe8
shr ebx, 8
add ebp, 8
cmp ebx, 0x100
jae 0x4f74de
mov dword [esp + 0x54], ebp
cvtsi2sd xmm0, eax
lea ecx, [0xb49640]
movzx ecx, byte [ebx + ecx]
mov dword [esp + 0x6c], ecx
movsd qword [esp], xmm0
call fcn.004508c0
mov eax, dword [esp + 0x84]
lea ecx, [eax - 1]
shl ecx, 5
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x54]
add edx, ebx
add ecx, edx
cvtsi2sd xmm0, ecx
movsd xmm1, qword [esp + 8]
divsd xmm0, xmm1
cvttsd2si ecx, xmm0
lea edx, [ecx + 1]
movzx ebx, byte [esp + 0x8c]
test bl, bl
je 0x4f7455
add ecx, 2
mov dword [esp + 0x60], ecx
lea eax, [0x7b4b60]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00438a20
mov eax, dword [esp + 0xc]
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x3c], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x40], edx
mov ebx, dword [esp + 0x90]
mov ebp, ebx
neg ebx
and ebx, ebp
cmp ebx, ebp
jne 0x4f7301
test ebp, ebp
jne 0x4f72de
mov ebx, 0x20
mov dword [esp + 0x6c], ebx
mov ebp, ecx
mov ecx, ebx
mov esi, 1
shl esi, cl
cmp ecx, 0x20
sbb edi, edi
mov dword [esp + 0x68], edi
and esi, edi
dec esi
mov dword [esp + 0x58], esi
mov edx, dword [esp + 0x80]
mov edx, dword [edx]
mov ecx, 1
mov dword [esp + 0x5c], ecx
mov ebx, 0x20
mov dword [esp + 0x50], ebx
mov ecx, dword [esp + 0x6c]
mov ebx, ecx
jmp 0x4f7189
mov ebp, dword [esp + 0x74]
mov byte [edi + ebp - 1], dl
mov edx, dword [esp + 0x30]
shr edx, cl
mov edi, dword [esp + 0x68]
and edx, edi
mov edi, dword [esp + 0x50]
sub edi, ecx
mov eax, dword [esp + 0x84]
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x50], edi
mov dword [esp + 0x60], esi
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x5c]
mov eax, dword [esp + 0x50]
cmp eax, ecx
jb 0x4f7154
mov dword [esp + 0x30], edx
and edx, esi
cmp edx, 0x3e
jae 0x4f74d7
mov edi, dword [esp + 0x60]
lea esi, [edi - 1]
lea eax, [0x84f1ea]
movzx edx, byte [eax + edx]
cmp esi, ebp
jb 0x4f70ee
jmp 0x4f74d7
test eax, eax
jne 0x4f719d
mov eax, dword [esp + 0x84]
cmp edi, eax
jae 0x4f74d0
mov edx, dword [esp + 0x80]
mov edx, dword [edx + edi*4]
mov ecx, 0x20
mov dword [esp + 0x50], ecx
mov ecx, ebx
inc edi
mov eax, dword [esp + 0x74]
mov dword [esp + 0x5c], edi
mov edi, dword [esp + 0x68]
mov edi, dword [esp + 0x5c]
mov eax, dword [esp + 0x84]
cmp edi, eax
jl 0x4f7123
jmp 0x4f7231
mov ebx, dword [esp + 0x84]
cmp edi, ebx
jae 0x4f74c9
mov ebx, dword [esp + 0x80]
mov ebx, dword [ebx + edi*4]
mov ecx, eax
shl ebx, cl
cmp eax, 0x20
sbb eax, eax
and ebx, eax
or edx, ebx
and edx, esi
cmp edx, 0x3e
jae 0x4f74c2
mov eax, dword [esp + 0x60]
lea ebx, [eax - 1]
lea esi, [0x84f1ea]
movzx edx, byte [esi + edx]
cmp ebx, ebp
jae 0x4f74c2
mov ebp, dword [esp + 0x74]
mov byte [eax + ebp - 1], dl
mov eax, dword [esp + 0x80]
mov edx, dword [eax + edi*4]
mov eax, dword [esp + 0x6c]
sub eax, ecx
mov ecx, eax
shr edx, cl
cmp eax, 0x20
sbb ebp, ebp
and edx, ebp
add eax, 0xffffffe0
neg eax
mov ecx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0x58]
mov dword [esp + 0x50], eax
mov dword [esp + 0x60], ebx
mov eax, dword [esp + 0x84]
mov ebx, ecx
jmp 0x4f717c
mov eax, dword [esp + 0x68]
mov edi, dword [esp + 0x74]
jmp 0x4f7259
mov byte [esi + edi - 1], dl
mov edx, dword [esp + 0x30]
shr edx, cl
mov esi, dword [esp + 0x68]
and edx, esi
mov ebx, ecx
mov esi, dword [esp + 0x58]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x68]
test edx, edx
je 0x4f7286
mov dword [esp + 0x30], edx
and edx, esi
cmp edx, 0x3e
jae 0x4f74bb
mov esi, dword [esp + 0x60]
lea eax, [esi - 1]
lea ebx, [0x84f1ea]
movzx edx, byte [ebx + edx]
cmp eax, ebp
jb 0x4f723b
jmp 0x4f74bb
movzx eax, byte [esp + 0x8c]
test al, al
mov eax, dword [esp + 0x60]
je 0x4f72da
lea ecx, [eax - 1]
cmp ecx, ebp
jae 0x4f74ad
mov byte [eax + edi - 1], 0x2d
cmp ecx, ebp
ja 0x4f74a6
mov eax, dword [esp + 0x40]
sub eax, ecx
mov edx, eax
neg eax
sar eax, 0x1f
and eax, ecx
add eax, edi
mov dword [esp + 0x94], eax
sub ebp, ecx
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], edx
add esp, 0x7c
ret
mov ecx, eax
jmp 0x4f72a6
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
and esi, ebp
imul ebp, esi, 0x77cb531
shr ebp, 0x1b
lea esi, [0xb45560]
movzx ebx, byte [ebp + esi]
jmp 0x4f70a9
mov dword [esp], ebp
call fcn.004f6450
mov eax, dword [esp + 4]
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x4c], ecx
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov ebx, dword [esp + 0x90]
mov dword [esp + 4], ebx
mov dword [esp + 0xc], eax
call fcn.004f7d90
mov eax, dword [esp + 0x10]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x38], edx
lea ebx, [0x7b4160]
mov dword [esp], ebx
mov ebx, dword [esp + 0x84]
mov dword [esp + 4], ebx
lea ebp, [ebx + 4]
mov dword [esp + 8], ebp
call fcn.00438a20
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x84]
cmp eax, ebx
jle 0x4f744e
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x78], edx
mov ebp, dword [esp + 0x80]
cmp edx, ebp
je 0x4f73b4
mov dword [esp], edx
mov dword [esp + 4], ebp
shl ebx, 2
mov dword [esp + 8], ebx
call fcn.0044d190
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x90]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x2c], ebx
call fcn.004f7510
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x3c]
xor edx, edx
jmp 0x4f7428
inc edx
cmp edx, ecx
jae 0x4f74b4
movzx ebx, byte [edx + eax]
cmp bl, 0x30
je 0x4f7427
movzx ebx, byte [esp + 0x8c]
test bl, bl
mov ebp, ecx
mov edi, eax
mov eax, edx
jmp 0x4f7294
mov ebx, eax
jmp 0x4f738a
mov ecx, edx
jmp 0x4f7055
xor ebp, ebp
jmp 0x4f6fda
mov dword [esp], 0
lea eax, [0x832f52]
mov dword [esp + 4], eax
mov dword [esp + 8], 1
call fcn.0043c000
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], edx
add esp, 0x7c
ret
call fcn.004265e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
lea eax, [0x7b48a0]
mov dword [esp], eax
lea eax, [0x8b11f8]
mov dword [esp + 4], eax
call fcn.004273c0
ud2
call fcn.0044b230
jmp fcn.004f6f80