Function at 0x450fb0
Capabilities:
Get file size
Prepare http request
Read and send data from client to server
Read file on windows
Receive http response
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f6c39
mov eax, dword fs:[0]
push eax
sub esp, 0x8c
push ebx
push esi
push edi
mov eax, dword [0x53ba20]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x24], 0
push 0x18
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
call fcn.004c3423
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [ebp - 0x48], eax
mov edi, dword [ebp + 0xc]
mov dword [ebp - 4], 0
mov eax, dword [edi]
test eax, eax
je 0x451028
cmp dword [eax], 0x4fbd20
je 0x45107b
mov ecx, edi
call fcn.00404d60
push 0xc
call fcn.004c3423
mov esi, eax
add esp, 4
mov dword [ebp - 0x34], esi
mov byte [ebp - 4], 1
test esi, esi
je 0x45106b
push 0x4fbd20
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esi], eax
test eax, eax
je 0x451ed1
jmp 0x45106d
xor esi, esi
mov byte [ebp - 4], 0
mov dword [edi], esi
test esi, esi
je 0x451edb
mov edi, dword [ebp + 8]
lea eax, [edi + 0xc]
mov dword [ebp - 0x3c], eax
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x451095
lock inc dword [eax + 8]
mov eax, dword [eax]
jmp 0x451097
xor eax, eax
push 0
push 0
push 3
push 0
push 7
push SysReAllocStringLen
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x451113
lea eax, [ebp - 0x74]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
cmp dword [ebp - 0x70], 0
mov eax, dword [ebp - 0x74]
jl 0x4510e0
jg 0x4510d1
cmp eax, 0x2000000
jbe 0x4510e0
lea ecx, [ebp - 0x28]
mov ebx, 0xdf
call fcn.00404d60
jmp 0x451127
push eax
call fcn.004c8c9a
add esp, 4
mov dword [ebp - 0x38], eax
lea ecx, [ebp - 0x64]
push 0
push ecx
push dword [ebp - 0x74]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x45116a
push dword [ebp - 0x38]
call fcn.004c8c7f
add esp, 4
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp - 0x28]
mov ebx, eax
call fcn.00404d60
test ebx, ebx
je 0x45115f
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x50]
push ebx
push eax
call fcn.0044fa60
add edi, 0x18
lea eax, [ebp - 0x50]
cmp edi, eax
je 0x451152
mov ecx, edi
call fcn.00404d60
mov eax, dword [ebp - 0x50]
mov dword [edi], eax
test eax, eax
je 0x451152
lock inc dword [eax + 8]
lea ecx, [ebp - 0x50]
call fcn.00404d60
jmp 0x451e9d
mov eax, dword [ebp + 8]
mov ebx, dword [ebp - 0x30]
mov dword [ebp - 0x38], eax
jmp 0x45117f
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x4c], eax
call fcn.00404d60
mov dword [ebp - 0x28], 0
push 0x5049b0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
call fcn.00404a20
push eax
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 3
push 0x504a00
push eax
call fcn.00404f50
add esp, 0xc
mov esi, eax
push 0x4fc480
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 4
call fcn.00404a20
mov ecx, dword [esi]
mov byte [ebp - 4], 6
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x4511d1
lock inc dword [ecx + 8]
push eax
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x24], 1
call fcn.00405140
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x28]
call fcn.00405140
lea ecx, [ebp - 0x18]
call fcn.00404d60
lea ecx, [ebp - 0x20]
call fcn.00404d60
lea ecx, [ebp - 0x1c]
call fcn.00404d60
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
call fcn.00404d60
push 0x504a08
lea ecx, [ebp - 0x14]
call fcn.00404a20
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x28]
call fcn.00405140
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.00404d60
push 0x4fc480
lea ecx, [ebp - 0x2c]
call fcn.00404a20
mov esi, eax
push 0x5047f8
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 8
call fcn.00431dc0
mov ecx, dword [esi]
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x10], ecx
test ecx, ecx
je 0x45126b
lock inc dword [ecx + 8]
push eax
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x24], 2
call fcn.00405140
push 0x4fc480
lea ecx, [ebp - 0x20]
call fcn.00404a20
mov ecx, dword [ebp - 0x10]
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x45129a
lock inc dword [ecx + 8]
push eax
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x24], 6
call fcn.00405140
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x28]
call fcn.00405140
lea ecx, [ebp - 0x18]
call fcn.00404d60
lea ecx, [ebp - 0x20]
call fcn.00404d60
lea ecx, [ebp - 0x10]
call fcn.00404d60
lea ecx, [ebp - 0x1c]
call fcn.00404d60
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
call fcn.00404d60
push 0x5049b0
lea ecx, [ebp - 0x2c]
call fcn.00404a20
push eax
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 0xd
push 0x504a00
push eax
call fcn.00404f50
add esp, 0xc
mov esi, eax
push 0x4fc480
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xe
call fcn.00404a20
mov ecx, dword [esi]
mov byte [ebp - 4], 0x10
mov dword [ebp - 0x10], ecx
test ecx, ecx
je 0x451329
lock inc dword [ecx + 8]
push eax
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x24], 8
call fcn.00405140
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x28]
call fcn.00405140
lea ecx, [ebp - 0x10]
call fcn.00404d60
lea ecx, [ebp - 0x20]
call fcn.00404d60
lea ecx, [ebp - 0x1c]
call fcn.00404d60
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
call fcn.00404d60
push 0x504a68
lea ecx, [ebp - 0x14]
call fcn.00404a20
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 0x11
push eax
lea ecx, [ebp - 0x28]
call fcn.00405140
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.00404d60
push 0x4fc480
lea ecx, [ebp - 0x2c]
call fcn.00404a20
mov esi, eax
lea ecx, [edi + 0x10]
mov byte [ebp - 4], 0x12
push ecx
lea eax, [ebp - 0x1c]
mov ecx, ebx
push eax
call fcn.0044cc40
mov ecx, dword [esi]
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x4513c5
lock inc dword [ecx + 8]
push eax
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x24], 0x10
call fcn.00405140
push 0x4fc480
lea ecx, [ebp - 0x20]
call fcn.00404a20
mov ecx, dword [ebp - 0x18]
mov byte [ebp - 4], 0x16
mov dword [ebp - 0x10], ecx
test ecx, ecx
je 0x4513f4
lock inc dword [ecx + 8]
push eax
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x24], 0x30
call fcn.00405140
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x28]
call fcn.00405140
lea ecx, [ebp - 0x10]
call fcn.00404d60
lea ecx, [ebp - 0x20]
call fcn.00404d60
lea ecx, [ebp - 0x18]
call fcn.00404d60
lea ecx, [ebp - 0x1c]
call fcn.00404d60
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
call fcn.00404d60
mov eax, dword [edi]
mov ecx, dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x4515a4
mov eax, dword [eax]
test eax, eax
je 0x4515a4
push eax
call ecx
test eax, eax
je 0x45159e
push 0x5049b0
lea ecx, [ebp - 0x2c]
call fcn.00404a20
push eax
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 0x17
push 0x504a00
push eax
call fcn.00404f50
add esp, 0xc
mov esi, eax
push 0x4fc480
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x18
call fcn.00404a20
mov ecx, dword [esi]
mov byte [ebp - 4], 0x1a
mov dword [ebp - 0x10], ecx
test ecx, ecx
je 0x4514a8
lock inc dword [ecx + 8]
push eax
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x24], 0x8000
call fcn.00405140
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x28]
call fcn.00405140
lea ecx, [ebp - 0x10]
call fcn.00404d60
lea ecx, [ebp - 0x20]
call fcn.00404d60
lea ecx, [ebp - 0x1c]
call fcn.00404d60
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
call fcn.00404d60
push 0x504ae0
lea ecx, [ebp - 0x14]
call fcn.00404a20
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 0x1b
push eax
lea ecx, [ebp - 0x28]
call fcn.00405140
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.00404d60
push 0x4fc480
lea ecx, [ebp - 0x1c]
call fcn.00404a20
mov eax, dword [eax]
mov byte [ebp - 4], 0x1d
mov dword [ebp - 0x18], eax
test eax, eax
je 0x45152f
lock inc dword [eax + 8]
push edi
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x24], 0x10000
call fcn.00405140
push 0x4fc480
lea ecx, [ebp - 0x20]
call fcn.00404a20
mov ecx, dword [ebp - 0x18]
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0x10], ecx
test ecx, ecx
je 0x45155e
lock inc dword [ecx + 8]
push eax
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x24], 0x30000
call fcn.00405140
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x28]
call fcn.00405140
lea ecx, [ebp - 0x10]
call fcn.00404d60
lea ecx, [ebp - 0x20]
call fcn.00404d60
lea ecx, [ebp - 0x18]
call fcn.00404d60
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 2
call fcn.00404d60
mov ecx, dword [sym.imp.OLEAUT32.dll_VariantInit]
mov eax, dword [edi + 4]
add edi, 4
test eax, eax
je 0x451704
mov eax, dword [eax]
test eax, eax
je 0x451704
push eax
call ecx
test eax, eax
je 0x451704
push 0x5049b0
lea ecx, [ebp - 0x2c]
call fcn.00404a20
push eax
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 0x20
push 0x504a00
push eax
call fcn.00404f50
add esp, 0xc
mov esi, eax
push 0x4fc480
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x21
call fcn.00404a20
mov ecx, dword [esi]
mov byte [ebp - 4], 0x23
mov dword [ebp - 0x10], ecx
test ecx, ecx
je 0x45160e
lock inc dword [ecx + 8]
push eax
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x24], 0x100000
call fcn.00405140
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x28]
call fcn.00405140
lea ecx, [ebp - 0x10]
call fcn.00404d60
lea ecx, [ebp - 0x20]
call fcn.00404d60
lea ecx, [ebp - 0x1c]
call fcn.00404d60
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
call fcn.00404d60
push 0x504b58
lea ecx, [ebp - 0x14]
call fcn.00404a20
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 0x24
push eax
lea ecx, [ebp - 0x28]
call fcn.00405140
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call fcn.00404d60
push 0x4fc480
lea ecx, [ebp - 0x1c]
call fcn.00404a20
mov eax, dword [eax]
mov byte [ebp - 4], 0x26
mov dword [ebp - 0x18], eax
test eax, eax
je 0x451695
lock inc dword [eax + 8]
push edi
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x24], 0x40000
call fcn.00405140
push 0x4fc480
lea ecx, [ebp - 0x20]
call fcn.00404a20
mov ecx, dword [ebp - 0x18]
mov byte [ebp - 4], 0x28
mov dword [ebp - 0x10], ecx
test ecx, ecx
je 0x4516c4
lock inc dword [ecx + 8]
push eax
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x24], 0xc0000
call fcn.00405140
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x28]
call fcn.00405140
lea ecx, [ebp - 0x10]
call fcn.00404d60
lea ecx, [ebp - 0x20]
call fcn.00404d60
lea ecx, [ebp - 0x18]
call fcn.00404d60
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 2
call fcn.00404d60
push 0x5049b0
lea ecx, [ebp - 0x2c]
call fcn.00404a20
push eax
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 0x29
push 0x504a00
push eax
call fcn.00404f50
add esp, 0xc
mov esi, eax
push 0x4fc480
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x2a
call fcn.00404a20
mov ecx, dword [esi]
mov byte [ebp - 4], 0x2c
mov dword [ebp - 0x10], ecx
test ecx, ecx
je 0x45174b
lock inc dword [ecx + 8]
push eax
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x24], 0x1000
call fcn.00405140
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x28]
call fcn.00405140
lea ecx, [ebp - 0x10]
call fcn.00404d60
lea ecx, [ebp - 0x20]
call fcn.00404d60
lea ecx, [ebp - 0x1c]
call fcn.00404d60
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
call fcn.00404d60
push dword [ebp - 0x3c]
lea eax, [ebp - 0x1c]
push 0x504bd0
push eax
call fcn.00404f50
add esp, 0xc
mov esi, eax
push 0x502150
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x2d
call fcn.00404a20
mov eax, dword [esi]
mov byte [ebp - 4], 0x2f
mov dword [ebp - 0x18], eax
test eax, eax
je 0x4517c3
lock inc dword [eax + 8]
lea eax, [ebp - 0x14]
mov dword [ebp - 0x24], 0x2000
push eax
lea ecx, [ebp - 0x18]
call fcn.00405140
push 0x4fc480
lea ecx, [ebp - 0x20]
call fcn.00404a20
mov ecx, dword [ebp - 0x18]
mov byte [ebp - 4], 0x31
mov dword [ebp - 0x10], ecx
test ecx, ecx
je 0x4517f5
lock inc dword [ecx + 8]
push eax
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x24], 0x6000
call fcn.00405140
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x28]
call fcn.00405140
lea ecx, [ebp - 0x10]
call fcn.00404d60
lea ecx, [ebp - 0x20]
call fcn.00404d60
lea ecx, [ebp - 0x18]
call fcn.00404d60
lea ecx, [ebp - 0x14]
call fcn.00404d60
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 2
call fcn.00404d60
push 0x4fc480
lea ecx, [ebp - 0x1c]
call fcn.00404a20
push eax
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 0x32
push 0x504c40
push eax
call fcn.00404f50
add esp, 0xc
push eax
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x33
call fcn.00405140
lea ecx, [ebp - 0x20]
call fcn.00404d60
lea ecx, [ebp - 0x1c]
call fcn.00404d60
mov dword [ebp - 0x20], 0
push 0x4fc480
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x34
call fcn.00404a20
mov esi, eax
push 0x504a00
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x35
call fcn.00404a20
mov eax, dword [esi]
mov byte [ebp - 4], 0x37
mov dword [ebp - 0x14], eax
test eax, eax
je 0x4518b9
lock inc dword [eax + 8]
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x24], 0x40
push eax
lea ecx, [ebp - 0x14]
call fcn.00405140
push 0x5049b0
lea ecx, [ebp - 0x40]
call fcn.00404a20
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0x39
mov dword [ebp - 0x3c], ecx
test ecx, ecx
je 0x4518eb
lock inc dword [ecx + 8]
push eax
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x24], 0xc0
call fcn.00405140
push 0x504a00
lea ecx, [ebp - 0x2c]
call fcn.00404a20
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 4], 0x3b
mov dword [ebp - 0x18], eax
test eax, eax
je 0x45191a
lock inc dword [eax + 8]
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x24], 0x1c0
push eax
lea ecx, [ebp - 0x18]
call fcn.00405140
push 0x4fc480
lea ecx, [ebp - 0x60]
call fcn.00404a20
mov ecx, dword [ebp - 0x18]
mov byte [ebp - 4], 0x3d
mov dword [ebp - 0x10], ecx
test ecx, ecx
je 0x45194c
lock inc dword [ecx + 8]
push eax
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x24], 0x3c0
call fcn.00405140
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x20]
call fcn.00405140
lea ecx, [ebp - 0x10]
call fcn.00404d60
lea ecx, [ebp - 0x60]
call fcn.00404d60
lea ecx, [ebp - 0x18]
call fcn.00404d60
lea ecx, [ebp - 0x2c]
call fcn.00404d60
lea ecx, [ebp - 0x3c]
call fcn.00404d60
lea ecx, [ebp - 0x40]
call fcn.00404d60
lea ecx, [ebp - 0x14]
call fcn.00404d60
lea ecx, [ebp - 0x1c]
call fcn.00404d60
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x34
call fcn.00404d60
push 0x800000
push 0
push 0
push 0
push 0x504c94
push 0x5047ec
push dword [ebx + 4]
call dword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov ebx, eax
mov dword [ebp - 0x98], 1
lea eax, [ebp - 0x80]
mov dword [ebp - 0x1c], ebx
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0x94], 3
push eax
mov eax, dword [ebp - 0x30]
push 0x5047b4
mov dword [ebp - 0x84], 1
push dword [eax]
call dword [sym.imp.WINHTTP.dll_WinHttpGetProxyForUrl]
test eax, eax
je 0x451a23
push 0xc
lea eax, [ebp - 0x80]
push eax
push 0x26
push ebx
call dword [sym.imp.WINHTTP.dll_WinHttpSetOption]
push 0x504cc0
lea ecx, [ebp - 0x60]
call fcn.00404a20
mov esi, eax
push 0x5049b0
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x3e
call fcn.00404a20
mov ecx, dword [esi]
mov byte [ebp - 4], 0x40
mov dword [ebp - 0x14], ecx
test ecx, ecx
je 0x451a54
lock inc dword [ecx + 8]
push eax
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x24], 0x400
call fcn.00405140
push 0x4fc480
lea ecx, [ebp - 0x34]
call fcn.00404a20
push eax
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x41
push eax
lea ecx, [ebp - 0x14]
call fcn.00405020
lea ecx, [ebp - 0x34]
call fcn.00404d60
lea ecx, [ebp - 0x14]
call fcn.00404d60
lea ecx, [ebp - 0x40]
call fcn.00404d60
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x46
call fcn.00404d60
mov edi, dword [ebp - 0x28]
test edi, edi
je 0x451abf
mov eax, dword [edi]
test eax, eax
je 0x451abf
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
mov dword [ebp - 0x14], eax
jmp 0x451ac6
mov dword [ebp - 0x14], 0
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x451adc
mov eax, dword [esi]
test eax, eax
je 0x451adc
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
jmp 0x451ade
xor eax, eax
mov ecx, dword [ebp - 0x14]
add ecx, eax
mov eax, dword [ebp - 0x6c]
add ecx, dword [ebp - 0x4c]
test eax, eax
je 0x451af1
mov eax, dword [eax]
jmp 0x451af3
xor eax, eax
push 0
push ecx
push 0
push 0
push 0
push eax
push ebx
call dword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
jne 0x451b6a
push dword [ebp - 0x38]
call fcn.004c8c7f
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x54]
add esp, 4
push 0
push eax
call fcn.0044fa60
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x54]
add eax, 0x18
mov dword [ebp + 8], eax
cmp eax, ecx
je 0x451b48
mov ecx, eax
call fcn.00404d60
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x54]
mov dword [ecx], eax
test eax, eax
je 0x451b48
lock inc dword [eax + 8]
push ebx
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
push dword [ebp - 0x38]
call fcn.004c8c7f
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea ecx, [ebp - 0x54]
jmp 0x451e04
test edi, edi
je 0x451b80
mov eax, dword [edi]
test eax, eax
je 0x451b80
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
mov dword [ebp - 0x14], eax
jmp 0x451b87
mov dword [ebp - 0x14], 0
test edi, edi
je 0x451ba0
cmp dword [edi + 4], 0
jne 0x451b9b
push dword [edi]
call fcn.004c2fd0
mov dword [edi + 4], eax
mov eax, dword [edi + 4]
jmp 0x451ba2
xor eax, eax
lea ecx, [ebp - 0x68]
push ecx
push dword [ebp - 0x14]
push eax
push ebx
call dword [sym.imp.WINHTTP.dll_WinHttpWriteData]
lea eax, [ebp - 0x68]
push eax
push dword [ebp - 0x4c]
push dword [ebp - 0x38]
push ebx
call dword [sym.imp.WINHTTP.dll_WinHttpWriteData]
test esi, esi
je 0x451bd8
mov eax, dword [esi]
test eax, eax
je 0x451bd8
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
mov dword [ebp - 0x14], eax
jmp 0x451bdf
mov dword [ebp - 0x14], 0
test esi, esi
je 0x451bf8
cmp dword [esi + 4], 0
jne 0x451bf3
push dword [esi]
call fcn.004c2fd0
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
jmp 0x451bfa
xor eax, eax
lea ecx, [ebp - 0x68]
push ecx
push dword [ebp - 0x14]
push eax
push ebx
call dword [sym.imp.WINHTTP.dll_WinHttpWriteData]
push dword [ebp - 0x38]
call fcn.004c8c7f
add esp, 4
push 0
push ebx
call dword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
jne 0x451c72
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0x30]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.0044fa60
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x58]
add eax, 0x18
mov dword [ebp + 8], eax
cmp eax, ecx
je 0x451c5b
mov ecx, eax
call fcn.00404d60
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x58]
mov dword [ecx], eax
test eax, eax
je 0x451c5b
lock inc dword [eax + 8]
push ebx
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea ecx, [ebp - 0x58]
jmp 0x451e04
push dword [ebp + 0xc]
mov ecx, dword [ebp - 0x30]
push ebx
call fcn.00450480
push dword [ebp - 0x1c]
mov ebx, eax
mov dword [ebp - 0x2c], ebx
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
test ebx, ebx
jne 0x451dcd
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
test eax, eax
je 0x451ca1
mov eax, dword [eax]
jmp 0x451ca3
xor eax, eax
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp + 0xc]
push eax
call fcn.0044fb60
mov eax, dword [ebp + 0xc]
mov byte [ebp - 4], 0x47
test eax, eax
je 0x451dc8
mov eax, dword [eax]
test eax, eax
je 0x451dc8
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x451dc8
push ecx
mov ecx, esp
push 0x504d1c
call fcn.00404a20
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.004502a0
mov ebx, dword [ebp + 8]
push eax
lea ecx, [ebx + 0x1c]
call fcn.0044c6f0
lea ecx, [ebp - 0x34]
call fcn.00404d60
lea ecx, [ebx + 0x1c]
call fcn.004522e0
test eax, eax
jne 0x451d76
push ecx
mov ecx, esp
push 0x504d30
call fcn.00404a20
mov ebx, dword [ebp - 0x30]
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x40]
mov ecx, ebx
push eax
call fcn.004502a0
push eax
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0x48
push 0x504d48
push eax
call fcn.00404f50
mov ecx, dword [ebp + 8]
add esp, 0xc
push eax
lea ecx, [ecx + 0x18]
call fcn.0044c6f0
lea ecx, [ebp - 0x34]
call fcn.00404d60
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x47
call fcn.00404d60
jmp 0x451d89
mov ecx, dword [ebp + 8]
push 0x5021e0
add ecx, 0x20
call fcn.00421a20
mov ebx, dword [ebp - 0x30]
push ecx
mov ecx, esp
push 0x504d70
call fcn.00404a20
lea eax, [ebp - 0x48]
mov ecx, ebx
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.004502a0
mov ecx, dword [ebp + 8]
push eax
lea ecx, [ecx + 8]
call fcn.0044c6f0
lea ecx, [ebp - 0x34]
call fcn.00404d60
lea eax, [ebp + 8]
push eax
lea ecx, [ebx + 0x10]
call fcn.00431690
mov ebx, dword [ebp - 0x2c]
lea ecx, [ebp + 0xc]
jmp 0x451e04
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x5c]
push ebx
push eax
call fcn.0044fa60
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x5c]
add eax, 0x18
mov dword [ebp + 8], eax
cmp eax, ecx
je 0x451e01
mov ecx, eax
call fcn.00404d60
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x5c]
mov dword [ecx], eax
test eax, eax
je 0x451e01
lock inc dword [eax + 8]
lea ecx, [ebp - 0x5c]
call fcn.00404d60
lea ecx, [ebp - 0x6c]
call fcn.00404d60
mov ecx, dword [sym.imp.OLEAUT32.dll_SysStringLen]
or eax, 0xffffffff
test esi, esi
je 0x451e60
lock xadd dword [esi + 8], eax
dec eax
jne 0x451e5d
mov eax, dword [esi]
test eax, eax
je 0x451e35
push eax
call ecx
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x451e4c
push eax
call fcn.004c3453
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.004c3279
mov ecx, dword [sym.imp.OLEAUT32.dll_SysStringLen]
add esp, 8
or eax, 0xffffffff
test edi, edi
je 0x451e9d
lock xadd dword [edi + 8], eax
dec eax
jne 0x451e9d
mov eax, dword [edi]
test eax, eax
je 0x451e7b
push eax
call ecx
mov dword [edi], 0
mov eax, dword [edi + 4]
test eax, eax
je 0x451e92
push eax
call fcn.004c3453
add esp, 4
mov dword [edi + 4], 0
push 0xc
push edi
call fcn.004c3279
add esp, 8
mov eax, dword [ebp - 0x48]
push dword [eax + 4]
lea eax, [ebp - 0x48]
push eax
mov ecx, eax
call fcn.0044c470
push 0x18
push dword [ebp - 0x48]
call fcn.004c3279
add esp, 8
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push 0x8007000e
call fcn.004c2e60
push 0x8007000e
call fcn.004c2e60
int3