Function at 0x413d00
Capabilities:
Access peb ldr_data

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x64f558
push eax
mov dword fs:[0], esp
sub esp, 0x1c
push ebx
push esi
push edi
mov edi, ecx
mov ecx, dword [edi + 0x8c]
mov eax, dword [ecx + 0x7f8]
cmp eax, 0x47
je 0x4140ec
cmp eax, 0x48
je 0x4140ec
mov eax, dword [edi + 0x5750]
test eax, eax
jle 0x413d61
add eax, 0xffffffff
mov dword [edi + 0x5750], eax
jne 0x413d61
mov eax, dword [ecx]
mov edx, dword [0x6a75dc]
mov eax, dword [eax + 0xd8]
push edx
call eax
mov eax, dword [edi + 0x5584]
cmp eax, 1
je 0x4140ec
cmp eax, 2
je 0x4140ec
cmp eax, 3
je 0x4140ec
cmp eax, 0xd
je 0x4140ec
mov eax, edi
call fcn.00413a40
test al, al
jne 0x4140ec
mov eax, dword [edi + 0x5574]
test eax, eax
jle 0x413db4
add eax, 0xffffffff
mov dword [edi + 0x5574], eax
jne 0x413db4
call fcn.00412ce0
mov eax, dword [edi + 0x55a4]
test eax, eax
je 0x413dea
lea edx, [eax - 1]
test edx, edx
mov dword [edi + 0x55a4], edx
jne 0x413e8e
lea eax, [edx + 0x29]
mov esi, edi
call fcn.0040cab0
mov eax, edi
call fcn.00413c00
mov dword [edi + 0x559c], 1
mov esi, dword [edi + 0x160]
call fcn.00426580
test al, al
jne 0x4140ec
mov esi, dword [edi + 0x557c]
mov ebx, dword [edi + 0x5564]
cmp esi, ebx
jne 0x413e45
call fcn.00413920
test al, al
jne 0x4140ec
mov ecx, dword [edi + 0x8c]
cmp dword [ecx + 0x7f8], 0x1f
je 0x4140ec
mov eax, ecx
call fcn.004536d0
test al, al
jne 0x413e45
call fcn.00453740
test al, al
je 0x4140ec
add dword [edi + 0x559c], 0xffffffff
cmp esi, ebx
mov ecx, dword [edi + 0x559c]
jne 0x413f23
mov eax, dword [edi + 0x8c]
call fcn.004536d0
test al, al
je 0x413f23
test ecx, ecx
jne 0x4140ec
mov ecx, edi
call fcn.0040c3e0
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
add esp, 0x28
ret
cmp edx, 0x2d5
jne 0x413eb1
mov ecx, dword [edi + 0x8c]
mov edx, dword [ecx]
mov eax, dword [0x6a74e4]
mov edx, dword [edx + 0xd8]
push eax
call edx
jmp 0x413dea
mov eax, dword [edi + 0x8c]
mov eax, dword [eax + 0x83c]
mov ecx, dword [eax + 8]
cmp ecx, 1
je 0x413f00
cmp ecx, 3
je 0x413f00
cmp ecx, 4
je 0x413f00
cmp ecx, 5
je 0x413f00
cmp ecx, 2
jne 0x4140ec
cmp edx, 0x2bc
jne 0x4140ec
call fcn.0045b240
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
add esp, 0x28
ret
cmp edx, 0x190
jne 0x4140ec
call fcn.0045b240
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
add esp, 0x28
ret
mov eax, dword [edi + 0x55a0]
sub eax, ecx
cmp ecx, 5
jle 0x413f5d
cmp eax, 0x190
jle 0x413f5d
add esi, 0xffffffff
push esi
mov ebx, edi
call fcn.00412e30
cmp eax, dword [edi + 0x5594]
jg 0x413f5d
mov eax, 0xc8
cmp dword [edi + 0x559c], eax
jle 0x413f5d
mov dword [edi + 0x559c], eax
cmp dword [edi + 0x559c], 5
jne 0x413fd2
mov ecx, dword [edi + 0x557c]
push ecx
mov edx, edi
call fcn.00409080
test al, al
je 0x413fcb
mov esi, edi
call fcn.0040ca50
push str._ADVICE_HUGE_WAVE_
lea ecx, [esp + 0x10]
call fcn.00404450
mov ebx, 0x29
lea ecx, [ebx - 0x1a]
lea edx, [esp + 0xc]
mov dword [esp + 0x30], 0
call fcn.0040ca10
lea ecx, [esp + 0xc]
call fcn.00404420
mov dword [edi + 0x55a4], 0x2ee
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
add esp, 0x28
ret
mov eax, edi
call fcn.00413c00
cmp dword [edi + 0x559c], 0
jne 0x4140ec
call fcn.00412ee0
mov edx, dword [edi + 0x557c]
sub edx, 1
push edx
mov ebx, edi
call fcn.00412e30
mov ecx, dword [edi + 0x8c]
mov dword [edi + 0x5598], eax
call fcn.00453840
test al, al
jne 0x414017
cmp dword [ecx + 0x7f8], 0x1f
je 0x414017
xor bl, bl
jmp 0x414019
mov bl, 1
mov edx, dword [edi + 0x557c]
cmp edx, dword [edi + 0x5564]
jne 0x41404b
mov eax, ecx
call fcn.004536d0
test al, al
je 0x41404b
mov dword [edi + 0x5594], 0
mov dword [edi + 0x559c], 0x157c
jmp 0x4140e0
push edx
mov edx, edi
call fcn.00409080
test al, al
je 0x414071
test bl, bl
jne 0x414071
mov dword [edi + 0x5594], 0
jmp 0x7949ce
fld dword [str.ff_ff__f]
sub esp, 8
fstp dword [esp + 4]
fld dword [0x6793c0]
fstp dword [esp]
call fcn.00511cb0
fimul dword [edi + 0x5598]
add esp, 8
call fcn.006397d0
mov ecx, dword [edi + 0x8c]
mov dword [edi + 0x5594], eax
call fcn.004538c0
test al, al
jne 0x4140d6
mov eax, dword [ecx + 0x7f8]
cmp eax, 0x1b
je 0x4140d6
cmp eax, 0x1f
je 0x4140d6
mov eax, 0x258
call fcn.005af400
add eax, 0x9c4
jmp 0x794a0c
mov dword [edi + 0x559c], 0x2ee
mov eax, dword [edi + 0x559c]
mov dword [edi + 0x55a0], eax
mov ecx, dword [esp + 0x28]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
add esp, 0x28
ret