Function at 0x405ce0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x52fc84
mov eax, dword fs:[0]
push eax
sub esp, 0x108
mov eax, dword [0x56f28c]
xor eax, esp
mov dword [esp + 0x100], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x56f28c]
xor eax, esp
push eax
lea eax, [esp + 0x11c]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x12c]
mov edi, ecx
push str.__b_f_n_r_t
xor ebx, ebx
push edi
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x3c], ebx
call fcn.00506a70
add esp, 8
test eax, eax
jne 0x405df5
mov ecx, edi
cmp byte [edi], bl
je 0x405d69
lea ebx, [ebx]
movzx eax, byte [ecx]
dec al
mov dl, 0x1e
cmp dl, al
sbb eax, eax
inc eax
inc ecx
cmp al, bl
jne 0x405df5
cmp byte [ecx], bl
jne 0x405d50
push 1
push 0x547818
lea ecx, [esp + 0x20]
mov dword [esp + 0x38], 0xf
mov dword [esp + 0x34], ebx
mov byte [esp + 0x24], bl
call fcn.00403730
lea eax, [esp + 0x18]
push eax
lea esi, [esp + 0x40]
mov dword [esp + 0x128], ebx
call fcn.00409470
add esp, 4
push eax
mov edi, 0x547818
mov esi, ebp
mov byte [esp + 0x128], 1
call fcn.00409470
mov ebp, 0x10
add esp, 4
cmp dword [esp + 0x54], ebp
jb 0x405dd1
mov ecx, dword [esp + 0x40]
push ecx
call fcn.004ff610
add esp, 4
mov dword [esp + 0x54], 0xf
mov dword [esp + 0x50], ebx
mov byte [esp + 0x40], bl
cmp dword [esp + 0x30], ebp
jb 0x4060cf
mov edx, dword [esp + 0x1c]
push edx
jmp 0x4060c7
mov eax, edi
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x405e00
sub eax, edx
lea eax, [eax + eax + 3]
mov dword [esp + 0x110], 0xf
mov dword [esp + 0x10c], ebx
mov byte [esp + 0xfc], bl
mov dword [esp + 0x124], 2
mov ebp, 0x10
cmp eax, 0xf
je 0x405e6e
push 1
push eax
lea ecx, [esp + 0x100]
call fcn.004044a0
test al, al
je 0x405e6e
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10c], ebx
cmp dword [esp + 0x110], ebp
jae 0x405e6c
lea eax, [esp + 0xfc]
mov byte [eax], bl
push 1
push 0x547818
lea ecx, [esp + 0x100]
call fcn.004081c0
cmp byte [edi], bl
je 0x406080
mov al, byte [edi]
movsx ecx, al
add ecx, 0xfffffff8
cmp ecx, 0x54
ja case.0x405ea1.11
movzx ecx, byte [ecx + 0x40611c]
jmp dword [ecx*4 + 0x4060fc]
push 2
push 0x54781c
lea ecx, [esp + 0x100]
call fcn.004081c0
jmp 0x406077
push 2
push 0x547820
lea ecx, [esp + 0x100]
call fcn.004081c0
jmp 0x406077
push 2
push 0x547824
lea ecx, [esp + 0x100]
call fcn.004081c0
jmp 0x406077
push 2
push 0x547828
lea ecx, [esp + 0x100]
call fcn.004081c0
jmp 0x406077
push 2
push 0x54782c
lea ecx, [esp + 0x100]
call fcn.004081c0
jmp 0x406077
push 2
push 0x547830
lea ecx, [esp + 0x100]
call fcn.004081c0
jmp 0x406077
push 2
push 0x547834
lea ecx, [esp + 0x100]
call fcn.004081c0
jmp 0x406077
mov dl, al
dec dl
cmp dl, 0x1e
ja 0x406068
push 1
push 2
lea ecx, [esp + 0x7c]
call fcn.00406c20
lea eax, [esp + 0x74]
push 0x547838
push eax
mov byte [esp + 0x12c], 3
call fcn.00409520
mov esi, eax
add esp, 8
cmp esi, ebx
jne 0x405f8e
xor eax, eax
jmp 0x405f95
mov ecx, dword [esi]
mov eax, dword [ecx + 4]
add eax, esi
mov edx, dword [eax + 0x10]
and edx, 0xfffff9ff
or edx, 0x800
mov dword [eax + 0x10], edx
cmp esi, ebx
jne 0x405faf
xor eax, eax
jmp 0x405fb6
mov eax, dword [esi]
mov eax, dword [eax + 4]
add eax, esi
or dword [eax + 0x10], 4
mov ecx, dword [esi]
mov eax, dword [ecx + 4]
lea edx, [esp + 0x34]
add eax, esi
push 4
push edx
mov byte [eax + 0x30], 0x30
call fcn.004ff326
mov ecx, dword [esi]
mov edx, dword [eax + 4]
mov ecx, dword [ecx + 4]
mov eax, dword [eax]
add ecx, esi
push edx
push ecx
call eax
movsx ecx, byte [edi]
add esp, 0x10
push ecx
push esi
call fcn.00406780
lea edx, [esp + 0x58]
push edx
lea ecx, [esp + 0x78]
call fcn.00406d80
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0x104]
mov byte [esp + 0x130], 4
call fcn.004080c0
cmp dword [esp + 0x70], ebp
jb 0x406027
mov eax, dword [esp + 0x5c]
push eax
call fcn.004ff610
add esp, 4
lea ecx, [esp + 0xc0]
mov dword [esp + 0x70], 0xf
mov dword [esp + 0x6c], ebx
mov byte [esp + 0x5c], bl
mov byte [esp + 0x124], 2
call fcn.00406d00
lea ecx, [esp + 0xc0]
push ecx
mov dword [esp + 0xc4], vtable.std::ios_base.0
call fcn.004febff
add esp, 4
jmp 0x406077
push eax
push 1
lea ecx, [esp + 0x100]
call fcn.004073a0
inc edi
cmp byte [edi], bl
jne 0x405e89
push 1
push 0x547818
lea ecx, [esp + 0x100]
call fcn.004081c0
mov esi, dword [esp + 0x14]
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x100]
mov dword [esi + 0x18], 0xf
mov dword [esi + 0x14], ebx
push edx
mov ecx, esi
mov byte [esi + 4], bl
call fcn.00403650
cmp dword [esp + 0x110], ebp
jb 0x4060cf
mov eax, dword [esp + 0xfc]
push eax
call fcn.004ff610
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x11c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x100]
xor ecx, esp
call fcn.004ffa01
add esp, 0x114
ret