Function at 0x418830
Capabilities:
Send data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4878e8
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
mov eax, dword [0x504a70]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 4], 0
call dword [0x506254]
mov edi, eax
mov eax, dword [ebp + 0xc]
push ebx
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x14], esp
mov esi, esp
push eax
mov dword [ebp - 0x1c], eax
call fcn.00404c60
add eax, 0x10
mov dword [esi], eax
add esp, 4
lea eax, [ebp - 0x18]
push eax
call fcn.00416810
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax - 0xc]
lea edx, [ebp - 0x28]
push edx
push ecx
push eax
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.WININET.dll_InternetWriteFile]
test eax, eax
jne 0x418993
call fcn.0045e8af
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4188cc
push 0x80004005
call fcn.00401440
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 2
mov esi, dword [sym.imp.KERNEL32.DLL_GetLastError]
call esi
push eax
call esi
push eax
push ebx
lea ecx, [ebp - 0x14]
push str.InternetWriteFile_header_failed__field___s__error___d__0x_x__n
push ecx
call fcn.00405230
mov edi, dword [ebp - 0x14]
add esp, 0x14
push 0
push 0x10
push edi
call fcn.0045dce2
call esi
test eax, eax
jg 0x418916
call esi
mov esi, eax
jmp 0x418926
call esi
mov esi, eax
and esi, 0xffff
or esi, 0x80070000
lea eax, [edi - 0x10]
mov byte [ebp - 4], 1
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x418946
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418969
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 4], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41898c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, esi
jmp 0x418ce5
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x4189c7
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
add eax, 1
cmp eax, 0x3fffffff
jle 0x4189af
xor eax, eax
jmp 0x4189c7
lea esi, [eax + eax]
mov eax, esi
call fcn.00477d80
mov ecx, dword [ebp + 0x10]
mov eax, esp
push edi
push esi
push ecx
push eax
call fcn.00416150
push eax
lea ecx, [ebp - 0x20]
call fcn.00419150
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx - 0xc]
test eax, eax
je 0x418b02
lea edx, [ebp - 0x28]
push edx
push eax
mov eax, dword [ebp + 8]
push ecx
push eax
call dword [sym.imp.WININET.dll_InternetWriteFile]
test eax, eax
jne 0x418b02
call fcn.0045e8af
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x418a14
push 0x80004005
call fcn.00401440
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 4
mov esi, dword [sym.imp.KERNEL32.DLL_GetLastError]
call esi
push eax
call esi
push eax
push ebx
lea ecx, [ebp - 0x14]
push str.InternetWriteFile_value_failed__field___s__error___d__0x_x__n
push ecx
call fcn.00405230
mov edi, dword [ebp - 0x14]
add esp, 0x14
push 0
push 0x10
push edi
call fcn.0045dce2
call esi
test eax, eax
jg 0x418a5e
call esi
mov esi, eax
jmp 0x418a6e
call esi
mov esi, eax
and esi, 0xffff
or esi, 0x80070000
lea eax, [edi - 0x10]
mov byte [ebp - 4], 3
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x418a8e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418ab1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418ad4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 4], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41898c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, esi
jmp 0x418ce5
lea esi, [ebp - 0x24]
call fcn.00416a90
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax - 0xc]
lea edx, [ebp - 0x28]
push edx
push ecx
push eax
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.WININET.dll_InternetWriteFile]
test eax, eax
jne 0x418c57
call fcn.0045e8af
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x418b46
push 0x80004005
call fcn.00401440
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 6
mov esi, dword [sym.imp.KERNEL32.DLL_GetLastError]
call esi
push eax
call esi
push eax
push ebx
lea ecx, [ebp - 0x14]
push str.InternetWriteFile_trailer_failed__field___s__error___d__0x_x__n
push ecx
call fcn.00405230
mov edi, dword [ebp - 0x14]
add esp, 0x14
push 0
push 0x10
push edi
call fcn.0045dce2
call esi
test eax, eax
jg 0x418b90
call esi
mov esi, eax
jmp 0x418ba0
call esi
mov esi, eax
and esi, 0xffff
or esi, 0x80070000
lea eax, [edi - 0x10]
mov byte [ebp - 4], 5
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x418bc0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418be3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418c06
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418c29
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 4], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41898c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, esi
jmp 0x418ce5
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418c7a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418c9d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418cc0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 4], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x418ce3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
lea esp, [ebp - 0x34]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0046875c
mov esp, ebp
pop ebp
ret 0xc