Function at 0x407ea0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5024c3
mov eax, dword fs:[0]
push eax
sub esp, 0x39c
mov eax, dword [0x5473d8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x37c]
mov dword [ebp - 0x358], eax
call fcn.00418e90
mov dword [ebp - 4], 0
mov esi, dword [eax]
mov dword [ebp - 0x3a4], 0x6e0041
mov dword [ebp - 0x3a0], 0x740079
mov dword [ebp - 0x39c], 0x690068
mov dword [ebp - 0x398], 0x67006e
mov dword [ebp - 0x394], 0x75005f
mov dword [ebp - 0x390], 0x69006e
mov dword [ebp - 0x38c], 0x73006e
mov dword [ebp - 0x388], 0x2e0074
mov dword [ebp - 0x384], 0x6f006c
mov dword [ebp - 0x380], 0x67
call fcn.00405dc0
push eax
push 0x13
lea eax, [ebp - 0x3a4]
push eax
lea ecx, [ebp - 0x350]
call fcn.00404e60
push ecx
lea edx, [ebp - 0x350]
mov byte [ebp - 4], 1
mov ecx, esp
call fcn.00416220
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0
or esi, 0xffffffff
mov edx, dword [ebp - 0x350]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x407fa5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 2
mov edi, dword [ebp - 0x378]
test edi, edi
je 0x407fd5
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x407fd5
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x407fd5
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
lea ecx, [ebp - 0x354]
mov dword [ebp - 4], 0xffffffff
call fcn.00418e90
mov dword [ebp - 4], 3
mov edi, dword [eax]
xor eax, eax
mov dword [ebp - 0x398], 0x6e0075
mov dword [ebp - 0x394], 0x6e0069
mov dword [ebp - 0x390], 0x740073
mov dword [ebp - 0x38c], 0x730020
mov dword [ebp - 0x388], 0x610074
mov dword [ebp - 0x384], 0x740072
mov word [ebp - 0x380], ax
call fcn.00405dc0
push eax
push 0xc
lea eax, [ebp - 0x398]
push eax
lea ecx, [ebp - 0x34c]
call fcn.00404e60
sub esp, 8
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xb8]
call fcn.0040b430
mov byte [ebp - 4], 5
mov eax, 0x531ef4
mov esi, dword [ebp - 0x34c]
test esi, esi
cmovne eax, esi
push eax
lea eax, [ebp - 0xb8]
push eax
call fcn.00409e50
mov eax, dword [edi]
lea ecx, [ebp - 0xb8]
add esp, 8
push ecx
mov ecx, edi
call dword [eax + 0xc]
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xb8], vtable.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0xbc], eax
lea ecx, [ebp - 0xb4]
call fcn.0040c1d0
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xb8], vtable.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0xbc], eax
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 6
push eax
mov dword [ebp - 0x68], vtable.std::ios_base.0
call fcn.0041c00c
or edi, 0xffffffff
mov byte [ebp - 4], 3
add esp, 4
add esi, 0xfffffff0
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x408121
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 7
mov esi, dword [ebp - 0x350]
test esi, esi
je 0x408151
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x408151
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x408151
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
push 0
mov dword [ebp - 4], 0xffffffff
call dword [sym.imp.ole32.dll_CoInitialize]
call fcn.00408e50
call fcn.004099e0
mov esi, dword [ebp - 0x358]
mov dword [ebp - 0x350], eax
add eax, 4
mov dword [ebp - 0x34c], eax
test esi, esi
jne 0x408187
xor ecx, ecx
jmp 0x4081a5
mov ecx, esi
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x408190
mov eax, dword [ebp - 0x34c]
sub ecx, edx
sar ecx, 1
push ecx
push esi
mov ecx, eax
call fcn.004051c0
mov eax, dword [ebp - 0x350]
add eax, 0xc
mov ecx, eax
mov dword [ebp - 0x34c], eax
call fcn.00498010
mov edx, esi
mov dword [ebp - 0x384], 0
xor eax, eax
mov dword [ebp - 0x380], 7
mov word [ebp - 0x394], ax
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x4081e6
sub edx, ecx
lea ecx, [ebp - 0x394]
sar edx, 1
push edx
push esi
call fcn.00405f00
lea eax, [ebp - 0x394]
mov dword [ebp - 4], 8
mov ecx, dword [ebp - 0x34c]
push eax
call fcn.00497c30
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x380]
cmp edx, 8
jb 0x408262
mov ecx, dword [ebp - 0x394]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x408258
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408d7d
push edx
push ecx
call fcn.00499734
add esp, 8
mov ecx, dword [ebp - 0x350]
call fcn.004048c0
lea ecx, [ebp - 0x14]
call fcn.004980f0
push 0x400000
mov dword [ebp - 4], 9
call fcn.00423e20
push 4
call fcn.00423e90
push 0x6d
call fcn.00423e30
call fcn.00407430
push 0x14
mov dword [ebp - 0x34c], eax
call fcn.00499742
mov esi, eax
xorps xmm0, xmm0
mov dword [ebp - 0x358], esi
add esp, 0x10
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 4], 0
mov dword [esi], vtable.CUninstallExecutor.0
mov dword [esi + 8], 0
call fcn.00405dc0
mov ecx, eax
test ecx, ecx
je 0x408d82
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 0x34c]
mov dword [esi + 0x10], 0
mov dword [eax], esi
call fcn.004099e0
mov ecx, eax
call fcn.004047f0
lea ecx, [ebp - 0x20]
mov dword [0x553a20], eax
call fcn.00427a10
push 2
lea ecx, [ebp - 0x20]
call fcn.00428030
call fcn.00409520
sub esp, 0x28
mov eax, esp
mov dword [ebp - 0x358], esp
mov dword [eax + 0x24], 0
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x354], 0x750072
mov dword [ebp - 0x350], 0x6e
call fcn.00405dc0
push eax
push 3
lea eax, [ebp - 0x354]
push eax
lea ecx, [ebp - 0x34c]
call fcn.00404e60
mov byte [ebp - 4], 0xb
mov esi, dword [ebp - 0x34c]
push 0
push 0
push 1
push 0
push esi
call fcn.004074d0
mov ecx, eax
mov byte [ebp - 4], 0xc
call fcn.00494ba0
mov byte [ebp - 4], 9
add esi, 0xfffffff0
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x4083a7
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00418220
test al, al
jne 0x40865c
sub esp, 0x28
mov eax, esp
mov dword [ebp - 0x358], esp
mov dword [eax + 0x24], 0
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x370], 0x6e0069
mov dword [ebp - 0x36c], 0x5f0073
mov dword [ebp - 0x368], 0x750072
mov dword [ebp - 0x364], 0x6e
call fcn.00405dc0
push eax
push 7
lea eax, [ebp - 0x370]
push eax
lea ecx, [ebp - 0x34c]
call fcn.00404e60
mov byte [ebp - 4], 0xe
mov esi, dword [ebp - 0x34c]
push 0
push 0
push 0
push 0x531f04
push esi
call fcn.004074d0
mov ecx, eax
mov byte [ebp - 4], 0xf
call fcn.00494ba0
mov byte [ebp - 4], 9
add esi, 0xfffffff0
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x40844d
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00405dc0
mov ecx, eax
test ecx, ecx
je 0x408d8c
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x350], eax
push 0x531f04
lea ecx, [ebp - 0x350]
mov byte [ebp - 4], 0x10
call fcn.00404d20
test al, al
jne 0x408496
push 0
push 0x531f04
lea ecx, [ebp - 0x350]
call fcn.004051c0
mov byte [ebp - 4], 0x11
call fcn.00405dc0
mov ecx, eax
test ecx, ecx
je 0x408d96
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x378], eax
push 0x531f04
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 0x12
call fcn.00404d20
test al, al
jne 0x4084e3
push 0
push 0x531f04
lea ecx, [ebp - 0x378]
call fcn.004051c0
mov byte [ebp - 4], 0x13
xor eax, eax
mov dword [ebp - 0x35c], 0x5b9a786e
mov word [ebp - 0x358], ax
call fcn.00405dc0
push eax
push 2
lea eax, [ebp - 0x35c]
push eax
lea ecx, [ebp - 0x34c]
call fcn.00404e60
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x3a8], 0x88c55b89
mov dword [ebp - 0x3a4], 0x53786216
mov dword [ebp - 0x3a0], 0x7a0b8f7d
mov dword [ebp - 0x39c], 0x5df25e8f
mov dword [ebp - 0x398], 0x57287ecf
mov dword [ebp - 0x394], 0x884c8fd0
mov dword [ebp - 0x390], 0x70b9002c
mov dword [ebp - 0x38c], 0x201c51fb
mov dword [ebp - 0x388], 0x5b9a786e
mov dword [ebp - 0x384], 0x9000201d
mov dword [ebp - 0x380], 0x51fa
call fcn.00405dc0
push eax
push 0x15
lea eax, [ebp - 0x3a8]
push eax
lea ecx, [ebp - 0x358]
call fcn.00404e60
lea eax, [ebp - 0x350]
mov byte [ebp - 4], 0x15
push eax
lea eax, [ebp - 0x34c]
xor edx, edx
push eax
lea eax, [ebp - 0x378]
xor ecx, ecx
push eax
lea eax, [ebp - 0x358]
push eax
call fcn.00417500
mov byte [ebp - 4], 0x14
mov eax, edi
mov edx, dword [ebp - 0x358]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4085ea
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x13
mov eax, edi
mov edx, dword [ebp - 0x34c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40860b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x11
mov eax, edi
mov edx, dword [ebp - 0x378]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40862c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 9
mov eax, edi
mov edx, dword [ebp - 0x350]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40864d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 0x350], 2
jmp 0x408aef
call fcn.00409240
test al, al
jne 0x408832
call fcn.00405dc0
mov ecx, eax
test ecx, ecx
je 0x408da0
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x378], eax
push 0x531f04
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 0x16
call fcn.00404d20
test al, al
jne 0x4086b2
push 0
push 0x531f04
lea ecx, [ebp - 0x378]
call fcn.004051c0
mov byte [ebp - 4], 0x17
call fcn.00405dc0
mov ecx, eax
test ecx, ecx
je 0x408daa
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x350], eax
push 0x531f04
lea ecx, [ebp - 0x350]
mov byte [ebp - 4], 0x18
call fcn.00404d20
test al, al
jne 0x4086ff
push 0
push 0x531f04
lea ecx, [ebp - 0x350]
call fcn.004051c0
mov byte [ebp - 4], 0x19
xor eax, eax
mov dword [ebp - 0x34c], 0x5b9a786e
mov word [ebp - 0x348], ax
call fcn.00405dc0
push eax
push 2
lea eax, [ebp - 0x34c]
push eax
lea ecx, [ebp - 0x358]
call fcn.00404e60
mov byte [ebp - 4], 0x1a
mov dword [ebp - 0x370], 0x5730672c
mov dword [ebp - 0x36c], 0x5b89672a
mov dword [ebp - 0x368], 0x8f6f88c5
mov dword [ebp - 0x364], 0x4ef6
call fcn.00405dc0
push eax
push 7
lea eax, [ebp - 0x370]
push eax
lea ecx, [ebp - 0x34c]
call fcn.00404e60
lea eax, [ebp - 0x378]
mov byte [ebp - 4], 0x1b
push eax
lea eax, [ebp - 0x358]
xor edx, edx
push eax
lea eax, [ebp - 0x350]
xor ecx, ecx
push eax
lea eax, [ebp - 0x34c]
push eax
call fcn.00417500
mov byte [ebp - 4], 0x1a
mov eax, edi
mov edx, dword [ebp - 0x34c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4087c0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x19
mov eax, edi
mov edx, dword [ebp - 0x358]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4087e1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x17
mov eax, edi
mov edx, dword [ebp - 0x350]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x408802
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 9
mov eax, edi
mov edx, dword [ebp - 0x378]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x408823
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 0x350], 0xd
jmp 0x408aef
sub esp, 0x28
mov eax, esp
mov dword [ebp - 0x358], esp
mov dword [eax + 0x24], 0
mov byte [ebp - 4], 0x1c
xor eax, eax
mov dword [ebp - 0x368], 0x6e0075
mov dword [ebp - 0x364], 0x740073
mov word [ebp - 0x360], ax
call fcn.00405dc0
push eax
push 4
lea eax, [ebp - 0x368]
push eax
lea ecx, [ebp - 0x34c]
call fcn.00404e60
mov byte [ebp - 4], 0x1d
mov esi, dword [ebp - 0x34c]
push 0
push 0
push 1
push 0
push esi
call fcn.004074d0
mov ecx, eax
mov byte [ebp - 4], 0x1e
call fcn.00494ba0
mov byte [ebp - 4], 9
add esi, 0xfffffff0
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x4088bd
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.004099e0
mov ecx, eax
call fcn.004047f0
test eax, eax
je 0x408915
call fcn.00407430
push 0
lea ecx, [eax + 4]
push ecx
mov ecx, dword [eax]
push 0
call fcn.0040ced0
call fcn.00407430
mov esi, dword [eax]
mov eax, dword [esi + 4]
test eax, eax
je 0x408a4d
push 0x927c0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [esi + 4]
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
call eax
mov dword [esi + 4], 0
jmp 0x408a4d
push 0x324
lea eax, [ebp - 0x344]
push 0
push eax
call fcn.004c5380
add esp, 0xc
lea ecx, [ebp - 0x344]
call fcn.00407960
movaps xmm0, xmmword [0x5326c0]
mov dword [ebp - 0x344], 0x531d10
mov dword [ebp - method.DuiLib::WindowImplBase.1.virtual_0], 0x531d08
mov dword [ebp - 0x320], 0x531d00
mov dword [ebp - method.DuiLib::WindowImplBase.3.virtual_0], 0x531cf8
mov dword [ebp - method.DuiLib::CTxtWinHost.virtual_88], 0x531cf0
movups xmmword [ebp - 0x30], xmm0
push 0
push SysReAllocString
push SysReAllocString
push SysReAllocString
push SysReAllocString
push 0
push SysReAllocString
push 0
push 0
lea ecx, [ebp - 0x344]
mov byte [ebp - 4], 0x1f
call fcn.00425520
lea ecx, [ebp - 0x344]
call fcn.004253b0
push 1
push 1
lea ecx, [ebp - 0x344]
call fcn.00425cc0
lea ecx, [ebp - 0x344]
call fcn.004256d0
mov ecx, eax
call fcn.00421960
call fcn.00407430
mov esi, dword [eax]
mov eax, dword [esi + 4]
test eax, eax
je 0x4089fa
push 0x927c0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [esi + 4]
mov eax, dword [sym.imp.KERNEL32.dll_CloseHandle]
call eax
mov dword [esi + 4], 0
lea ecx, [ebp - 0x314]
mov dword [ebp - method.std::_Facet_base.virtual_4], vtable.DuiLib::WindowImplBase.0
mov dword [ebp - method.DuiLib::WindowImplBase.1.virtual_0], vtable.DuiLib::WindowImplBase.1.0
mov dword [ebp - fcn.00424b50], vtable.DuiLib::WindowImplBase.2.0
mov dword [ebp - method.DuiLib::WindowImplBase.3.virtual_0], vtable.DuiLib::WindowImplBase.3.0
mov dword [ebp - method.DuiLib::CTxtWinHost.virtual_88], vtable.DuiLib::WindowImplBase.4.0
call fcn.0041dc90
lea ecx, [ebp - 0x32c]
call fcn.004261c0
lea ecx, [ebp - 0x344]
call fcn.00425360
sub esp, 0x28
mov eax, esp
mov dword [ebp - 0x358], esp
mov dword [eax + 0x24], 0
mov byte [ebp - 4], 0x20
xor eax, eax
mov dword [ebp - 0x36c], 0x690066
mov dword [ebp - 0x368], 0x69006e
mov dword [ebp - 0x364], 0x680073
mov word [ebp - 0x360], ax
call fcn.00405dc0
push eax
push 6
lea eax, [ebp - 0x36c]
push eax
lea ecx, [ebp - 0x34c]
call fcn.00404e60
mov byte [ebp - 4], 0x21
mov esi, dword [ebp - 0x34c]
push 0
push 0
push 0
push 0x531f04
push esi
call fcn.004074d0
mov ecx, eax
mov byte [ebp - 4], 0x22
call fcn.00494ba0
mov byte [ebp - 4], 9
add esi, 0xfffffff0
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x408ae5
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 0x350], 1
sub esp, 0x28
mov eax, esp
mov dword [ebp - 0x358], esp
mov dword [eax + 0x24], 0
mov byte [ebp - 4], 0x23
xor eax, eax
mov dword [ebp - 0x368], 0x780065
mov dword [ebp - 0x364], 0x740069
mov word [ebp - 0x360], ax
call fcn.00405dc0
push eax
push 4
lea eax, [ebp - 0x368]
push eax
lea ecx, [ebp - 0x34c]
call fcn.00404e60
mov byte [ebp - 4], 0x24
mov esi, dword [ebp - 0x34c]
push 0
push 0
push 0
push 0
push esi
call fcn.004074d0
mov ecx, eax
mov byte [ebp - 4], 0x25
call fcn.00494ba0
mov byte [ebp - 4], 9
add esi, 0xfffffff0
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x408b7a
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00407430
mov esi, eax
mov ecx, dword [esi]
test ecx, ecx
je 0x408b93
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esi], 0
call dword [sym.imp.ole32.dll_CoUninitialize]
lea ecx, [ebp - 0x35c]
call fcn.00418e90
mov byte [ebp - 4], 0x26
mov edi, dword [eax]
xor eax, eax
mov dword [ebp - 0x374], 0x6e0075
mov dword [ebp - 0x370], 0x6e0069
mov dword [ebp - 0x36c], 0x740073
mov dword [ebp - 0x368], 0x650020
mov dword [ebp - 0x364], 0x64006e
mov word [ebp - 0x360], ax
call fcn.00405dc0
push eax
push 0xa
lea eax, [ebp - 0x374]
push eax
lea ecx, [ebp - 0x34c]
call fcn.00404e60
sub esp, 8
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0xb8]
call fcn.0040b430
mov byte [ebp - 4], 0x28
mov eax, 0x531ef4
mov esi, dword [ebp - 0x34c]
test esi, esi
cmovne eax, esi
push eax
lea eax, [ebp - 0xb8]
push eax
call fcn.00409e50
mov eax, dword [edi]
lea ecx, [ebp - 0xb8]
add esp, 8
push ecx
mov ecx, edi
call dword [eax + 0xc]
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xb8], vtable.std::basic_ostringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0xbc], eax
lea ecx, [ebp - 0xb4]
call fcn.0040c1d0
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xb8], vtable.std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__.0
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0xbc], eax
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 0x29
push eax
mov dword [ebp - 0x68], vtable.std::ios_base.0
call fcn.0041c00c
lea edx, [esi - 0x10]
mov byte [ebp - 4], 0x26
or esi, 0xffffffff
add esp, 4
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x408cd1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x2a
mov edi, dword [ebp - 0x358]
test edi, edi
je 0x408cfe
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x408cfe
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x408cfe
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
lea ecx, [ebp - 0x368]
mov byte [ebp - 4], 9
call fcn.00418e90
mov byte [ebp - 4], 0x2b
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 0x2c
mov edi, dword [ebp - 0x364]
test edi, edi
je 0x408d44
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x408d44
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lock xadd dword [edi + 8], esi
dec esi
jne 0x408d44
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov eax, dword [0x548f38]
test eax, eax
je 0x408d54
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x14]
call fcn.00498130
mov eax, dword [ebp - 0x350]
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.00499723
mov esp, ebp
pop ebp
ret
call fcn.004c8a99
push 0x80004005
call fcn.00405ba0
push 0x80004005
call fcn.00405ba0
push 0x80004005
call fcn.00405ba0
push 0x80004005
call fcn.00405ba0
push 0x80004005
call fcn.00405ba0
int3