Function at 0x4f13d8
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffc0
push ebx
xor ebx, ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4f176f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 8]
call fcn.00404834
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.0054546c
mov edx, dword [ebp - 8]
call fcn.0051792c
mov al, byte [eax + 0x30]
dec al
je 0x4f1439
sub al, 2
je 0x4f1724
jmp 0x4f1751
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.0054546c
mov edx, dword [ebp - 8]
call fcn.0051792c
cmp dword [eax + 0x20], 0
je 0x4f1488
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.0054546c
mov edx, dword [ebp - 8]
call fcn.0051792c
mov eax, dword [eax + 0x20]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
call fcn.00525904
mov eax, dword [eax + 0x30]
pop edx
call fcn.004ab6d4
mov dword [ebp - 0x1c], eax
jmp 0x4f14b1
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
call fcn.0054546c
mov eax, dword [eax + 0x40]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
call fcn.00525904
mov eax, dword [eax + 0x30]
pop edx
call fcn.004ab6d4
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x4f1751
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 8]
imul dword [ebp - 8]
add eax, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x14]
fild qword [edx + eax*8]
lea eax, [ebp - 0x40]
call fcn.00405934
mov eax, dword [ebp - 0x1c]
movzx eax, byte [eax + 0x40]
cmp eax, 8
jg 0x4f1504
je 0x4f1573
add eax, 0xfffffffe
sub eax, 3
jb 0x4f1517
dec eax
sub eax, 2
jb 0x4f1691
jmp 0x4f1751
sub eax, 0xe
je 0x4f1517
sub eax, 0x17
je 0x4f1602
jmp 0x4f1751
mov eax, dword [ebp - 0x1c]
mov edx, dword [0x49a2e8]
call fcn.00403b14
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x20]
mov edx, dword [edx + 0xe0]
call fcn.004048cc
cmp dword [ebp - 0x10], 0
jne 0x4f1554
lea eax, [ebp - 0x40]
call fcn.004058b8
mov edx, dword [ebp + 8]
call fcn.00409870
jmp 0x4f1751
lea eax, [ebp - 0x40]
call fcn.004058d0
add esp, 0xfffffff4
fstp xword [esp]
wait
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x10]
call fcn.0040b328
jmp 0x4f1751
mov eax, dword [ebp - 0x1c]
mov edx, dword [0x49b9dc]
call fcn.00403b14
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 0xe0]
call fcn.004048cc
cmp dword [ebp - 0x10], 0
jne 0x4f15e3
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0xe8], 0
je 0x4f15b8
mov byte [ebp - 0x11], 4
mov eax, dword [0x5a1cb4]
movzx eax, byte [eax]
mov dword [ebp - 0x18], eax
jmp 0x4f15c1
mov byte [ebp - 0x11], 0
xor eax, eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x40]
call fcn.004058d8
add esp, 0xfffffff8
fistp qword [esp]
wait
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x18]
mov al, byte [ebp - 0x11]
call fcn.0040b2f0
jmp 0x4f1751
lea eax, [ebp - 0x40]
call fcn.004058d8
add esp, 0xfffffff8
fistp qword [esp]
wait
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x10]
call fcn.0040b380
jmp 0x4f1751
mov eax, dword [ebp - 0x1c]
mov edx, dword [0x49bbe0]
call fcn.00403b14
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x28]
mov edx, dword [edx + 0xe0]
call fcn.004048cc
cmp dword [ebp - 0x10], 0
jne 0x4f1672
mov eax, dword [ebp - 0x28]
cmp byte [eax + 0xe8], 0
je 0x4f1647
mov byte [ebp - 0x11], 4
mov eax, dword [0x5a1cb4]
movzx eax, byte [eax]
mov dword [ebp - 0x18], eax
jmp 0x4f1650
mov byte [ebp - 0x11], 0
xor eax, eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x40]
call fcn.004058d8
add esp, 0xfffffff8
fistp qword [esp]
wait
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x18]
mov al, byte [ebp - 0x11]
call fcn.0040b2f0
jmp 0x4f1751
lea eax, [ebp - 0x40]
call fcn.004058d8
add esp, 0xfffffff8
fistp qword [esp]
wait
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x10]
call fcn.0040b380
jmp 0x4f1751
mov eax, dword [ebp - 0x1c]
mov edx, dword [0x49aa4c]
call fcn.00403b14
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x2c]
mov edx, dword [edx + 0xe0]
call fcn.004048cc
cmp dword [ebp - 0x10], 0
jne 0x4f1708
mov eax, dword [ebp - 0x2c]
cmp byte [eax + 0xe8], 0
je 0x4f16d6
mov byte [ebp - 0x11], 4
mov eax, dword [0x5a1cb4]
movzx eax, byte [eax]
mov dword [ebp - 0x18], eax
jmp 0x4f16df
mov byte [ebp - 0x11], 0
xor eax, eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x40]
call fcn.004058d0
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax + 0xec]
mov ecx, dword [ebp - 0x18]
mov al, byte [ebp - 0x11]
call fcn.0040b2b8
jmp 0x4f1751
lea eax, [ebp - 0x40]
call fcn.004058d0
add esp, 0xfffffff4
fstp xword [esp]
wait
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x10]
call fcn.0040b328
jmp 0x4f1751
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 8]
imul dword [ebp - 8]
add eax, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x14]
fild qword [edx + eax*8]
fdiv dword [0x4f1780]
add esp, 0xfffffff4
fstp xword [esp]
wait
mov eax, dword [ebp + 8]
call fcn.0040b258
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4f1776
lea eax, [ebp - 0x40]
call fcn.004059e0
lea eax, [ebp - 0x10]
call fcn.00404834
ret