Function at 0x415870
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49b3ac
mov eax, dword fs:[0]
push eax
sub esp, 0x224
mov eax, dword [0x4cc498]
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, dword [ebp + 8]
cmp dword [eax + 0x14], 8
jb 0x4158a9
mov eax, dword [eax]
push 1
push 0x40
push 0x20
push eax
lea ecx, [ebp - 0x230]
call fcn.0040e3f0
mov eax, dword [ebp - 0x230]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ifstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x230]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0x234], eax
mov eax, dword [ebp - 0x230]
mov dword [ebp - 4], 0
mov eax, dword [eax + 4]
test byte [ebp + eax - 0x224], 6
jne 0x4160a3
push 2
push 0
push 0
lea ecx, [ebp - 0x230]
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::seekg_long_long___int64___int_]
lea eax, [ebp - 0x148]
push eax
lea ecx, [ebp - 0x230]
call dword [sym.imp.MSVCP140.dll_public:_class_std::fpos_struct__Mbstatet____thiscall_std::basic_istream_char__struct_std::char_traits_char__::tellg_void_]
push 0
push 0
push 0
lea ecx, [ebp - 0x230]
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::seekg_long_long___int64___int_]
mov esi, dword [ebp - 0x148]
xor edx, edx
mov ecx, dword [ebp - 0x140]
xor edi, edi
mov ebx, dword [ebp - 0x144]
add esi, ecx
mov eax, edx
mov dword [ebp - 0x170], edx
adc ebx, dword [ebp - 0x13c]
add eax, 0xffffffff
mov dword [ebp - 0x16c], edx
mov dword [ebp - 0x168], edx
mov dword [ebp - 0x164], edx
adc edx, 0xffffffff
mov dword [ebp - 0x160], 0x80
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x158], edi
mov dword [ebp - 0x154], edi
mov dword [ebp - 0x150], edi
mov dword [ebp - 0x14c], edi
mov dword [ebp - 0x178], 0xffffffff
mov dword [ebp - 0x174], 0xffffffff
mov dword [ebp - 0x130], esi
cmp eax, esi
jne 0x4159c7
cmp edx, ebx
je 0x41607a
mov esi, edi
mov eax, 0x80
add esi, eax
adc edi, edi
cmp ebx, edi
jl 0x41607a
jg 0x4159e8
cmp dword [ebp - 0x130], esi
jb 0x41607a
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xe8], 0xf
mov byte [ebp - 0xfc], 0
sub ecx, eax
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x148]
xor ebx, ebx
sub ecx, ebx
add eax, ecx
jne 0x415a30
mov dword [ebp - 0xec], eax
mov byte [ebp + eax - 0xfc], bl
jmp 0x415a3e
push 0
push eax
lea ecx, [ebp - 0xfc]
call fcn.0040cc10
mov edx, dword [ebp - 0x148]
lea eax, [ebp - 0xfc]
mov ecx, dword [ebp - 0x144]
sub edx, ebx
sbb ecx, ebx
sub edx, 0x80
sbb ecx, ebx
add edx, dword [ebp - 0x140]
adc ecx, dword [ebp - 0x13c]
cmp dword [ebp - 0xe8], 0x10
push ecx
cmovae eax, dword [ebp - 0xfc]
lea ecx, [ebp - 0x230]
push edx
push eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::read_char___long_long___int64__]
mov dword [ebp - 0xe4], ebx
mov dword [ebp - 0xd4], ebx
mov dword [ebp - 0xd0], 0xf
mov byte [ebp - 0xe4], bl
mov eax, 0x80
mov byte [ebp - 4], 2
add eax, ebx
lea ecx, [ebp - 0xe4]
push 0
push eax
call fcn.0040cc10
cmp dword [ebp - 0xd0], 0x10
lea eax, [ebp - 0xe4]
push edi
cmovae eax, dword [ebp - 0xe4]
lea ecx, [ebp - 0x230]
push esi
push eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::read_char___long_long___int64__]
lea eax, [ebp - 0xfc]
push eax
lea eax, [ebp - 0x12c]
push eax
call fcn.00411780
add esp, 8
mov esi, eax
mov byte [ebp - 0xcc], 0x68
mov byte [ebp - 0xcb], 0x25
mov byte [ebp - 0xca], 0x40
mov byte [ebp - 0xc9], 0x4e
mov byte [ebp - 0xc8], 0x68
mov byte [ebp - 0xc7], 0x25
mov byte [ebp - 0xc6], 0x25
mov byte [ebp - 0xc5], 0x12
mov byte [ebp - 0xc4], 0x25
mov byte [ebp - 0xc3], 0x2c
mov byte [ebp - 0xc2], 0x25
mov byte [ebp - 0xc1], 0x6f
mov byte [ebp - 0xc0], 0x7c
mov byte [ebp - 0xbf], 0x4e
mov byte [ebp - 0xbe], 4
mov byte [ebp - 0xbd], 0x2c
mov byte [ebp - 0xbc], 0x54
mov byte [ebp - 0xbb], 4
mov byte [ebp - 0xba], 4
mov byte [ebp - 0xb9], 0x2c
mov byte [ebp - 0xb8], 0x69
mov byte [ebp - 0xb7], 0x18
mov byte [ebp - 0xb6], 0x25
mov byte [ebp - 0xb5], 0x12
mov byte [ebp - 0xb4], 0x25
mov byte [ebp - 0xb3], 0x11
mov byte [ebp - 0xb2], 0x25
mov byte [ebp - 0xb1], 0x11
mov byte [ebp - 0xb0], 0x25
mov byte [ebp - 0xaf], 0x11
mov byte [ebp - 0xae], 0x25
mov byte [ebp - 0xad], 0x40
mov byte [ebp - 0xac], 0x25
mov byte [ebp - 0xab], 0x25
mov byte [ebp - 0xaa], 0x25
mov byte [ebp - 4], 3
mov byte [ebp - 0xa9], 0x68
mov byte [ebp - 0xa8], 0x54
mov byte [ebp - 0xa7], 0x6f
mov byte [ebp - 0xa6], 0x25
mov byte [ebp - 0xa5], 0x25
mov byte [ebp - 0xa4], 0x68
mov byte [ebp - 0xa3], 0x25
mov byte [ebp - 0xa2], 0x54
mov byte [ebp - 0xa1], 0x2c
mov byte [ebp - 0xa0], 0x25
mov byte [ebp - 0x9f], 0x7c
mov byte [ebp - 0x9e], 0x54
mov byte [ebp - 0x9d], 0x11
mov byte [ebp - 0x9c], 0x25
mov byte [ebp - 0x9b], 0x25
mov byte [ebp - 0x9a], 0x3a
mov byte [ebp - 0x99], 0x3a
mov byte [ebp - 0x98], 0x26
mov byte [ebp - 0x97], 0x18
mov byte [ebp - 0x96], 0x18
mov byte [ebp - 0x95], 0x40
mov byte [ebp - 0x94], 0x7c
mov byte [ebp - 0x93], 0x18
mov byte [ebp - 0x92], 0x18
mov byte [ebp - 0x91], 0x4e
mov byte [ebp - 0x90], 0x68
mov byte [ebp - 0x8f], 0x2c
mov byte [ebp - 0x8e], 0x11
mov byte [ebp - 0x8d], 0x4e
mov byte [ebp - 0x8c], 0x7c
mov byte [ebp - 0x8b], 0x68
mov byte [ebp - 0x8a], 0x69
mov byte [ebp - 0x89], 0x4e
mov byte [ebp - 0x88], 0x11
mov byte [ebp - 0x87], 0x3a
mov byte [ebp - 0x86], 0x12
mov byte [ebp - 0x85], 0x12
mov byte [ebp - 0x84], 4
mov byte [ebp - 0x83], 0x54
mov byte [ebp - 0x82], 0x3a
mov byte [ebp - 0x81], 0x7c
mov byte [ebp - 0x80], 0x3a
mov byte [ebp - 0x7f], 0x25
mov byte [ebp - 0x7e], 0x6f
mov byte [ebp - 0x7d], 0x18
mov byte [ebp - 0x7c], 0x68
mov byte [ebp - 0x7b], 0x2c
mov byte [ebp - 0x7a], 0x40
mov byte [ebp - 0x79], 0x40
mov byte [ebp - 0x78], 0x7c
mov byte [ebp - 0x77], 0x26
mov byte [ebp - 0x76], 0x25
mov byte [ebp - 0x75], 0x4e
mov byte [ebp - 0x74], 0x4e
mov byte [ebp - 0x73], 0x7d
mov byte [ebp - 0x72], 0x7c
mov byte [ebp - 0x71], 0x6f
mov byte [ebp - 0x70], 0x7c
mov byte [ebp - 0x6f], 0x3a
mov byte [ebp - 0x6e], 0x4e
mov byte [ebp - 0x6d], 0x26
mov byte [ebp - 0x6c], 0x12
mov byte [ebp - 0x6b], 0x11
mov byte [ebp - 0x6a], 0x69
mov byte [ebp - 0x69], 0x18
mov byte [ebp - 0x68], 0x2c
mov byte [ebp - 0x67], 0x54
mov byte [ebp - 0x66], 0x68
mov byte [ebp - 0x65], 0x69
mov byte [ebp - 0x64], 4
mov byte [ebp - 0x63], 0x11
mov byte [ebp - 0x62], 0x7c
mov byte [ebp - 0x61], 0x12
mov byte [ebp - 0x60], 0x7c
mov byte [ebp - 0x5f], 0x40
mov byte [ebp - 0x5e], 0x4e
mov byte [ebp - 0x5d], 0x25
mov byte [ebp - 0x5c], 0x2c
mov byte [ebp - 0x5b], 0x54
mov byte [ebp - 0x5a], 0x7c
mov byte [ebp - 0x59], 0x25
mov byte [ebp - 0x58], 0x6f
mov byte [ebp - 0x57], 0x69
mov byte [ebp - 0x56], 0x2c
mov byte [ebp - 0x55], 0x4e
mov byte [ebp - 0x54], 0x68
mov byte [ebp - 0x53], 0x18
mov byte [ebp - 0x52], 0x26
mov byte [ebp - 0x51], 0x54
mov byte [ebp - 0x50], 0x3a
mov byte [ebp - 0x4f], 0x11
mov byte [ebp - 0x4e], 0x54
mov byte [ebp - 0x4d], 0x54
mov byte [ebp - 0x4c], 0x3a
mov byte [ebp - 0x4b], 0x11
mov byte [ebp - 0x4a], 0x25
mov byte [ebp - 0x49], 0x11
mov byte [ebp - 0x48], 0x18
mov byte [ebp - 0x47], 0x4e
mov byte [ebp - 0x46], 0x69
mov byte [ebp - 0x45], 0x11
mov byte [ebp - 0x44], 0x3a
mov byte [ebp - 0x43], 0x18
mov byte [ebp - 0x42], 0x40
mov byte [ebp - 0x41], 0x6f
mov byte [ebp - 0x40], 0x54
mov byte [ebp - 0x3f], 0x2c
mov byte [ebp - 0x3e], 0x4e
mov byte [ebp - 0x3d], 0x11
mov byte [ebp - 0x3c], 0x3a
mov byte [ebp - 0x3b], 0x12
mov byte [ebp - 0x3a], 0x3a
mov byte [ebp - 0x39], 0x40
mov byte [ebp - 0x38], 0x11
mov byte [ebp - 0x37], 0x2c
mov byte [ebp - 0x36], 0x11
mov byte [ebp - 0x35], 0x4e
mov byte [ebp - 0x34], 0x3a
mov byte [ebp - 0x33], 0x7c
mov byte [ebp - 0x32], 0x54
mov byte [ebp - 0x31], 0x11
mov byte [ebp - 0x30], 0x3a
mov byte [ebp - 0x2f], 0x25
mov byte [ebp - 0x2e], 0x11
mov byte [ebp - 0x2d], 0x69
mov byte [ebp - 0x2c], 0x26
mov byte [ebp - 0x2b], 0x3a
mov byte [ebp - 0x2a], 0x4e
mov byte [ebp - 0x29], 0x2c
mov byte [ebp - 0x28], 0x26
mov byte [ebp - 0x27], 0x69
mov byte [ebp - 0x26], 0x6f
mov byte [ebp - 0x25], 0x7c
mov byte [ebp - 0x24], 0x3a
mov byte [ebp - 0x23], 0x2c
mov byte [ebp - 0x22], 0x7c
mov byte [ebp - 0x21], 0x12
mov byte [ebp - 0x20], 0x6f
mov byte [ebp - 0x1f], 0x69
mov byte [ebp - 0x1e], 0x69
mov byte [ebp - 0x1d], 4
mov byte [ebp - 0x1c], 0x7d
mov byte [ebp - 0x1b], 0x18
mov byte [ebp - 0x1a], 0x25
mov byte [ebp - 0x19], 0x7c
mov byte [ebp - 0x18], 0x25
mov byte [ebp - 0x17], 0x11
mov byte [ebp - 0x16], 0x11
mov byte [ebp - 0x15], 0x11
mov byte [ebp - 0x14], 0
mov al, byte [ebp - 0xcc]
mov byte [ebp - 0x13], 0
cmp byte [ebp - 0x13], 0
jne 0x415f09
xor ecx, ecx
mov byte [ebp - 0x13], 1
lea edi, [ecx + 0x7f]
lea ebx, [ebx]
mov al, byte [ebp + ecx - 0xcc]
movsx eax, al
sub eax, 0x6c
imul eax, eax, 0x13
cdq
idiv edi
lea eax, [edx + 0x7f]
cdq
idiv edi
mov byte [ebp + ecx - 0xcc], dl
inc ecx
cmp ecx, 0xb8
jb 0x415ee0
lea ecx, [ebp - 0xcc]
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x104], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x100], 0xf
mov byte [ebp - 0x114], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x415f37
sub ecx, edx
lea eax, [ebp - 0xcc]
push ecx
push eax
lea ecx, [ebp - 0x114]
call fcn.00413930
lea eax, [ebp - 0xe4]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x114]
push esi
push eax
call fcn.00480fd0
mov edx, dword [ebp - 0x100]
add esp, 0xc
mov bl, al
cmp edx, 0x10
jb 0x415faa
mov ecx, dword [ebp - 0x114]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x415fa0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41604d
push edx
push ecx
call fcn.0049744e
add esp, 8
lea ecx, [ebp - 0x12c]
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x100], 0xf
mov byte [ebp - 0x114], 0
call fcn.00408190
mov edx, dword [ebp - 0xd0]
cmp edx, 0x10
jb 0x416006
mov ecx, dword [ebp - 0xe4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x415ffc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41604d
push edx
push ecx
call fcn.0049744e
add esp, 8
mov edx, dword [ebp - 0xe8]
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 0xf
mov byte [ebp - 0xe4], 0
cmp edx, 0x10
jb 0x41605d
mov ecx, dword [ebp - 0xfc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x416053
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x416053
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.0049744e
add esp, 8
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xe8], 0xf
mov byte [ebp - 0xfc], 0
jmp 0x4160a5
lea ecx, [ebp - 0x220]
call fcn.00413a20
test eax, eax
jne 0x4160a3
push eax
mov eax, dword [ebp - 0x230]
lea ecx, [ebp - 0x230]
push 2
mov eax, dword [eax + 4]
add ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
xor bl, bl
lea ecx, [ebp - 0x230]
call fcn.0040fcf0
mov al, bl
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.0049745c
mov esp, ebp
pop ebp
ret