Function at 0x4af610
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x549750
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x589ed0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp + 8]
lea esi, [eax + 0x14]
mov dword [ebp - 0x2c], eax
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
push 8
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
call fcn.004ba332
mov dword [eax + 4], 0
mov dword [esi], eax
mov dword [eax], esi
push 0x800
mov dword [ebp - 4], 0
call fcn.004ba8db
mov ecx, dword [ebp - 0x24]
add esp, 8
mov dword [ecx + 0x28], eax
mov dword [ecx + 0x2c], 0
mov dword [ecx + 0x30], 0
mov eax, dword [ebx]
mov eax, dword [eax + 4]
test byte [eax + ebx + 0xc], 6
jne 0x4af838
xor edi, edi
xor esi, esi
cmp byte [0x589620], 0
jne 0x4af7ed
mov ecx, ebx
call fcn.004a7e60
mov dword [ebp + edi*4 - 0x20], eax
inc edi
cmp eax, 0xffffffff
jne 0x4af707
mov ecx, 0x58987f
mov edx, 0x589654
jmp 0x4af78d
cmp eax, 0xef
jg 0x4af754
je 0x4af748
mov ecx, eax
sub ecx, 0
je 0x4af73c
sub ecx, 0xbb
je 0x4af730
sub ecx, 4
jne 0x4af763
mov ecx, 0x58987a
mov edx, 0x589640
jmp 0x4af78d
mov ecx, 0x589879
mov edx, 0x58963c
jmp 0x4af78d
mov ecx, 0x589878
mov edx, 0x589638
jmp 0x4af78d
mov ecx, 0x58987b
mov edx, 0x589644
jmp 0x4af78d
mov ecx, eax
sub ecx, 0xfe
je 0x4af783
sub ecx, 1
je 0x4af777
dec eax
cmp eax, 0xfd
ja 0x4af6f8
mov ecx, 0x58987e
mov edx, 0x589650
jmp 0x4af78d
mov ecx, 0x58987d
mov edx, 0x58964c
jmp 0x4af78d
mov ecx, 0x58987c
mov edx, 0x589648
mov eax, esi
movsx esi, byte [ecx + esi*8]
shl eax, 5
mov eax, dword [eax + edx]
mov dword [ebp - 0x28], eax
test esi, esi
jle 0x4af7db
mov eax, dword [ebx]
xor edx, edx
mov ecx, dword [eax + 4]
mov eax, 4
cmp dword [ecx + ebx + 0x38], edx
cmovne eax, edx
mov dword [ecx + ebx + 0xc], eax
test dword [ecx + ebx + 0x10], eax
jne 0x4af858
mov eax, dword [ebp + edi*4 - 0x24]
dec edi
cmp eax, 0xffffffff
je 0x4af7d3
push eax
mov ecx, ebx
call fcn.004b0540
dec esi
test esi, esi
jg 0x4af7c1
mov eax, dword [ebp - 0x28]
cmp byte [eax + 0x589620], 0
mov esi, eax
je 0x4af6e7
mov ecx, dword [ebp - 0x24]
lea eax, [esi - 4]
cmp eax, 0xd
ja case.0x4af7fc.6
movzx eax, byte [eax + 0x4af89c]
jmp dword [eax*4 + 0x4af884]
mov dword [ecx + 0x10], 1
jmp 0x4af82e
mov dword [ecx + 0x10], 2
jmp 0x4af82e
mov dword [ecx + 0x10], 3
jmp 0x4af82e
mov dword [ecx + 0x10], 4
jmp 0x4af82e
mov dword [ecx + 0x10], 0
push 0
call fcn.004afbb0
mov ecx, dword [ebp - 0x24]
mov eax, ecx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004ba2f5
mov esp, ebp
pop ebp
ret 4
lea eax, [ebp - 0x18]
push 1
push eax
call fcn.004212f0
add esp, 8
lea ecx, [ebp - 0x40]
push eax
push str.ios_base::badbit_set
call fcn.00420f80
push 0x58620c
lea eax, [ebp - 0x40]
push eax
call fcn.004d8583
nop
push ds
clc
dec edx
add byte [eax + edi*8], cl
dec edx
add byte [ebx], al
clc
dec edx
add byte [0x27004af8], dl
clc
dec edx
add byte [edi], ah
clc
dec edx
add byte [eax], al
add dword [0x2050505], eax
add eax, dword [84215045]
add al, 204
int3