Function at 0x462710
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x496ce6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x420
push ebx
push ebp
push esi
push edi
mov edi, ecx
xor ebx, ebx
push 0xffffffffffffffff
push ebx
lea ecx, [edi + 0xc]
mov dword [esp + 0x24], edi
mov dword [edi + 0x34], 0xffffffff
call fcn.00486f1d
push 0xffffffffffffffff
lea ecx, [edi + 0x20]
push ebx
call fcn.00486f1d
lea ecx, [edi + 0x38]
mov dword [esp + 0x14], ecx
call fcn.00487d9b
lea eax, [esp + 0x30]
mov byte [esp + 0x30], bl
mov dword [esp + 0x10], eax
mov dword [esp + 0x28], 0x400
mov dword [esp + 0x24], ebx
call fcn.0077a48f
pop edx
mov dword [esp + 0x20], eax
call fcn.0077a48f
test al, 0x8b
push esp
and al, 0x20
mov ecx, dword [edi + 8]
sub eax, edx
cmp eax, ecx
ja 0x46289c
lea ecx, [esp + 0x2c]
push ecx
mov ecx, edi
call fcn.004619a0
test eax, eax
je 0x4628bf
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x4627c2
push 0xfa
call fcn.0077b6d3
invalid
mov ebp, dword [esp + 0x28]
sub ebp, ebx
dec ebp
jns 0x4627cd
xor ebp, ebp
mov edx, dword [esp + 0x10]
push ebp
mov ecx, edi
lea eax, [ebx + edx]
push eax
call fcn.00461960
mov esi, eax
cmp esi, 0xffffffff
je 0x4628d7
test esi, esi
je 0x4627f8
call fcn.0077a48f
xor al, 0x89
inc esp
and al, 0x20
add ebx, esi
mov ecx, dword [esp + 0x10]
cmp ebp, esi
mov byte [ebx + ecx], 0
jne 0x46285a
mov eax, dword [esp + 0x28]
add eax, 0x1000
push eax
mov dword [esp + 0x2c], eax
call fcn.00487b51
mov edi, dword [esp + 0x14]
mov ebp, eax
or ecx, 0xffffffff
xor eax, eax
add esp, 4
mov dword [esp + 0x10], ebp
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, dword [esp + 0x24]
mov edx, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
test eax, eax
rep movsb byte es:[edi], byte [esi]
je 0x462852
push eax
call fcn.00487b7a
add esp, 4
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x24], ebp
mov eax, dword [esp + 0x10]
push 0xd
push eax
call fcn.00478950
mov esi, eax
mov eax, dword [esp + 0x18]
add esp, 8
test esi, esi
lea ecx, [ebx + eax]
jne 0x462878
mov esi, ecx
dec esi
cmp esi, eax
jb 0x462887
cmp byte [esi], 0xa
je 0x462887
dec esi
cmp esi, eax
jae 0x46287d
add esi, 4
cmp esi, ecx
jae 0x462782
cmp byte [esi], 0x20
je 0x4628ef
jmp 0x462782
mov ecx, dword [esp + 0x14]
push 0x64f668
call fcn.00487f4d
mov ecx, dword [esp + 0x10]
push 0x274c
add byte [ebx + 0x6810244c], cl
dec esp
daa
add byte [eax], al
mov byte [ebx + ecx], 0
call fcn.007a77e3
jb 0x4628a9
inc ebp
mov ecx, dword [esp + 0x14]
push 0x64f65c
call fcn.00487f4d
mov edx, dword [esp + 0x10]
mov byte [ebx + edx], 0
jmp 0x462904
mov ecx, dword [esp + 0x14]
push 0x64f65c
call fcn.00487f4d
mov eax, dword [esp + 0x10]
mov byte [ebx + eax], 0
jmp 0x462904
lea ecx, [esi - 3]
mov byte [esi], 0
push ecx
call fcn.00477698
mov dword [edi + 0x34], eax
add esp, 4
mov byte [esi], 0x20
cmp dword [edi + 0x34], 0xffffffff
je 0x4629ff
mov esi, dword [esp + 0x10]
mov eax, esi
add ebx, eax
cmp eax, ebx
mov dword [esp + 0x1c], ebx
jae 0x4629ff
push 0xd
push esi
call fcn.00478650
add esp, 8
test eax, eax
je 0x4629ff
mov edx, eax
mov ebx, eax
sub edx, esi
cmp edx, 4
jle 0x4629e6
add esi, 4
cmp eax, esi
jbe 0x462956
cmp byte [eax - 1], 0x20
ja 0x462956
dec eax
cmp eax, esi
ja 0x46294b
mov ebp, esi
mov byte [eax], 0
mov al, byte [ebp]
test al, al
je 0x46296e
cmp al, 0x20
ja 0x46296e
mov al, byte [ebp + 1]
inc ebp
test al, al
jne 0x462962
push 0x20
push ebp
call fcn.00478650
mov esi, eax
add esp, 8
test esi, esi
jne 0x46299f
cmp byte [ebp], 0
je 0x4629e6
mov eax, dword [edi + 0x14]
lea ecx, [edi + 0xc]
push ebp
push eax
call fcn.00487066
mov eax, dword [edi + 0x28]
lea ecx, [edi + 0x20]
push 0x68fb20
jmp 0x4629e0
mov dl, byte [esi - 1]
lea eax, [esi - 1]
cmp dl, 0x20
mov ecx, esi
ja 0x4629b9
mov ecx, eax
mov dl, byte [ecx - 1]
lea eax, [ecx - 1]
cmp dl, 0x20
jbe 0x4629ac
mov byte [ecx], 0
mov eax, dword [edi + 0x14]
lea ecx, [edi + 0xc]
push ebp
push eax
call fcn.00487066
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
ja 0x4629d9
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jbe 0x4629d1
mov eax, dword [edi + 0x28]
lea ecx, [edi + 0x20]
push esi
push eax
call fcn.00487066
mov eax, dword [esp + 0x1c]
lea esi, [ebx + 1]
cmp esi, eax
jae 0x4629ff
cmp byte [esi], 0xa
jne 0x4629f7
inc esi
cmp esi, eax
jb 0x462922
mov esi, dword [edi + 0x14]
dec esi
js 0x462ab1
lea eax, [esp + 0x1c]
push esi
push eax
lea ecx, [edi + 0xc]
call fcn.00462b40
mov ebx, dword [esp + 0x14]
push eax
mov ecx, ebx
mov dword [esp + 0x43c], 0
call fcn.00487efd
lea ecx, [esp + 0x1c]
mov dword [esp + 0x438], 0xffffffff
call fcn.00487e10
lea ecx, [esp + 0x1c]
push esi
lea ebp, [edi + 0x20]
push ecx
mov ecx, ebp
call fcn.00462b40
mov edx, dword [eax]
mov ecx, dword [edx - 8]
test ecx, ecx
lea ecx, [esp + 0x1c]
setg byte [esp + 0x1b]
call fcn.00487e10
mov al, byte [esp + 0x1b]
test al, al
je 0x462ac8
push 0x64f658
mov ecx, ebx
call fcn.004881a0
lea eax, [esp + 0x20]
push esi
push eax
mov ecx, ebp
call fcn.00462b40
push eax
mov ecx, ebx
mov dword [esp + 0x43c], 1
call fcn.004881dc
lea ecx, [esp + 0x20]
mov dword [esp + 0x438], 0xffffffff
call fcn.00487e10
jmp 0x462ac8
mov eax, dword [esp + 0x10]
cmp byte [eax], 0
je 0x462ac4
mov ecx, dword [esp + 0x14]
push eax
call fcn.00487f4d
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
test eax, eax
je 0x462ad9
push eax
call fcn.00487b7a
add esp, 4
mov edi, dword [edi + 0x34]
cmp edi, 0xffffffff
jne 0x462afa
mov ecx, dword [ebx]
mov eax, dword [ecx - 8]
test eax, eax
jne 0x462af6
push 0x64f63c
mov ecx, ebx
call fcn.00487f4d
xor eax, eax
jmp 0x462b21
cmp edi, dword [esp + 0x440]
je 0x462b1c
mov edx, dword [ebx]
mov eax, dword [edx - 8]
test eax, eax
jne 0x462b18
push 0x64f620
mov ecx, ebx
call fcn.00487f4d
xor eax, eax
jmp 0x462b21
mov eax, 1
mov ecx, dword [esp + 0x430]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x42c
ret 4