Function at 0x43f310
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x486ebb
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x4ae364]
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 dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], ecx
mov ebx, dword [ebp + 8]
lea esi, [ecx + 0x14]
mov dword [ebp - 0x2c], ecx
mov dword [ecx], ebx
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
push 8
mov dword [ebp - 0x28], esi
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.0044c1c2
mov dword [esi], eax
mov dword [eax], 0
mov dword [eax + 4], 0
mov eax, dword [esi]
mov dword [eax], esi
push 0x800
mov dword [ebp - 4], 0
call fcn.0044c29d
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 0x43f54d
xor edi, edi
xor esi, esi
cmp byte [0x4ad690], 0
jne 0x43f4fc
nop dword [eax]
mov ecx, ebx
call fcn.00439510
mov dword [ebp + edi*4 - 0x20], eax
inc edi
cmp eax, 0xffffffff
jne 0x43f410
mov ecx, 0x4ad8ef
mov edx, 0x4ad6c4
jmp 0x43f496
cmp eax, 0xef
jg 0x43f45d
je 0x43f451
mov ecx, eax
sub ecx, 0
je 0x43f445
sub ecx, 0xbb
je 0x43f439
sub ecx, 4
jne 0x43f46c
mov ecx, 0x4ad8ea
mov edx, 0x4ad6b0
jmp 0x43f496
mov ecx, 0x4ad8e9
mov edx, 0x4ad6ac
jmp 0x43f496
mov ecx, 0x4ad8e8
mov edx, 0x4ad6a8
jmp 0x43f496
mov ecx, 0x4ad8eb
mov edx, 0x4ad6b4
jmp 0x43f496
mov ecx, eax
sub ecx, 0xfe
je 0x43f48c
sub ecx, 1
je 0x43f480
dec eax
cmp eax, 0xfd
ja 0x43f401
mov ecx, 0x4ad8ee
mov edx, 0x4ad6c0
jmp 0x43f496
mov ecx, 0x4ad8ed
mov edx, 0x4ad6bc
jmp 0x43f496
mov ecx, 0x4ad8ec
mov edx, 0x4ad6b8
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 0x43f4ea
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 0x43f56d
nop word [eax + eax]
mov eax, dword [ebp + edi*4 - 0x24]
dec edi
cmp eax, 0xffffffff
je 0x43f4e2
push eax
mov ecx, ebx
call fcn.00440200
dec esi
test esi, esi
jg 0x43f4d0
mov eax, dword [ebp - 0x28]
cmp byte [eax + 0x4ad690], 0
mov esi, eax
je 0x43f3f0
mov ecx, dword [ebp - 0x24]
add esi, 0xfffffffc
cmp esi, 0xd
ja case.0x43f50b.6
movzx eax, byte [esi + 0x43f5b0]
jmp dword [eax*4 + 0x43f598]
mov dword [ecx + 0x10], 1
jmp 0x43f53d
mov dword [ecx + 0x10], 2
jmp 0x43f53d
mov dword [ecx + 0x10], 3
jmp 0x43f53d
mov dword [ecx + 0x10], 4
jmp 0x43f53d
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x24], 0
ja 0x43f54d
push 0
call fcn.0043fbd0
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.0044c213
mov esp, ebp
pop ebp
ret 4
lea eax, [ebp - 0x18]
push 1
push eax
call fcn.00409770
add esp, 8
lea ecx, [ebp - 0x40]
push eax
push str.ios_base::badbit_set
call fcn.00404c80
push 0x4a2a34
lea eax, [ebp - 0x40]
push eax
call fcn.00462ed2
nop
sub eax, 0x1b0043f5
cmc
inc ebx
add byte [edx], dl
cmc
inc ebx
add byte [esi*8 - 0xac9ffbd], ah
inc ebx
add byte [esi], dh
cmc
inc ebx
add byte [eax], al
add dword [0x2050505], eax
add eax, dword [84215045]
add al, 204
int3