Function at 0x42d680
Capabilities:
Check if file exists
Check os version
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x5b3e6b
mov eax, dword fs:[0]
push eax
sub esp, 0x258
mov eax, dword [0x62c930]
xor eax, esp
mov dword [esp + 0x250], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x62c930]
xor eax, esp
push eax
lea eax, [esp + 0x26c]
mov dword fs:[0], eax
mov eax, dword [esp + 0x2b8]
mov ebx, dword [esp + 0x27c]
mov dword [esp + 0x48], eax
mov dword [esp + 0x30], ecx
lea edx, [esp + 0x29c]
push edx
mov edi, str..part
lea esi, [esp + 0x138]
mov dword [esp + 0x278], 1
call fcn.00432910
add esp, 4
lea eax, [esp + 0x29c]
push eax
mov edi, str..cfg
lea esi, [esp + 0x154]
mov byte [esp + 0x278], 2
call fcn.00432910
add esp, 4
mov ecx, dword [esp + 0x2bc]
mov byte [esp + 0x274], 3
mov dword [ebx + 0x1c], ecx
xor edi, edi
push 5
xor ecx, ecx
lea esi, [esp + 0x118]
lea edx, [esp + 0x284]
mov ebp, 0xfffffc19
mov dword [esp + 0x1c], edi
call fcn.00405e80
mov esi, dword [eax + 0x14]
mov ecx, esi
cmp esi, 5
jb 0x42d75d
lea ecx, [edi + 5]
cmp dword [eax + 0x18], 0x10
jb 0x42d768
mov eax, dword [eax + 4]
jmp 0x42d76b
add eax, 4
push ecx
mov ecx, str.https
mov edx, eax
call fcn.004074c0
add esp, 4
test eax, eax
jne 0x42d793
cmp esi, 5
jae 0x42d789
or eax, 0xffffffff
jmp 0x42d791
xor eax, eax
cmp esi, 5
setne al
test eax, eax
sete byte [esp + 0x1f]
mov byte [esp + 0x274], 3
cmp dword [esp + 0x12c], 0x10
jb 0x42d7ba
mov edx, dword [esp + 0x118]
push edx
call fcn.005759d0
add esp, 4
cmp byte [esp + 0x1f], 0
je 0x42d7c9
mov dword [esp + 0x18], 1
mov eax, dword [esp + 0x18]
push eax
lea ecx, [esp + 0x28]
push ecx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x44], esp
xor esi, esi
push 0xffffffffffffffff
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], esi
push esi
lea edx, [esp + 0x2ac]
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], esi
push edx
mov byte [ecx + 4], 0
call fcn.00407ce0
call fcn.0042ebe0
cmp edx, esi
mov dword [ebx], eax
mov dword [ebx + 4], edx
jl 0x42e23b
jg 0x42d820
test eax, eax
jb 0x42e23b
mov eax, dword [esp + 0x154]
xor edi, edi
mov esi, 0x10
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
cmp dword [esp + 0x168], esi
jae 0x42d84e
lea eax, [esp + 0x154]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x42da6b
mov eax, dword [esp + 0x154]
cmp dword [esp + 0x168], esi
jae 0x42d874
lea eax, [esp + 0x154]
push eax
lea eax, [esp + 0x170]
push eax
call fcn.0042f100
mov byte [esp + 0x274], 5
mov ecx, dword [esp + 0x16c]
mov edx, dword [ecx + 4]
test byte [esp + edx + 0x174], 6
je 0x42d8c3
mov eax, dword [esp + 0x138]
cmp dword [esp + 0x14c], esi
jae 0x42d8b5
lea eax, [esp + 0x138]
push eax
call fcn.00586358
add esp, 4
jmp 0x42da3c
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x170]
push ecx
call fcn.0042efc0
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x170]
push eax
call fcn.0042efc0
lea esi, [esp + 0x174]
cmp dword [esp + 0x1c0], edi
je 0x42d918
mov ecx, esi
call fcn.00430370
test al, al
jne 0x42d904
xor esi, esi
mov ecx, dword [esp + 0x1c0]
push ecx
call fcn.0058392a
add esp, 4
test eax, eax
je 0x42d91a
xor esi, esi
lea edx, [esp + 0x17c]
mov dword [esp + 0x184], edx
lea eax, [esp + 0x180]
lea ecx, [esp + 0x18c]
lea edx, [esp + 0x190]
mov dword [esp + 0x188], eax
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], edx
mov edx, dword [0x635990]
lea eax, [esp + 0x19c]
lea ecx, [esp + 0x1a0]
mov byte [esp + 0x1bc], 0
mov byte [esp + 0x1b5], 0
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a8], ecx
mov dword [esp + 0x180], edi
mov dword [esp + 0x190], edi
mov dword [esp + 0x1a0], edi
mov dword [esp + 0x17c], edi
mov dword [esp + 0x18c], edi
mov dword [esp + 0x19c], edi
mov dword [esp + 0x1c0], edi
mov dword [esp + 0x1b8], edx
mov dword [esp + 0x1b0], edi
cmp esi, edi
jne 0x42d9f1
mov eax, dword [esp + 0x16c]
mov ecx, dword [eax + 4]
mov eax, dword [esp + ecx + 0x174]
lea ecx, [esp + ecx + 0x16c]
or eax, 2
cmp dword [ecx + 0x28], edi
jne 0x42d9ea
or eax, 4
push edi
push eax
call fcn.00429910
mov ecx, dword [esp + 0x3c]
cmp ecx, dword [esp + 0x24]
jne 0x42da16
mov edx, dword [esp + 0x40]
cmp edx, dword [esp + 0x28]
jne 0x42da16
mov eax, dword [esp + 0x34]
cmp eax, dword [ebx]
jne 0x42da16
mov ecx, dword [esp + 0x38]
cmp ecx, dword [ebx + 4]
je 0x42da37
cmp dword [esp + 0x14c], 0x10
mov eax, dword [esp + 0x138]
jae 0x42da2e
lea eax, [esp + 0x138]
push eax
call fcn.00586358
add esp, 4
mov esi, 0x10
lea ecx, [esp + 0x1c4]
mov byte [esp + 0x274], 3
call fcn.0042f1e0
lea edx, [esp + 0x1c4]
push edx
mov dword [esp + method.std::basic_ios_char__struct_std::char_traits_char__.virtual_0], vtable.std::ios_base.0
call fcn.005a5a42
add esp, 4
mov eax, dword [esp + 0x154]
cmp dword [esp + 0x168], esi
jae 0x42da82
lea eax, [esp + 0x154]
push eax
lea eax, [esp + 0x50]
push eax
call fcn.0042fd00
mov byte [esp + 0x274], 6
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + 4]
mov eax, dword [esp + edx + 0x54]
test al, 6
jne 0x42dc06
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov edx, dword [ebx + 4]
push eax
mov eax, dword [ebx]
push ecx
push 0x604888
push ecx
push edx
push eax
lea ecx, [esp + 0x64]
push ecx
call fcn.0042ee80
add esp, 4
push eax
call fcn.004329c0
add esp, 8
push eax
call fcn.0042ee80
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00433400
mov edx, dword [esi]
mov eax, dword [edx + 4]
add eax, esi
xor edi, edi
test byte [eax + 8], 6
jne 0x42db0b
mov eax, dword [eax + 0x28]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x30]
call eax
cmp eax, 0xffffffff
jne 0x42db0b
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x42db2c
mov eax, dword [ecx + 8]
or eax, edi
cmp dword [ecx + 0x28], 0
jne 0x42db24
or eax, 4
push 0
push eax
call fcn.00429910
cmp dword [esp + 0x9c], 0
lea edi, [esp + 0x50]
jne 0x42db40
xor edi, edi
xor esi, esi
jmp 0x42db67
lea ecx, [esp + 0x50]
call fcn.00430370
test al, al
jne 0x42db4f
xor edi, edi
mov edx, dword [esp + 0x9c]
push edx
xor esi, esi
call fcn.0058392a
add esp, 4
test eax, eax
je 0x42db67
xor edi, edi
lea eax, [esp + 0x58]
mov dword [esp + 0x60], eax
lea ecx, [esp + 0x5c]
lea edx, [esp + 0x68]
lea eax, [esp + 0x6c]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], eax
mov eax, dword [0x635990]
lea ecx, [esp + 0x78]
lea edx, [esp + 0x7c]
mov byte [esp + 0x98], 0
mov byte [esp + 0x91], 0
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], edx
mov dword [esp + 0x5c], esi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x7c], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x9c], esi
mov dword [esp + 0x94], eax
mov dword [esp + 0x8c], esi
cmp edi, esi
jne 0x42dc06
mov ecx, dword [esp + 0x4c]
mov ecx, dword [ecx + 4]
mov eax, dword [esp + ecx + 0x54]
lea ecx, [esp + ecx + 0x4c]
or eax, 2
cmp dword [ecx + 0x28], 0
jne 0x42dbfe
or eax, 4
push 0
push eax
call fcn.00429910
call fcn.00491560
mov edi, eax
test edi, edi
jne 0x42dc42
lea ecx, [esp + 0xa0]
mov byte [esp + 0x274], 3
call fcn.0042fde0
lea edx, [esp + 0xa0]
push edx
mov dword [esp + 0xa4], vtable.std::ios_base.0
call fcn.005a5a42
jmp 0x42e238
cmp dword [esp + 0x14c], 0x10
mov eax, dword [esp + 0x138]
jae 0x42dc5a
lea eax, [esp + 0x138]
push 0x60887c
push eax
call fcn.005867c9
mov esi, eax
add esp, 8
mov dword [esp + 0x20], esi
test esi, esi
jne 0x42dd9d
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esp + 0x138]
mov esi, 0x10
cmp dword [esp + 0x14c], esi
jae 0x42dc9d
lea eax, [esp + 0x138]
push eax
call fcn.00586358
mov eax, dword [esp + 0x13c]
add esp, 4
cmp dword [esp + 0x14c], esi
jae 0x42dcbd
lea eax, [esp + 0x138]
push 0x60887c
push eax
call fcn.005867c9
mov esi, eax
add esp, 8
mov dword [esp + 0x20], eax
test esi, esi
jne 0x42dd9d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea eax, [esp + 0x16c]
push eax
call fcn.0042fe50
push ebx
push ecx
lea ecx, [esp + 0x17c]
push str.file_open_failed_erro_code:
push ecx
mov byte [esp + 0x284], 7
call fcn.004329c0
add esp, 0xc
push eax
call fcn.0042ed40
lea ecx, [esp + 0x114]
lea eax, [esp + 0x16c]
call fcn.0042ff90
cmp dword [esp + 0x12c], 0x10
jb 0x42dd40
mov edx, dword [esp + 0x118]
push edx
call fcn.005759d0
add esp, 4
lea ecx, [esp + 0x1c0]
mov byte [esp + 0x274], 6
call fcn.0042fee0
lea eax, [esp + 0x1c0]
mov ebx, vtable.std::ios_base.0
push eax
mov dword [esp + 0x1c4], ebx
call fcn.005a5a42
add esp, 4
lea ecx, [esp + 0xa0]
mov byte [esp + 0x274], 3
call fcn.0042fde0
lea ecx, [esp + 0xa0]
push ecx
mov dword [esp + 0xa4], ebx
call fcn.005a5a42
jmp 0x42e22b
cmp dword [esp + 0x298], 0x10
mov eax, dword [esp + 0x284]
jae 0x42ddb5
lea eax, [esp + 0x284]
push eax
push 0x2712
push edi
call fcn.004915a0
add esp, 0xc
push 0x42eaf0
push 0x4e2b
push edi
mov ebp, eax
call fcn.004915a0
add esp, 0xc
push esi
push 0x2711
push edi
or ebp, eax
call fcn.004915a0
add esp, 0xc
push 1
push 0x34
push edi
or ebp, eax
call fcn.004915a0
add esp, 0xc
push 5
push 0x44
push edi
or ebp, eax
call fcn.004915a0
add esp, 0xc
or ebp, eax
cmp dword [esp + 0x18], 0
je 0x42de2f
push 0
push 0x40
push edi
call fcn.004915a0
add esp, 0xc
push 0
push 0x51
push edi
or ebp, eax
call fcn.004915a0
add esp, 0xc
or ebp, eax
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x30]
push 0
push 0x2b
push edi
mov dword [esp + 0xe0], edx
mov dword [esp + 0xe4], edi
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xec], eax
call fcn.004915a0
add esp, 0xc
push 0x42eb20
push 0x4efb
push edi
or ebp, eax
call fcn.004915a0
add esp, 0xc
lea ecx, [esp + 0xd4]
push ecx
push 0x2749
push edi
or ebp, eax
call fcn.004915a0
add esp, 0xc
push 1
push 0x2d
push edi
or ebp, eax
call fcn.004915a0
add esp, 0xc
push 0xa
push 0x4e
push edi
or ebp, eax
call fcn.004915a0
add esp, 0xc
push 0xffffffffffffffff
push 0
lea edx, [esp + 0x13c]
push edx
lea ecx, [esp + 0x120]
or ebp, eax
mov dword [esp + 0x138], 0xf
mov dword [esp + 0x134], 0
mov byte [esp + 0x124], 0
call fcn.00407ce0
cmp dword [esp + 0x12c], 0x10
mov eax, dword [esp + 0x118]
jae 0x42defb
lea eax, [esp + 0x118]
lea ecx, [esp + 0xe4]
push ecx
push eax
call fcn.0058544b
mov esi, eax
add esp, 8
test esi, esi
jne 0x42df2d
cmp dword [esp + 0x12c], 0x10
mov esi, dword [esp + 0xf8]
jb 0x42df47
mov edx, dword [esp + 0x118]
push edx
jmp 0x42df3f
cmp dword [esp + 0x12c], 0x10
jb 0x42df47
mov eax, dword [esp + 0x118]
push eax
call fcn.005759d0
add esp, 4
mov eax, esi
cdq
mov ecx, eax
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], edx
mov eax, edx
mov edx, dword [ebx]
cmp edx, ecx
jne 0x42df82
mov edx, dword [ebx + 4]
cmp edx, eax
jne 0x42df82
lea ecx, [esp + 0xa0]
mov byte [esp + 0x274], 3
call fcn.0042fde0
lea eax, [esp + 0xa0]
push eax
jmp 0x42e217
xor esi, esi
cmp eax, esi
jl 0x42dfa0
jg 0x42df8e
cmp ecx, esi
jbe 0x42dfa0
push eax
push ecx
push 0x75a4
push edi
call fcn.004915a0
add esp, 0x10
or ebp, eax
cmp ebp, esi
je 0x42dfc2
lea ecx, [esp + 0xa0]
mov ebp, 0xfffffc19
mov byte [esp + 0x274], 3
call fcn.0042fde0
jmp 0x42e20f
push edi
call fcn.004917a0
mov ebp, eax
add esp, 4
cmp ebp, esi
je 0x42e1cd
push 0x63
lea edx, [esp + 0x171]
push esi
push edx
mov byte [esp + 0x178], 0
call fcn.00587fb0
add esp, 0xc
push ebp
call fcn.00491800
add esp, 4
push eax
push ebp
push str.error:_d:_s
lea eax, [esp + 0x178]
push 0x64
push eax
call fcn.0058633a
add esp, 0x14
cmp ebp, 0x16
jne 0x42e1cd
lea ecx, [esp + 0x18]
push ecx
push 0x200002
push edi
mov dword [esp + 0x24], esi
call fcn.004917e0
add esp, 0xc
push 0x63
lea edx, [esp + 0x201]
push esi
push edx
mov byte [esp + 0x208], 0
call fcn.00587fb0
mov eax, dword [esp + 0x160]
mov ebx, 0x10
add esp, 0xc
cmp dword [esp + 0x168], ebx
jae 0x42e069
lea eax, [esp + 0x154]
push eax
call fcn.00586358
mov eax, dword [esp + 0x13c]
add esp, 4
cmp dword [esp + 0x14c], ebx
jae 0x42e089
lea eax, [esp + 0x138]
push eax
call fcn.00586358
mov eax, dword [esp + 0x1c]
add esp, 4
push eax
push str.HTTP_error_code:_d
lea ecx, [esp + 0x204]
push 0x64
push ecx
call fcn.0058633a
add esp, 0x10
push 0xffffffffffffffff
push esi
lea edx, [esp + 0x13c]
push edx
lea ecx, [esp + 0x120]
mov dword [esp + 0x138], 0xf
mov dword [esp + 0x134], esi
mov byte [esp + 0x124], 0
call fcn.00407ce0
push 1
push 0x6088bc
lea ecx, [esp + 0x11c]
mov byte [esp + 0x27c], 8
call fcn.00408180
lea eax, [esp + 0x1fc]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42e104
sub eax, edx
push eax
lea eax, [esp + 0x200]
push eax
lea ecx, [esp + 0x11c]
call fcn.00408180
cmp dword [esp + 0x18], 0x1a0
jne 0x42e1b4
push esi
push 0x75a4
push edi
call fcn.004915a0
add esp, 0xc
push edi
call fcn.004917a0
mov ebp, eax
add esp, 4
cmp ebp, esi
je 0x42e1a1
push ebp
push 0x604880
lea ecx, [esp + 0x204]
push 0x64
push ecx
call fcn.0058633a
add esp, 0x10
push 0xc
push 0x6088c0
lea ecx, [esp + 0x11c]
call fcn.00407990
lea eax, [esp + 0x1fc]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x42e183
sub eax, edx
push eax
lea edx, [esp + 0x200]
push edx
lea ecx, [esp + 0x11c]
call fcn.00408180
cmp dword [esp + 0x12c], ebx
jb 0x42e1cd
mov eax, dword [esp + 0x118]
push eax
jmp 0x42e1c5
cmp dword [esp + 0x12c], ebx
jb 0x42e1cd
mov ecx, dword [esp + 0x118]
push ecx
call fcn.005759d0
add esp, 4
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 4]
lea edx, [esp + 0xa0]
mov dword [esp + 0x30], edx
mov dword [esp + ecx + 0x4c], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
lea ecx, [esp + 0x50]
mov byte [esp + 0x274], 9
call fcn.0042f250
mov byte [esp + 0x274], 3
mov edx, dword [esp + 0x4c]
mov eax, dword [edx + 4]
mov dword [esp + eax + 0x4c], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
lea ecx, [esp + 0xa0]
push ecx
mov dword [esp + 0xa4], vtable.std::ios_base.0
call fcn.005a5a42
mov esi, dword [esp + 0x24]
add esp, 4
test esi, esi
je 0x42e23b
push esi
call fcn.0058392a
add esp, 4
push edi
call fcn.004917c0
xor ebx, ebx
add esp, 4
lea edi, [ebx + 0x10]
cmp ebp, ebx
jne 0x42e2c5
mov eax, dword [esp + 0x2a0]
cmp dword [esp + 0x2b4], edi
jae 0x42e264
lea eax, [esp + 0x2a0]
push eax
call fcn.00586358
mov eax, dword [esp + 0x158]
add esp, 4
cmp dword [esp + 0x168], edi
jae 0x42e284
lea eax, [esp + 0x154]
push eax
call fcn.00586358
mov ecx, dword [esp + 0x2a4]
add esp, 4
cmp dword [esp + 0x2b4], edi
jae 0x42e2a4
lea ecx, [esp + 0x2a0]
mov eax, dword [esp + 0x138]
cmp dword [esp + 0x14c], edi
jae 0x42e2bb
lea eax, [esp + 0x138]
push ecx
push eax
call fcn.00587855
add esp, 8
cmp dword [esp + 0x168], edi
jb 0x42e2de
mov edx, dword [esp + 0x154]
push edx
call fcn.005759d0
add esp, 4
mov esi, 0xf
mov dword [esp + 0x168], esi
mov dword [esp + 0x164], ebx
mov byte [esp + 0x154], 0
cmp dword [esp + 0x14c], edi
jb 0x42e312
mov eax, dword [esp + 0x138]
push eax
call fcn.005759d0
add esp, 4
mov dword [esp + 0x14c], esi
mov dword [esp + 0x148], ebx
mov byte [esp + 0x138], 0
cmp dword [esp + 0x298], edi
jb 0x42e341
mov ecx, dword [esp + 0x284]
push ecx
call fcn.005759d0
add esp, 4
mov dword [esp + 0x298], esi
mov dword [esp + 0x294], ebx
mov byte [esp + 0x284], 0
cmp dword [esp + 0x2b4], edi
jb 0x42e370
mov edx, dword [esp + 0x2a0]
push edx
call fcn.005759d0
add esp, 4
mov eax, ebp
mov ecx, dword [esp + 0x26c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x250]
xor ecx, esp
call fcn.005832f8
add esp, 0x264
ret 0x44