Function at 0x140141260
Capabilities:
Parse pe header

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r15
lea rbp, [rsp - 0xa0]
sub rsp, 0x1a0
mov rax, qword [0x1401f2308]
xor rax, rsp
mov qword [rbp + 0x90], rax
mov qword [rsp + 0x20], r8
mov rdi, rdx
mov rbx, rcx
test rdx, rdx
jne 0x1401412a3
lea eax, [rdx + 0x12]
jmp 0x1401414da
mov rax, qword [rdx]
xor r8d, r8d
xor edx, edx
mov rcx, rdi
mov rax, qword [rax + 0x10]
call qword [case.0x1400309a4.0]
cmp rax, 0xffffffffffffffff
jne 0x1401412c8
mov eax, gethostbyaddr
jmp 0x1401414da
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 0x18]
call qword [case.0x1400309a4.0]
xorps xmm0, xmm0
mov qword [rbx + 8], rax
mov rax, qword [rdi]
lea rdx, [rsp + 0x40]
mov r8d, 0x40
mov rcx, rdi
movups xmmword [rsp + 0x40], xmm0
mov rax, qword [rax + 8]
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
call qword [case.0x1400309a4.0]
cmp rax, 0xffffffffffffffff
jne 0x14014131e
mov eax, reloc.WS2_32.dll_send
jmp 0x1401414da
cmp rax, 0x40
jne 0x140141680
mov eax, 0x5a4d
cmp ax, word [rsp + 0x40]
jne 0x140141680
mov eax, 0xffffffff
cmp qword [rbx + 8], rax
jle 0x14014134d
mov eax, gethostbyaddr
jmp 0x1401414da
cmp dword [rsp + 0x7c], 0
je 0x140141680
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 0x18]
call qword [case.0x1400309a4.0]
mov rcx, rax
movsxd rax, dword [rsp + 0x7c]
cmp rcx, rax
jl 0x140141680
lfence
mov rax, qword [rdi]
xor r8d, r8d
movsxd rdx, dword [rsp + 0x7c]
mov rcx, rdi
mov rax, qword [rax + 0x10]
call qword [case.0x1400309a4.0]
cmp rax, 0xffffffffffffffff
je 0x1401412be
lfence
mov esi, dword [rsp + 0x7c]
lea rcx, [rbp - 0x80]
xor edx, edx
mov r8d, 0x108
call main
mov rax, qword [rdi]
lea rdx, [rbp - 0x80]
mov r8d, 0xf8
mov rcx, rdi
mov rax, qword [rax + 8]
call qword [case.0x1400309a4.0]
cmp rax, 0xffffffffffffffff
je 0x140141314
cmp rax, 0xf8
jne 0x140141680
cmp dword [rbp - 0x80], 0x4550
jne 0x140141680
xor r12d, r12d
cmp r12w, word [rbp - 0x6c]
je 0x140141680
movzx eax, word [rbp - 0x68]
mov ecx, 0x10b
cmp cx, ax
jne 0x140141443
mov rcx, qword [rbp - 0x22]
movzx eax, cx
shr ax, 0xc
and al, 1
cmp dword [rbp - 0xc], 5
mov byte [rbx + 0x23], al
jb 0x140141680
mov eax, dword [rbp + 0x18]
mov dword [rbx + 0x10], eax
mov eax, dword [rbp + 0x1c]
mov dword [rbx + 0x14], eax
lea eax, [rsi + 0x58]
mov dword [rbx + 0x18], eax
lea eax, [rsi + 0x98]
jmp 0x140141483
mov ecx, 0x20b
cmp cx, ax
jne 0x14014167b
mov rcx, qword [rbp - 0x22]
movzx eax, cx
shr ax, 0xc
and al, 1
cmp dword [rbp + 4], 5
mov byte [rbx + 0x23], al
jb 0x140141680
mov eax, dword [rbp + 0x28]
mov dword [rbx + 0x10], eax
mov eax, dword [rbp + 0x2c]
mov dword [rbx + 0x14], eax
lea eax, [rsi + 0x58]
mov dword [rbx + 0x18], eax
lea eax, [rsi + 0xa8]
mov r15d, 1
mov dword [rbx + 0x1c], eax
mov rax, qword [rbp - 0x24]
lea r13d, [r15 + 7]
cmp r15w, ax
je 0x1401414a4
cmp r13w, ax
je 0x1401414a4
xor al, al
jmp 0x1401414a8
movzx eax, r15b
shr cx, 7
and cl, 1
mov qword [rsp + 0x1f8], r14
mov byte [rbx + 0x20], al
mov byte [rbx + 0x21], cl
mov eax, dword [rbx + 0x14]
test eax, eax
je 0x140141673
cmp eax, 0xc
ja 0x1401414fb
mov eax, gethostbyaddr
mov r14, qword [rsp + 0x1f8]
mov rcx, qword [rbp + 0x90]
xor rcx, rsp
call fcn.140160900
add rsp, 0x1a0
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
cmp eax, 0xa00000
ja 0x140141669
mov r14d, dword [rbx + 0x10]
add rax, r14
cmp rax, qword [rbx + 8]
jg 0x14014165f
mov rax, qword [rdi]
xor r8d, r8d
mov edx, r14d
mov rcx, rdi
mov rax, qword [rax + 0x10]
call qword [case.0x1400309a4.0]
cmp rax, 0xffffffffffffffff
je 0x140141655
mov esi, dword [rbx + 0x14]
xor eax, eax
mov dword [rsp + 0x28], r12d
mov word [rsp + 0x2c], r12w
mov dword [rsp + 0x2e], eax
mov word [rsp + 0x32], ax
test rsi, rsi
je 0x140141673
lea r15d, [rax + 2]
nop dword [rax]
mov rax, qword [rdi]
lea rdx, [rsp + 0x28]
mov r8, r13
mov rcx, rdi
mov rax, qword [rax + 8]
call qword [case.0x1400309a4.0]
cmp rax, 8
jne 0x14014165f
mov eax, dword [rsp + 0x28]
test eax, eax
je 0x14014165f
mov edx, eax
cmp rax, rsi
jg 0x14014165f
cmp r15w, word [rsp + 0x2e]
je 0x1401415e4
lea ecx, [rax + 7]
and ecx, 0xfffffff8
mov eax, ecx
add r14d, ecx
sub rsi, rax
cmp rsi, 8
jle 0x14014165f
lfence
mov rax, qword [rdi]
xor r8d, r8d
mov edx, r14d
mov rcx, rdi
mov rax, qword [rax + 0x10]
call qword [case.0x1400309a4.0]
cmp rax, 0xffffffffffffffff
je 0x140141655
xor eax, eax
mov qword [rsp + 0x28], rax
jmp 0x140141560
cmp dword [rbx + 0x14], eax
je 0x1401415ed
mov byte [rbx + 0x22], 1
add eax, 0xfffffff7
cmp eax, 0x9ffff7
ja 0x140141669
mov rbx, qword [rsp + 0x20]
add rdx, 0xfffffffffffffff8
mov rcx, rbx
call fcn.14012e080
test eax, eax
jne 0x140141616
mov eax, reloc.WS2_32.dll_inet_ntoa
jmp 0x1401414d2
mov rdx, qword [rbx + 8]
mov rax, qword [rdi]
test rdx, rdx
jne 0x140141627
mov rdx, r12
jmp 0x14014162f
mov rdx, qword [rdx + 8]
add rdx, qword [rbx + 0x18]
mov r8, qword [rbx + 0x20]
mov rcx, rdi
mov rax, qword [rax + 8]
call qword [case.0x1400309a4.0]
cmp qword [rbx + 0x20], rax
mov eax, reloc.WS2_32.dll_send
cmovne r12d, eax
mov eax, r12d
jmp 0x1401414d2
mov eax, gethostbyaddr
jmp 0x1401414d2
mov eax, gethostbyaddr
jmp 0x1401414d2
mov eax, socket
jmp 0x1401414d2
mov eax, r15d
jmp 0x1401414d2
mov word [rbx + 0x20], r12w
mov eax, gethostbyaddr
jmp 0x1401414da