Function at 0x66deb0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x57
push 0
push 0
dec ecx
jne 0x66deb8
push ebx
push esi
push edi
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.0040ba98
lea eax, [ebp - 0x280]
mov edx, dword [0x42242c]
call fcn.0040d214
xor eax, eax
push ebp
push 0x66e3df
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 8]
cmp byte [eax + 0x18], 0
je 0x66df81
lea eax, [ebp - 0x290]
mov ecx, 0x66e3fc
mov edx, dword [ebp - 4]
call fcn.0040cb0c
mov eax, dword [ebp - 0x290]
lea ecx, [ebp - 0x280]
mov edx, 0x10
call fcn.0042aacc
test eax, eax
jne 0x66df76
mov eax, dword [ebp - 0x26c]
cmp word [eax], 0x2e
je 0x66df67
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 0x298]
mov ecx, dword [ebp - 0x26c]
mov edx, dword [ebp - 4]
call fcn.0040cb0c
mov eax, dword [ebp - 0x298]
lea edx, [ebp - 0x294]
call fcn.00432a9c
mov eax, dword [ebp - 0x294]
call fcn.0066deb0
pop ecx
lea eax, [ebp - 0x280]
call fcn.0042ab1c
test eax, eax
je 0x66df26
lea eax, [ebp - 0x280]
call fcn.0042ab40
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xc]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x66e3a1
inc eax
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x284], 0
lea ecx, [ebp - 0x2a0]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xc]
mov edx, dword [ebp - 0x284]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov ecx, dword [ebp - 0x2a0]
lea eax, [ebp - 0x29c]
mov edx, dword [ebp - 4]
call fcn.0040cb0c
mov eax, dword [ebp - 0x29c]
lea ecx, [ebp - 0x280]
mov edx, 0x27
call fcn.0042aacc
test eax, eax
jne 0x66e384
mov dl, 1
mov eax, dword [0x66d6bc]
call fcn.00409b50
mov dword [ebp - 0x288], eax
mov eax, dword [ebp - 0x288]
mov dword [eax + 4], 1
mov eax, dword [ebp - 0x288]
xor edx, edx
mov dword [eax + 8], edx
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
mov ecx, dword [ebp - 0x26c]
mov edx, dword [ebp - 4]
call fcn.0040cb0c
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x10]
call fcn.00665d00
cmp al, 1
jne 0x66e0a2
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x10]
call fcn.0066c8f4
cmp al, 1
jne 0x66e0a2
mov eax, dword [ebp + 8]
add eax, 0xfffffffc
call fcn.0040b9a4
mov eax, dword [ebp + 8]
lea ecx, [eax - 5]
mov eax, dword [ebp + 8]
lea edx, [eax - 4]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x10]
call fcn.0066ca64
mov eax, dword [ebp + 8]
cmp dword [eax - 4], 0
je 0x66e0a2
mov eax, dword [ebp + 8]
cmp byte [eax - 5], 0
jne 0x66e091
mov eax, dword [ebp + 8]
mov edx, dword [eax - 4]
mov eax, dword [0x6c00bc]
mov eax, dword [eax]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
mov edx, dword [ebp + 8]
mov edx, dword [edx - 4]
call fcn.0040bddc
mov eax, dword [ebp - 0x288]
add eax, 0x28
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0x10]
call fcn.0040bd94
lea eax, [ebp - 0x2a4]
mov ecx, dword [ebp - 0x26c]
mov edx, dword [ebp - 4]
call fcn.0040cb0c
mov eax, dword [ebp - 0x2a4]
mov ebx, eax
test ebx, ebx
je 0x66e0db
sub ebx, 4
mov ebx, dword [ebx]
mov eax, dword [ebp - 0x288]
add eax, 0x20
push eax
lea eax, [ebp - 0x2a8]
mov ecx, dword [ebp - 0x26c]
mov edx, dword [ebp - 4]
call fcn.0040cb0c
mov eax, dword [ebp - 0x2a8]
mov edx, dword [ebp + 8]
mov ecx, ebx
sub ecx, dword [edx - 0x14]
inc ecx
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0x14]
call fcn.0040cc7c
mov eax, dword [ebp + 8]
cmp dword [eax + 0x10], 0
je 0x66e14a
lea edx, [ebp - 0x2ac]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
call fcn.00432a9c
mov edx, dword [ebp - 0x2ac]
mov eax, dword [ebp - 0x288]
mov ecx, dword [eax + 0x20]
mov eax, dword [ebp - 0x288]
add eax, 0x20
call fcn.0040cb0c
mov eax, dword [ebp - 0x288]
mov edx, dword [ebp - 0x25c]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x258]
mov dword [eax + 0x14], edx
mov eax, dword [ebp - 0x288]
mov edx, dword [ebp - 0x24c]
mov dword [eax + 0x18], edx
mov edx, dword [ebp - 0x248]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 0x288]
mov edx, dword [ebp - 0x260]
mov dword [eax + 0xc], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x10]
call fcn.0066c654
mov ecx, dword [ebp - 0x288]
mov dword [ecx + 0x30], eax
mov dword [ecx + 0x34], edx
xor eax, eax
push ebp
push 0x66e1d9
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x6bf744]
mov edx, dword [eax + 4]
mov eax, dword [eax]
add eax, dword [ebp - 0x278]
adc edx, dword [ebp - 0x274]
mov ecx, dword [0x6bf744]
mov dword [ecx], eax
mov dword [ecx + 4], edx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x66e1e3
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x10]
call fcn.0066da5c
cmp al, 1
jne 0x66e1f9
mov byte [0xf49d94], 1
inc dword [0xf49d98]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x10]
call fcn.0066d7b0
cmp al, 1
jne 0x66e214
inc dword [0xf49d9c]
mov eax, dword [ebp - 0x288]
mov byte [eax + 0x24], 0
mov eax, dword [ebp - 0x288]
mov byte [eax + 0x25], 0
mov eax, dword [ebp - 0x288]
mov byte [eax + 0x2c], 1
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x2c]
mov edx, dword [ebp - 0x288]
call fcn.0049f818
mov eax, dword [ebp - 0x288]
add eax, 0x18
call fcn.0066cc78
mov eax, dword [0x6bf7d4]
fstp qword [eax]
wait
xor eax, eax
mov dword [ebp - 0x10], eax
xor eax, eax
push ebp
push 0x66e2f7
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x6bf7d4]
push dword [eax + 4]
push dword [eax]
lea edx, [ebp - 8]
mov eax, dword [0x6bfeb0]
call fcn.0042e2e0
lea eax, [ebp - 0x10]
push eax
mov ecx, 0xa
mov edx, 1
mov eax, dword [ebp - 8]
call fcn.0040cc7c
mov eax, dword [0x6bf7d4]
push dword [eax + 4]
push dword [eax]
lea edx, [ebp - 0xc]
mov eax, dword [0x6bfeb0]
call fcn.0042e2e0
lea eax, [ebp - 0x2b0]
push eax
mov ecx, 5
mov edx, 0xc
mov eax, dword [ebp - 0xc]
call fcn.0040cc7c
mov ecx, dword [ebp - 0x2b0]
mov eax, dword [0x6c0060]
mov edx, dword [ebp - 0x10]
call fcn.0040cb0c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x66e2fe
lea eax, [ebp - 0x10]
call fcn.0040b9a4
pop eax
jmp eax
lea eax, [ebp - 0x280]
call fcn.0042ab40
inc dword [ebp - 0x284]
dec dword [ebp - 0x28c]
jne 0x66dfa6
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x66e3e6
lea eax, [ebp - 0x2b8]
mov edx, 0xb
call fcn.0040ba04
lea eax, [ebp - 0x280]
mov edx, dword [0x42242c]
call fcn.0040d600
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.0040ba04
pop eax
jmp eax