Function at 0x4038b0
Capabilities:
Send data
Send data on socket
Write file on windows

Disassembly:
sub esp, 0xc
push ebx
push ebp
mov ebp, dword [esp + 0x1c]
push esi
mov esi, 0x46f304
lea eax, [ebp + 0xf4]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4038ed
test cl, cl
je 0x4038e9
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4038ed
add eax, 2
add esi, 2
test cl, cl
jne 0x4038c5
xor eax, eax
jmp 0x4038f2
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x403913
mov esi, dword [esp + 0x28]
mov ecx, dword [ebp + 0x38]
push eax
mov eax, dword [esp + 0x28]
push esi
push eax
push ecx
call sub.WSOCK32.dll_send
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov al, byte [ebp + 0x34]
mov ebx, dword [esp + 0x1c]
test al, al
push edi
je 0x403a22
test ebx, ebx
je 0x403930
push 0xf
push ebx
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
lea edi, [ebp + 0xf9]
mov esi, str.COM1
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x403961
test cl, cl
je 0x40395d
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x403961
add eax, 2
add esi, 2
test cl, cl
jne 0x40393d
xor eax, eax
jmp 0x403966
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x403971
mov dx, 0x3fc
mov al, 0xa
out dx, al
mov esi, str.COM2
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40399c
test cl, cl
je 0x403998
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40399c
add eax, 2
add esi, 2
test cl, cl
jne 0x403978
xor eax, eax
jmp 0x4039a1
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4039ac
mov dx, 0x2fc
mov al, 0xa
out dx, al
mov esi, str.COM3
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4039d7
test cl, cl
je 0x4039d3
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4039d7
add eax, 2
add esi, 2
test cl, cl
jne 0x4039b3
xor eax, eax
jmp 0x4039dc
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4039e7
mov dx, 0x3ef
mov al, 2
out dx, al
mov esi, str.COM4
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x403a12
test cl, cl
je 0x403a0e
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x403a12
add eax, 2
add esi, 2
test cl, cl
jne 0x4039ee
xor eax, eax
jmp 0x403a17
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x403a22
mov dx, 0x2ef
mov al, 2
out dx, al
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
lea esi, [ebp + 4]
lea eax, [esp + 0x24]
push esi
push eax
mov eax, dword [ebp]
push ecx
push edx
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x403a8b
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
jne 0x403a8b
mov ecx, dword [ebp + 0x14]
push 0x3e8
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x403a6d
mov dword [esp + 0x24], 0
jmp 0x403a8b
mov eax, dword [ebp]
lea edx, [esp + 0x24]
push 1
push edx
push esi
push eax
call dword [sym.imp.KERNEL32.dll_GetOverlappedResult]
mov ecx, dword [esp + 0x24]
mov eax, dword [ebp + 0xc]
add eax, ecx
mov dword [ebp + 0xc], eax
mov esi, dword [sym.imp.KERNEL32.dll_ClearCommError]
mov ecx, dword [ebp]
lea edx, [esp + 0x10]
lea eax, [esp + 0x20]
push edx
push eax
push ecx
call esi
mov eax, dword [esp + 0x18]
test eax, eax
ja 0x403a91
mov al, byte [ebp + 0x34]
test al, al
je 0x403bd2
lea edi, [ebp + 0xf9]
mov esi, str.COM1
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x403ae5
test cl, cl
je 0x403ae1
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x403ae5
add eax, 2
add esi, 2
test cl, cl
jne 0x403ac1
xor eax, eax
jmp 0x403aea
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x403b00
mov dx, 0x3fd
in al, dx
and al, 0x60
cmp al, 0x60
jne 0x403aee
mov dx, 0x3fc
mov al, 8
out dx, al
mov esi, str.COM2
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x403b2b
test cl, cl
je 0x403b27
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x403b2b
add eax, 2
add esi, 2
test cl, cl
jne 0x403b07
xor eax, eax
jmp 0x403b30
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x403b46
mov dx, 0x2fd
in al, dx
and al, 0x60
cmp al, 0x60
jne 0x403b34
mov dx, 0x2fc
mov al, 8
out dx, al
mov esi, str.COM3
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x403b71
test cl, cl
je 0x403b6d
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x403b71
add eax, 2
add esi, 2
test cl, cl
jne 0x403b4d
xor eax, eax
jmp 0x403b76
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x403b8c
mov dx, 0x3ed
in al, dx
and al, 0x60
cmp al, 0x60
jne 0x403b7a
mov dx, 0x3ef
mov al, 1
out dx, al
mov esi, str.COM4
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x403bb7
test cl, cl
je 0x403bb3
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x403bb7
add eax, 2
add esi, 2
test cl, cl
jne 0x403b93
xor eax, eax
jmp 0x403bbc
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x403bd2
mov dx, 0x2ed
in al, dx
and al, 0x60
cmp al, 0x60
jne 0x403bc0
mov dx, 0x2ef
mov al, 1
out dx, al
mov eax, dword [esp + 0x24]
pop edi
mov dword [0x60b8adc], eax
mov al, byte [ebp + 0x34]
test al, al
je 0x403bf0
test ebx, ebx
je 0x403bf0
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov eax, dword [esp + 0x20]
pop esi
pop ebp
pop ebx
add esp, 0xc
ret