Function at 0x4184f0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x471d90
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc
push ebx
push ebp
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0x10]
call fcn.0044e5b0
xor ebx, ebx
push ebx
push ebx
push ecx
mov dword [esp + 0x30], ebx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x4865e4
call fcn.0044e650
push ecx
mov byte [esp + 0x34], 1
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x486818
call fcn.0044e650
mov ecx, 0x4937b8
mov byte [esp + 0x34], bl
call fcn.004570c0
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xc]
cmp ax, bx
jge 0x41858f
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x486710
call fcn.0044e650
push ecx
mov byte [esp + 0x34], 2
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x486810
jmp 0x4185ba
jne 0x4185d2
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x4865e4
call fcn.0044e650
push ecx
mov byte [esp + 0x34], 3
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x486800
call fcn.0044e650
mov ecx, 0x4937b8
mov byte [esp + 0x34], bl
call fcn.004570c0
jmp 0x41873b
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x486808
call fcn.0044e650
mov ecx, dword [0x4937bc]
call fcn.00458f10
mov eax, dword [esi + 0x18]
lea ebp, [esi + 0x14]
cmp eax, ebx
je 0x418607
mov ecx, dword [ebp + 8]
sub ecx, eax
test ecx, 0xfffffff8
jne 0x41862b
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x4865e4
call fcn.0044e650
push ecx
mov byte [esp + 0x34], 4
mov ecx, esp
mov dword [esp + 0x24], esp
jmp 0x4185b3
push 6
push 0x4867f8
lea ecx, [esp + 0x18]
call fcn.0044ea30
mov dl, byte [esi + 0x46]
lea ecx, [esp + 0x10]
push edx
push 3
call fcn.0044e8d0
xor edi, edi
mov eax, dword [ebp + 4]
cmp eax, ebx
je 0x418730
mov ecx, dword [ebp + 8]
sub ecx, eax
sar ecx, 3
cmp edi, ecx
jae 0x418730
mov eax, dword [esi + 0x18]
lea ecx, [esp + 0x10]
mov edx, dword [eax + edi*8]
shr edx, 8
push edx
push 4
call fcn.0044e8d0
mov eax, dword [esi + 0x18]
lea ecx, [esp + 0x10]
mov al, byte [eax + edi*8]
push eax
push 5
call fcn.0044e8d0
push edi
mov ecx, ebp
call fcn.00428590
mov dl, byte [eax + 5]
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
push 1
push ecx
mov ecx, esi
call fcn.0042a1b0
push ecx
lea eax, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
mov byte [esp + 0x3c], 5
call fcn.0044e5c0
mov ecx, dword [0x4937bc]
mov byte [esp + 0x38], bl
call fcn.00459090
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.0044e5c0
mov ecx, esi
call fcn.0042a5f0
add word [esi + 0x24], ax
mov ax, word [esi + 0x24]
cmp ax, 0xa
jle 0x41872a
movsx eax, ax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fsin
call fcn.00467cbc
cdq
xor eax, edx
sub eax, edx
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
shl ecx, 6
push ecx
call fcn.0044b4f0
add esp, 4
inc edi
jmp 0x41864c
mov ecx, dword [0x4937bc]
call fcn.00459280
lea ecx, [esp + 0x10]
mov dword [esp + 0x24], 0xffffffff
call fcn.0044e6f0
mov ecx, dword [esp + 0x1c]
pop edi
pop esi
pop ebp
mov ax, 1
mov dword fs:[0], ecx
pop ebx
add esp, 0x18
ret