Function at 0x84dfdc
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd8
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 8], ecx
mov ebx, edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x84e484
push dword fs:[eax]
mov dword fs:[eax], esp
xor ecx, ecx
push ebp
push 0x84e45c
push dword fs:[ecx]
mov dword fs:[ecx], esp
test ebx, ebx
jl 0x84e028
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f0]
call fcn.005f6738
dec eax
cmp ebx, eax
jle 0x84e035
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x84e466
xor ecx, ecx
mov dl, 1
mov eax, dword [0x616b84]
call fcn.00617c6c
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
call fcn.00624ac0
mov byte [eax + 0x30], 0
xor ecx, ecx
push ebp
push 0x84e44b
push dword fs:[ecx]
mov dword fs:[ecx], esp
xor edx, edx
mov eax, dword [ebp - 0xc]
call fcn.00628c20
mov eax, dword [0x98a548]
mov eax, dword [eax]
mov eax, dword [eax + 0x7d8]
call fcn.008e3b64
xor eax, eax
push ebp
push 0x84e0c9
push dword fs:[eax]
mov dword fs:[eax], esp
lea ecx, [ebp - 0x1c]
mov edx, ebx
dec edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3d8]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov edx, dword [ebp - 0x1c]
lea eax, [ebp - 0x18]
call fcn.00405594
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebp - 0xc]
call fcn.00624a6c
pop edx
mov si, 0xffed
call fcn.00404028
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x84e0d3
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x88]
mov eax, dword [ebp - 0xc]
call fcn.00624ac0
call fcn.005d6624
cmp byte [ebp + 0xc], 0
je 0x84e126
push 5
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
push eax
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
push eax
mov eax, dword [ebp - 0xc]
call fcn.00624ac0
pop edx
pop ecx
call fcn.005d4530
jmp 0x84e159
push 0xd
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
push eax
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
push eax
mov eax, dword [ebp - 0xc]
call fcn.00624ac0
pop edx
pop ecx
call fcn.005d4530
cmp byte [ebp + 8], 0
je 0x84e2f2
mov eax, dword [ebp - 8]
call fcn.00624fb0
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
push eax
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x54c]
mov eax, dword [ebp - 8]
call fcn.00624edc
mov eax, dword [eax + 0x10]
pop edx
call fcn.00633528
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
push eax
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x54c]
mov eax, dword [ebp - 8]
call fcn.00624edc
mov eax, dword [eax + 0x10]
pop edx
call fcn.006336e8
cmp byte [ebp + 8], 0
je 0x84e232
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f4]
mov bl, byte [eax + 0x70]
and bl, 0xff
mov edx, dword [eax + 0x70]
mov eax, edx
shr eax, 8
and al, 0xff
mov byte [ebp - 0xd], al
shr edx, 0x10
and dl, 0xff
mov byte [ebp - 0xe], dl
xor ecx, ecx
mov cl, byte [ebp - 0xe]
shr ecx, 1
xor edx, edx
mov dl, byte [ebp - 0xd]
shr edx, 1
xor eax, eax
mov al, bl
shr eax, 1
call fcn.00408a98
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [ebp - 0x20], eax
fild qword [ebp - 0x24]
add esp, 0xfffffff8
fstp qword [esp]
wait
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x54c]
mov eax, dword [ebp - 8]
call fcn.00624edc
mov eax, dword [eax + 0x10]
call fcn.006382d4
jmp 0x84e25e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2f4]
fild dword [eax + 0x70]
add esp, 0xfffffff8
fstp qword [esp]
wait
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x54c]
mov eax, dword [ebp - 8]
call fcn.00624edc
mov eax, dword [eax + 0x10]
call fcn.006382d4
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0x88]
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
dec eax
test eax, eax
jl 0x84e2e1
inc eax
mov dword [ebp - 0x14], eax
xor esi, esi
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
mov edi, eax
dec edi
test edi, edi
jl 0x84e2db
inc edi
xor ebx, ebx
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov ecx, esi
mov edx, ebx
call fcn.00637f9c
mov al, byte [ebp - 0x26]
push eax
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x54c]
mov eax, dword [ebp - 8]
call fcn.00624edc
mov eax, dword [eax + 0x10]
mov ecx, esi
mov edx, ebx
call fcn.00638288
inc ebx
dec edi
jne 0x84e29e
inc esi
dec dword [ebp - 0x14]
jne 0x84e284
push 1
mov ecx, 1
xor edx, edx
mov eax, dword [ebp - 8]
call fcn.00625fb8
cmp byte [ebp + 8], 0
je 0x84e3c4
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
dec eax
test eax, eax
jl 0x84e435
inc eax
mov dword [ebp - 0x14], eax
xor esi, esi
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
mov edi, eax
dec edi
test edi, edi
jl 0x84e3b8
inc edi
xor ebx, ebx
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov ecx, esi
mov edx, ebx
call fcn.00637f9c
mov al, 0xff
sub al, byte [ebp - 0x26]
push eax
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov ecx, esi
mov edx, ebx
call fcn.00638288
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov ecx, esi
mov edx, ebx
call fcn.00638258
cmp al, 0x80
jae 0x84e39b
push 0
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov ecx, esi
mov edx, ebx
call fcn.00638288
jmp 0x84e3b4
push 0xff
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov ecx, esi
mov edx, ebx
call fcn.00638288
inc ebx
dec edi
jne 0x84e339
inc esi
dec dword [ebp - 0x14]
jne 0x84e31b
jmp 0x84e435
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
dec eax
test eax, eax
jl 0x84e435
inc eax
mov dword [ebp - 0x14], eax
xor esi, esi
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
mov edi, eax
dec edi
test edi, edi
jl 0x84e42f
inc edi
xor ebx, ebx
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov ecx, esi
mov edx, ebx
call fcn.00637f9c
mov al, 0xff
sub al, byte [ebp - 0x26]
push eax
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov ecx, esi
mov edx, ebx
call fcn.00638288
inc ebx
dec edi
jne 0x84e3f9
inc esi
dec dword [ebp - 0x14]
jne 0x84e3df
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x84e452
mov eax, dword [ebp - 0xc]
call fcn.00403e2c
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x84e48b
lea eax, [ebp - 0x1c]
call fcn.00404c7c
lea eax, [ebp - 0x18]
call fcn.004053b0
ret