Function at 0x40e4c0
Capabilities:
Check if file exists
Contain obfuscated stackstrings
Link many functions at runtime
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x502cc0
mov eax, dword fs:[0]
push eax
sub esp, 0x224
mov eax, dword [0x5473d8]
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 - 0x14], ecx
lea ecx, [ebp - 0xc0]
call fcn.00418e90
mov dword [ebp - 4], 0
mov edi, dword [eax]
mov dword [ebp - 0x50], 0x650073
mov dword [ebp - 0x4c], 0x64006e
mov dword [ebp - 0x48], 0x650020
mov dword [ebp - 0x44], 0x610076
mov dword [ebp - 0x40], 0x730020
mov dword [ebp - 0x3c], 0x610074
mov dword [ebp - 0x38], 0x74
call fcn.00405dc0
push eax
push 0xd
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x30]
call fcn.00404e60
sub esp, 8
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x198]
call fcn.0040b430
mov byte [ebp - 4], 2
mov eax, 0x531ef4
mov esi, dword [ebp - 0x30]
test esi, esi
cmovne eax, esi
push eax
lea eax, [ebp - 0x198]
push eax
call fcn.00409e50
mov eax, dword [edi]
lea ecx, [ebp - 0x198]
add esp, 8
push ecx
mov ecx, edi
call dword [eax + 0xc]
mov eax, dword [ebp - 0x198]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_0], vtable.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov eax, dword [ebp - 0x198]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0x19c], eax
lea ecx, [ebp - 0x194]
call fcn.0040c1d0
mov eax, dword [ebp - 0x198]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov eax, dword [ebp - 0x198]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x19c], eax
lea eax, [ebp - 0x148]
mov byte [ebp - 4], 3
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.0041c00c
or ebx, 0xffffffff
mov byte [ebp - 4], 0
add esp, 4
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x40e61f
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 4
mov esi, dword [ebp - 0xbc]
test esi, esi
je 0x40e64f
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x40e64f
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, ebx
lock xadd dword [esi + 8], eax
jne 0x40e64f
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
cmp word [0x5537c8], 0
jne 0x40e680
push 0x104
push 0x5537c8
push 0x400000
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x5537c8
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
call fcn.00405dc0
mov ecx, eax
test ecx, ecx
je 0x40f665
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x24], eax
push 0x5537c8
lea ecx, [ebp - 0x24]
mov dword [ebp - 4], 5
call fcn.00404d20
test al, al
jne 0x40e6dd
mov ecx, 0x5537c8
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40e6c0
sub ecx, edx
sar ecx, 1
push ecx
push 0x5537c8
lea ecx, [ebp - 0x24]
call fcn.004051c0
mov dword [ebp - 4], 6
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x4c], 0x750063
mov dword [ebp - 0x48], 0x6c0072
mov dword [ebp - 0x44], 0x65006e
mov dword [ebp - 0x40], 0x2e0074
mov dword [ebp - 0x3c], 0x6c0064
mov dword [ebp - 0x38], 0x6c
call fcn.00405dc0
push eax
push 0xb
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x18]
call fcn.00404e60
mov byte [ebp - 4], 7
lea eax, [ebp - 0x18]
mov edx, dword [ebp - 0x14]
lea ecx, [ebp - 0x20]
push eax
add edx, 0xc
call fcn.004169a0
add esp, 4
mov byte [ebp - 4], 9
mov eax, ebx
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40e760
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.004121c0
push dword [ebp - 0x20]
mov edi, eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x40f480
cmp dword [edi], 0
jne 0x40e7d9
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [edi], eax
test eax, eax
je 0x40e7f2
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.CurlInit
push eax
call esi
push str.CurlUninit
push dword [edi]
mov dword [edi + 4], eax
call esi
push str.zlib_uncompress
push dword [edi]
mov dword [edi + 8], eax
call esi
push str.zlib_compress
push dword [edi]
mov dword [edi + 0x10], eax
call esi
push str.zlib_compressBound
push dword [edi]
mov dword [edi + 0x14], eax
call esi
mov dword [edi + 0x18], eax
mov eax, dword [edi + 4]
test eax, eax
je 0x40e7d9
call eax
mov dword [edi + 0xc], eax
cmp dword [edi + 8], 0
je 0x40e7f2
cmp dword [edi + 4], 0
je 0x40e7f2
cmp dword [edi + 0xc], 0
je 0x40e7f2
mov eax, 1
jmp 0x40e7f4
xor eax, eax
test eax, eax
je 0x40f480
call fcn.004981d0
mov edi, eax
mov dword [ebp - 0xf0], edi
test edi, edi
je 0x40f60c
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
call fcn.00416360
mov byte [ebp - 4], 0xf
mov dword [ebp - 0xd4], 0x65707974
mov byte [ebp - 0xd0], 0
call fcn.00405dc0
mov ecx, eax
test ecx, ecx
je 0x40f66f
mov eax, dword [ecx]
push 1
push 4
call dword [eax]
test eax, eax
je 0x40f679
cmp dword [eax + 8], 4
lea esi, [eax + 0x10]
jl 0x40f6fb
push 4
lea eax, [ebp - 0xd4]
mov dword [esi - 0xc], 4
push eax
push 4
push esi
mov byte [esi + 4], 0
call fcn.00412600
push 0x532070
call fcn.00498200
push eax
push esi
push edi
call fcn.00498150
add esp, 0x20
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x40e8a9
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00409b20
mov ecx, eax
call fcn.00495e10
lea ecx, [ebp - 0xb4]
push 0xfde9
mov dword [ebp - 0xb8], ecx
lea ecx, [ebp - 0xb8]
push eax
call fcn.004128b0
mov byte [ebp - 4], 0x10
mov dword [ebp - 0xc4], 0x646970
call fcn.00405dc0
mov ecx, eax
test ecx, ecx
je 0x40f67e
mov eax, dword [ecx]
push 1
push 3
call dword [eax]
test eax, eax
je 0x40f688
cmp dword [eax + 8], 3
lea esi, [eax + 0x10]
jl 0x40f6fb
push 3
lea eax, [ebp - 0xc4]
mov dword [esi - 0xc], 3
push eax
push 3
push esi
mov byte [esi + 3], 0
call fcn.00412600
push dword [ebp - 0xb8]
call fcn.00498200
push eax
push esi
push edi
call fcn.00498150
add esp, 0x20
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x40e955
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xb4]
mov eax, dword [ebp - 0xb8]
cmp eax, ecx
je 0x40e972
push eax
call fcn.004c8ec8
add esp, 4
call fcn.00409b20
mov ecx, eax
call fcn.00495ac0
lea ecx, [ebp - 0xb4]
push 0xfde9
mov dword [ebp - 0xb8], ecx
lea ecx, [ebp - 0xb8]
push eax
call fcn.004128b0
mov byte [ebp - 4], 0x11
mov dword [ebp - 0xc8], 0x64696d
call fcn.00405dc0
mov ecx, eax
test ecx, ecx
je 0x40f68d
mov eax, dword [ecx]
push 1
push 3
call dword [eax]
test eax, eax
je 0x40f697
cmp dword [eax + 8], 3
lea esi, [eax + 0x10]
jl 0x40f6fb
push 3
lea eax, [ebp - 0xc8]
mov dword [esi - 0xc], 3
push eax
push 3
push esi
mov byte [esi + 3], 0
call fcn.00412600
push dword [ebp - 0xb8]
call fcn.00498200
push eax
push esi
push edi
call fcn.00498150
add esp, 0x20
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x40ea1e
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xb4]
mov eax, dword [ebp - 0xb8]
cmp eax, ecx
je 0x40ea3b
push eax
call fcn.004c8ec8
add esp, 4
call fcn.00409b20
mov ecx, eax
call fcn.00495aa0
lea ecx, [ebp - 0xb4]
push 0xfde9
mov dword [ebp - 0xb8], ecx
lea ecx, [ebp - 0xb8]
push eax
call fcn.004128b0
mov byte [ebp - 4], 0x12
mov dword [ebp - 0xdc], 0x3264696d
mov byte [ebp - 0xd8], 0
call fcn.00405dc0
mov ecx, eax
test ecx, ecx
je 0x40f69c
mov eax, dword [ecx]
push 1
push 4
call dword [eax]
test eax, eax
je 0x40f6a6
cmp dword [eax + 8], 4
lea esi, [eax + 0x10]
jl 0x40f6fb
push 4
lea eax, [ebp - 0xdc]
mov dword [esi - 0xc], 4
push eax
push 4
push esi
mov byte [esi + 4], 0
call fcn.00412600
push dword [ebp - 0xb8]
call fcn.00498200
push eax
push esi
push edi
call fcn.00498150
add esp, 0x20
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x40eaee
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xb4]
mov eax, dword [ebp - 0xb8]
cmp eax, ecx
je 0x40eb0b
push eax
call fcn.004c8ec8
add esp, 4
push 0xfde9
push dword [ebp - 0x1c]
lea eax, [ebp - 0xb4]
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0xb8], eax
call fcn.004128b0
mov byte [ebp - 4], 0x13
mov dword [ebp - 0xe4], 0x76707061
mov word [ebp - 0xe0], 0x7265
mov byte [ebp - 0xde], 0
call fcn.00405dc0
mov ecx, eax
test ecx, ecx
je 0x40f6ab
mov eax, dword [ecx]
push 1
push 6
call dword [eax]
test eax, eax
je 0x40f6b5
cmp dword [eax + 8], 6
lea esi, [eax + 0x10]
jl 0x40f6fb
push 6
lea eax, [ebp - 0xe4]
mov dword [esi - 0xc], 6
push eax
push 6
push esi
mov byte [esi + 6], 0
call fcn.00412600
push dword [ebp - 0xb8]
call fcn.00498200
push eax
push esi
push edi
call fcn.00498150
add esp, 0x20
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x40ebbd
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xb4]
mov eax, dword [ebp - 0xb8]
cmp eax, ecx
je 0x40ebda
push eax
call fcn.004c8ec8
add esp, 4
push 0xfde9
push dword [ebp - 0x1c]
lea eax, [ebp - 0xb4]
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0xb8], eax
call fcn.004128b0
mov byte [ebp - 4], 0x14
mov dword [ebp - 0xec], 0x76646f6d
mov word [ebp - 0xe8], 0x7265
mov byte [ebp - 0xe6], 0
call fcn.00405dc0
mov ecx, eax
test ecx, ecx
je 0x40f6ba
mov eax, dword [ecx]
push 1
push 6
call dword [eax]
test eax, eax
je 0x40f6c4
cmp dword [eax + 8], 6
lea esi, [eax + 0x10]
jl 0x40f6fb
push 6
lea eax, [ebp - 0xec]
mov dword [esi - 0xc], 6
push eax
push 6
push esi
mov byte [esi + 6], 0
call fcn.00412600
push dword [ebp - 0xb8]
call fcn.00498200
push eax
push esi
push edi
call fcn.00498150
add esp, 0x20
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x40ec8c
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xb4]
mov eax, dword [ebp - 0xb8]
cmp eax, ecx
je 0x40eca9
push eax
call fcn.004c8ec8
add esp, 4
mov dword [ebp - 0x100], 0x74796e61
mov dword [ebp - 0xfc], 0x676e6968
mov byte [ebp - 0xf8], 0
call fcn.00405dc0
mov ecx, eax
test ecx, ecx
je 0x40f6c9
mov eax, dword [ecx]
push 1
push 8
call dword [eax]
test eax, eax
je 0x40f6d3
cmp dword [eax + 8], 8
lea edi, [eax + 0x10]
mov dword [ebp - 0xbc], edi
jl 0x40f6fb
push 8
lea eax, [ebp - 0x100]
mov dword [edi - 0xc], 8
push eax
push 8
push edi
mov byte [edi + 8], 0
call fcn.00412600
add esp, 0x10
mov byte [ebp - 4], 0x15
mov dword [ebp - 0xcc], 0x707061
call fcn.00405dc0
mov ecx, eax
test ecx, ecx
je 0x40f6d8
mov eax, dword [ecx]
push 1
push 3
call dword [eax]
test eax, eax
je 0x40f6e2
cmp dword [eax + 8], 3
lea esi, [eax + 0x10]
jl 0x40f6fb
push 3
lea eax, [ebp - 0xcc]
mov dword [esi - 0xc], 3
push eax
push 3
push esi
mov byte [esi + 3], 0
call fcn.00412600
push edi
call fcn.00498200
push eax
push esi
push dword [ebp - 0xf0]
call fcn.00498150
add esp, 0x20
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x40ed98
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xf
add edi, 0xfffffff0
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x40edb3
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00405dc0
mov ecx, eax
test ecx, ecx
je 0x40f6e7
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x18], esi
mov byte [ebp - 4], 0x16
mov edi, dword [ebp - 0xf0]
push edi
call fcn.004982f0
add esp, 4
mov dword [ebp - 0x14], eax
test eax, eax
je 0x40f001
call fcn.00405dc0
mov ecx, eax
test ecx, ecx
je 0x40f6f1
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x28]
push dword [ebp - 0x14]
call fcn.00404d20
test al, al
jne 0x40ee8b
push 0
push 0
push 0xffffffffffffffff
push dword [ebp - 0x14]
push 0
push 3
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea edi, [eax - 1]
test edi, edi
jle 0x40ee7d
mov ecx, dword [ebp - 0x28]
mov edx, 1
mov eax, dword [ecx - 8]
sub edx, dword [ecx - 4]
sub eax, edi
or eax, edx
jge 0x40ee52
push edi
lea ecx, [ebp - 0x28]
call fcn.00405160
mov ecx, dword [ebp - 0x28]
push edi
push ecx
push 0xffffffffffffffff
push dword [ebp - 0x14]
push 0
push 3
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [ebp - 0x28]
cmp edi, dword [eax - 8]
jg 0x40f6fb
mov dword [eax - 0xc], edi
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov word [eax + edi*2], cx
jmp 0x40ee85
lea ecx, [ebp - 0x28]
call fcn.004058d0
mov edi, dword [ebp - 0xf0]
mov byte [ebp - 4], 0x18
xor eax, eax
mov dword [ebp - 0x80], 0x380030
mov dword [ebp - 0x7c], 0x610032
mov dword [ebp - 0x78], 0x330037
mov dword [ebp - 0x74], 0x620032
mov dword [ebp - 0x70], 0x65002d
mov dword [ebp - 0x6c], 0x620038
mov dword [ebp - 0x68], 0x2d0064
mov dword [ebp - 0x64], 0x360034
mov dword [ebp - 0x60], 0x620036
mov dword [ebp - 0x5c], 0x61002d
mov dword [ebp - 0x58], 0x310038
mov dword [ebp - 0x54], 0x2d0037
mov dword [ebp - 0x50], 0x630061
mov dword [ebp - 0x4c], 0x660039
mov dword [ebp - 0x48], 0x300034
mov dword [ebp - 0x44], 0x360062
mov dword [ebp - 0x40], 0x640063
mov dword [ebp - 0x3c], 0x300035
mov word [ebp - 0x38], ax
call fcn.00405dc0
push eax
push 0x24
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x30]
call fcn.00404e60
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0xbc]
push eax
call fcn.0049aec0
add esp, 0xc
mov byte [ebp - 4], 0x1a
add esi, 0xfffffff0
mov edx, dword [eax]
lea ecx, [edx - 0x10]
cmp ecx, esi
je 0x40ef99
cmp dword [esi + 0xc], 0
jl 0x40ef8d
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x40ef8d
call fcn.004075e0
mov dword [ebp - 0xf0], eax
lea edx, [esi + 0xc]
mov ecx, ebx
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40ef85
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0xf0]
add eax, 0x10
mov dword [ebp - 0x18], eax
jmp 0x40ef99
push dword [edx - 0xc]
lea ecx, [ebp - 0x18]
push edx
call fcn.004051c0
mov byte [ebp - 4], 0x19
mov eax, ebx
mov edx, dword [ebp - 0xbc]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40efba
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x18
mov eax, ebx
mov edx, dword [ebp - 0x30]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40efd8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x16
mov eax, ebx
mov edx, dword [ebp - 0x28]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40eff6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp - 0x14]
call fcn.004c8ec8
add esp, 4
push edi
call fcn.00498280
add esp, 4
call fcn.00405dc0
mov ecx, eax
test ecx, ecx
je 0x40f705
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x1b
xor eax, eax
mov dword [ebp - 0x7c], 0x740068
mov dword [ebp - 0x78], 0x700074
mov dword [ebp - 0x74], 0x2f003a
mov dword [ebp - 0x70], 0x61002f
mov dword [ebp - 0x6c], 0x690070
mov dword [ebp - 0x68], 0x35002e
mov dword [ebp - 0x64], 0x740032
mov dword [ebp - 0x60], 0x6f006f
mov dword [ebp - 0x5c], 0x62006c
mov dword [ebp - 0x58], 0x78006f
mov dword [ebp - 0x54], 0x63002e
mov dword [ebp - 0x50], 0x6d006f
mov dword [ebp - 0x4c], 0x70002f
mov dword [ebp - 0x48], 0x2f0063
mov dword [ebp - 0x44], 0x640075
mov dword [ebp - 0x40], 0x65002f
mov dword [ebp - 0x3c], 0x610076
mov word [ebp - 0x38], ax
call fcn.00405dc0
push eax
push 0x22
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x30]
call fcn.00404e60
sub esp, 8
mov byte [ebp - 4], 0x1c
lea eax, [ebp - 0x14]
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x30]
push eax
call fcn.0040cc10
add esp, 0xc
mov byte [ebp - 4], 0x1b
mov edx, dword [ebp - 0x30]
test eax, eax
mov eax, ebx
sete byte [ebp - 0x29]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40f0f6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x29], 0
je 0x40f27b
lea ecx, [ebp - 0x34]
call fcn.00418e90
mov byte [ebp - 4], 0x1d
mov edi, dword [eax]
xor eax, eax
mov dword [ebp - 0x64], 0x650073
mov dword [ebp - 0x60], 0x64006e
mov dword [ebp - 0x5c], 0x650020
mov dword [ebp - 0x58], 0x610076
mov dword [ebp - 0x54], 0x730020
mov dword [ebp - 0x50], 0x610074
mov dword [ebp - 0x4c], 0x200074
mov dword [ebp - 0x48], 0x690074
mov dword [ebp - 0x44], 0x65006d
mov dword [ebp - 0x40], 0x6f0020
mov dword [ebp - 0x3c], 0x740075
mov word [ebp - 0x38], ax
call fcn.00405dc0
push eax
push 0x16
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0xbc]
call fcn.00404e60
sub esp, 8
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x198]
call fcn.0040b430
mov byte [ebp - 4], 0x1f
mov eax, 0x531ef4
mov esi, dword [ebp - 0xbc]
test esi, esi
cmovne eax, esi
push eax
lea eax, [ebp - 0x198]
push eax
call fcn.00409e50
mov eax, dword [edi]
lea ecx, [ebp - 0x198]
add esp, 8
push ecx
mov ecx, edi
call dword [eax + 0xc]
mov eax, dword [ebp - 0x198]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_0], vtable.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov eax, dword [ebp - 0x198]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0x19c], eax
lea ecx, [ebp - 0x194]
call fcn.0040c1d0
mov eax, dword [ebp - 0x198]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov eax, dword [ebp - 0x198]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x19c], eax
lea eax, [ebp - 0x148]
mov byte [ebp - 4], 0x20
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.0041c00c
add esp, 4
mov byte [ebp - 4], 0x1d
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x40f24d
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x21
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x40f277
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x40f277
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, ebx
lock xadd dword [esi + 8], eax
jne 0x40f277
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0x1b
mov edi, dword [ebp - 0x14]
push 0x532074
push edi
call fcn.004cbe1b
add esp, 8
lea ecx, [ebp - 0xf4]
test eax, eax
sete byte [ebp - 0x30]
call fcn.00418e90
mov byte [ebp - 4], 0x22
mov ebx, dword [eax]
xor eax, eax
mov dword [ebp - 0x64], 0x650073
mov dword [ebp - 0x60], 0x64006e
mov dword [ebp - 0x5c], 0x650020
mov dword [ebp - 0x58], 0x610076
mov dword [ebp - 0x54], 0x730020
mov dword [ebp - 0x50], 0x610074
mov dword [ebp - 0x4c], 0x200074
mov dword [ebp - 0x48], 0x650072
mov dword [ebp - 0x44], 0x750073
mov dword [ebp - 0x40], 0x74006c
mov dword [ebp - 0x3c], 0x20003a
mov word [ebp - 0x38], ax
call fcn.00405dc0
push eax
push 0x16
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0xbc]
call fcn.00404e60
sub esp, 8
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x230]
call fcn.0040b430
mov byte [ebp - 4], 0x24
mov eax, 0x531ef4
mov esi, dword [ebp - 0xbc]
test esi, esi
cmovne eax, esi
push eax
lea eax, [ebp - 0x230]
push eax
call fcn.00409e50
add esp, 8
lea ecx, [ebp - 0x230]
push dword [ebp - 0x30]
call fcn.00413570
mov eax, dword [ebx]
lea ecx, [ebp - 0x230]
push ecx
mov ecx, ebx
call dword [eax + 0xc]
mov eax, dword [ebp - 0x230]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_0], vtable.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov eax, dword [ebp - 0x230]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0x234], eax
lea ecx, [ebp - 0x22c]
call fcn.0040c1d0
mov eax, dword [ebp - 0x230]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov eax, dword [ebp - 0x230]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x234], eax
lea eax, [ebp - 0x1e0]
mov byte [ebp - 4], 0x25
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.0041c00c
add esp, 4
mov byte [ebp - 4], 0x22
add esi, 0xfffffff0
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x40f3f3
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x26
mov esi, dword [ebp - 0xf0]
test esi, esi
je 0x40f420
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x40f420
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, ebx
lock xadd dword [esi + 8], eax
jne 0x40f420
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0x16
add edi, 0xfffffff0
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x40f43b
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xf
mov eax, ebx
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40f459
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 9
mov eax, ebx
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40f60c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x40f60c
lea ecx, [ebp - 0x34]
call fcn.00418e90
mov byte [ebp - 4], 0xa
mov edi, dword [eax]
xor eax, eax
mov dword [ebp - 0x70], 0x65006e
mov dword [ebp - 0x6c], 0x200074
mov dword [ebp - 0x68], 0x6e0069
mov dword [ebp - 0x64], 0x740069
mov dword [ebp - 0x60], 0x660020
mov dword [ebp - 0x5c], 0x690061
mov dword [ebp - 0x58], 0x2c006c
mov dword [ebp - 0x54], 0x6e0020
mov dword [ebp - 0x50], 0x74006f
mov dword [ebp - 0x4c], 0x730020
mov dword [ebp - 0x48], 0x6e0065
mov dword [ebp - 0x44], 0x200064
mov dword [ebp - 0x40], 0x760065
mov dword [ebp - 0x3c], 0x2e0061
mov word [ebp - 0x38], ax
call fcn.00405dc0
push eax
push 0x1c
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0xbc]
call fcn.00404e60
sub esp, 8
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x198]
call fcn.0040b430
mov byte [ebp - 4], 0xc
mov eax, 0x531ef4
mov esi, dword [ebp - 0xbc]
test esi, esi
cmovne eax, esi
push eax
lea eax, [ebp - 0x198]
push eax
call fcn.00409e50
mov eax, dword [edi]
lea ecx, [ebp - 0x198]
add esp, 8
push ecx
mov ecx, edi
call dword [eax + 0xc]
mov eax, dword [ebp - 0x198]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_0], vtable.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov eax, dword [ebp - 0x198]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0x19c], eax
lea ecx, [ebp - 0x194]
call fcn.0040c1d0
mov eax, dword [ebp - 0x198]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.virtual_0], vtable.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov eax, dword [ebp - 0x198]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x19c], eax
lea eax, [ebp - 0x148]
mov byte [ebp - 4], 0xd
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.0041c00c
add esp, 4
mov byte [ebp - 4], 0xa
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x40f5e2
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xe
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x40f60c
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x40f60c
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, ebx
lock xadd dword [esi + 8], eax
jne 0x40f60c
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 6
mov eax, ebx
mov edx, dword [ebp - 0x20]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40f62a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x40f649
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
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.00499723
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.00405ba0
push 0x80004005
call fcn.00405ba0
call fcn.004050c0
push 0x80004005
call fcn.00405ba0
call fcn.004050c0
push 0x80004005
call fcn.00405ba0
call fcn.004050c0
push 0x80004005
call fcn.00405ba0
call fcn.004050c0
push 0x80004005
call fcn.00405ba0
call fcn.004050c0
push 0x80004005
call fcn.00405ba0
call fcn.004050c0
push 0x80004005
call fcn.00405ba0
call fcn.004050c0
push 0x80004005
call fcn.00405ba0
call fcn.004050c0
push 0x80004005
call fcn.00405ba0
push 0x80004005
call fcn.00405ba0
push 0x80070057
call fcn.00405ba0
push 0x80004005
call fcn.00405ba0
int3