Function at 0x46ca80
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a5540
mov eax, dword fs:[0]
push eax
sub esp, 0x30
mov eax, dword [0x4cc080]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp + 8]
lea esi, [ecx + 0x14]
mov dword [ebp - 0x3c], ecx
mov dword [ecx], eax
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
push 8
mov dword [ebp - 0x28], eax
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.0046204b
mov dword [eax + 4], 0
mov dword [esi], eax
mov dword [eax], esi
push 0x800
mov dword [ebp - 4], 0
call fcn.004622fd
mov edx, dword [ebp - 0x2c]
add esp, 8
mov ecx, dword [ebp - 0x28]
mov dword [edx + 0x28], eax
mov dword [edx + 0x2c], 0
mov dword [edx + 0x30], 0
mov eax, dword [ecx]
mov eax, dword [eax + 4]
test byte [eax + ecx + 0xc], 6
jne 0x46ccc9
xorps xmm0, xmm0
xor edi, edi
xor esi, esi
cmp byte [0x4cc768], 0
movups xmmword [ebp - 0x20], xmm0
jne 0x46cc76
call fcn.00466e60
mov dword [ebp + edi*4 - 0x20], eax
inc edi
cmp eax, 0xffffffff
jne 0x46cb7f
mov ecx, 0x4cc9c7
mov edx, 0x4cc79c
jmp 0x46cc05
cmp eax, 0xef
jg 0x46cbcc
je 0x46cbc0
mov ecx, eax
sub ecx, 0
je 0x46cbb4
sub ecx, 0xbb
je 0x46cba8
sub ecx, 4
jne 0x46cbdb
mov ecx, 0x4cc9c2
mov edx, 0x4cc788
jmp 0x46cc05
mov ecx, 0x4cc9c1
mov edx, 0x4cc784
jmp 0x46cc05
mov ecx, 0x4cc9c0
mov edx, 0x4cc780
jmp 0x46cc05
mov ecx, 0x4cc9c3
mov edx, 0x4cc78c
jmp 0x46cc05
mov ecx, eax
sub ecx, 0xfe
je 0x46cbfb
sub ecx, 1
je 0x46cbef
dec eax
cmp eax, 0xfd
ja 0x46cb70
mov ecx, 0x4cc9c6
mov edx, 0x4cc798
jmp 0x46cc05
mov ecx, 0x4cc9c5
mov edx, 0x4cc794
jmp 0x46cc05
mov ecx, 0x4cc9c4
mov edx, 0x4cc790
mov eax, esi
movsx esi, byte [ecx + esi*8]
shl eax, 5
mov eax, dword [eax + edx]
mov dword [ebp - 0x30], eax
test esi, esi
jle 0x46cc60
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x34], 0
mov eax, dword [edx]
mov ecx, dword [eax + 4]
mov eax, 4
cmp dword [ecx + edx + 0x38], 0
cmovne eax, dword [ebp - 0x34]
mov dword [ecx + edx + 0xc], eax
test dword [ecx + edx + 0x10], eax
jne 0x46cce8
mov eax, dword [ebp + edi*4 - 0x24]
dec edi
cmp eax, 0xffffffff
je 0x46cc58
push eax
mov ecx, edx
call fcn.0046d790
mov edx, dword [ebp - 0x28]
dec esi
test esi, esi
jg 0x46cc43
mov eax, dword [ebp - 0x30]
cmp byte [eax + 0x4cc768], 0
mov esi, eax
jne 0x46cc73
mov ecx, dword [ebp - 0x28]
jmp 0x46cb61
mov edx, dword [ebp - 0x2c]
lea eax, [esi - 4]
cmp eax, 0xd
ja case.0x46cc85.6
movzx eax, byte [eax + 0x46cd2c]
jmp dword [eax*4 + 0x46cd14]
mov dword [edx + 0x10], 1
jmp 0x46ccb7
mov dword [edx + 0x10], 2
jmp 0x46ccb7
mov dword [edx + 0x10], 3
jmp 0x46ccb7
mov dword [edx + 0x10], 4
jmp 0x46ccb7
mov dword [edx + 0x10], 0
cmp dword [edx + 0x24], 0
ja 0x46ccc9
push 0
mov ecx, edx
call fcn.0046d3f0
mov edx, dword [ebp - 0x2c]
mov eax, edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004626e0
mov esp, ebp
pop ebp
ret 4
lea eax, [ebp - 0x38]
push 1
push eax
call fcn.00403ce0
add esp, 8
lea ecx, [ebp - 0x24]
push eax
push str.ios_base::badbit_set
call fcn.00404860
push 0x4cb11c
lea eax, [ebp - 0x24]
push eax
call fcn.0047606d
nop
cmpsd dword [esi], dword es:[edi]
int3