Function at 0x140059f20
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xd0
mov r14, qword [0x14022c4b0]
xor eax, eax
mov r15, qword [0x14022c4b8]
xorps xmm0, xmm0
movzx r10d, byte [rbp + 0x67]
mov rsi, rcx
movups xmmword [rbp - 0x39], xmm0
mov word [rbp - 0x29], ax
movabs rbx, 0xb5a708c5d309ea31
mov byte [rbp - 0x27], al
movabs r12, 0xe6b3b83a4fd03605
mov dword [rbp - 0x49], 0xb0fc8bf8
movabs r13, 0x62df4ef46b593bb9
mov dword [rbp - 0x45], 0xbcf0fc89
mov dword [rbp - 0x41], 0xf587f7ff
mov dword [rbp - 0x3d], 0x17ef86fe
nop dword [rax]
mov rax, r15
mov r9, r14
nop word [rax + rax]
xor edi, edi
movabs rdx, 0x20f51a51791dbe93
cmp rdi, 0x23
jae 0x14005a9a7
movzx r11d, byte [rbp + rdi - 0x49]
mov r8d, r11d
nop
cmp rax, rdi
ja 0x14005a99e
lea rcx, [r9 + 1]
cmp rax, rcx
jae 0x140059ffb
lea r10, [rdi + rbx]
movzx ecx, r8b
and cl, r10b
add cl, cl
sub r10b, cl
sub r10b, 0x57
add r10b, r11b
jmp 0x14005a041
je 0x14005a933
inc rcx
cmp rax, rcx
je 0x14005a8d4
lea rcx, [r9 + 3]
cmp rax, rcx
je 0x14005a8a6
lea rcx, [r9 + 5]
cmp rax, rcx
je 0x14005a862
lea rcx, [r9 + 7]
cmp rax, rcx
je 0x14005a842
lea rcx, [r9 + 6]
cmp rax, rcx
je 0x14005a7f9
cmp r9, rdi
ja 0x14005a995
lea rcx, [r9 + 0x7a]
cmp rax, rcx
jae 0x14005a06b
lea rdx, [rdi + r12]
movzx ecx, r8b
and cl, dl
add cl, cl
sub dl, cl
lea r10d, [r11 + rdx]
sub r10b, 0x23
jmp 0x14005a0a0
lea rcx, [r9 + 1]
cmp rax, rcx
je 0x14005a7de
inc rcx
cmp rax, rcx
je 0x14005a7be
lea rcx, [r9 + 3]
cmp rax, rcx
je 0x14005a7a4
lea rcx, [r9 + 5]
cmp rax, rcx
je 0x14005a756
nop
lea rcx, [r9 + rax]
cmp rcx, rdi
jbe 0x14005a429
nop dword [rax]
lea rcx, [r9 + 0x40]
cmp rax, rcx
je 0x14005a40b
lea rcx, [r9 + 4]
cmp rax, rcx
je 0x14005a3e8
lea rcx, [r9 + 0x1000]
cmp rax, rcx
je 0x14005a3ca
lea rcx, [r9 + 0x20]
cmp rax, rcx
je 0x14005a3a9
lea rcx, [r9 + 2]
cmp rax, rcx
je 0x14005a38b
lea rcx, [r9 + 0x3e8]
cmp rax, rcx
je 0x14005a35c
lea rax, [r9 + 0xa]
lea r9, [rax + 0xa]
lea rcx, [r9 + 0xa]
cmp rax, rcx
jb 0x14005a978
lea rcx, [r9 + 0x2a]
cmp rax, rcx
jb 0x14005a95b
lea rcx, [r9 + 0x80]
cmp rax, rcx
jb 0x14005a1e1
lea rcx, [r9 + 8]
cmp rax, rcx
jb 0x14005a1c7
lea rcx, [r9 + 0x41]
cmp rax, rcx
jb 0x14005a2ed
lea rcx, [r9 + 0x42]
cmp rax, rcx
jb 0x14005a2cb
lea rax, [r9 + 5]
lea r9, [rax + 5]
lea rcx, [r9 + 5]
cmp rax, rcx
ja 0x14005a29c
lea rcx, [r9 + 0x61]
cmp rax, rcx
ja 0x14005a282
lea rcx, [r9 + 0x28]
cmp rax, rcx
ja 0x14005a264
lea rcx, [r9 + 3]
cmp rax, rcx
ja 0x14005a246
lea rcx, [r9 + 0x400]
cmp rax, rcx
ja 0x14005a21f
lea rcx, [r9 + 0x10]
cmp rax, rcx
ja 0x14005a1fb
lea rcx, [r9 + 1]
cmp rax, rcx
ja 0x14005a0b0
mov rax, rcx
lea r9, [rcx + 1]
jmp 0x14005a0b0
lea edx, [rdi - 0x65]
movzx ecx, dl
and cl, r11b
add cl, cl
sub dl, cl
lea r10d, [r11 + rdx]
sub r10b, 0x3d
jmp 0x14005a0a0
lea edx, [rdi + 0x39]
movzx ecx, dl
and cl, r11b
add cl, cl
sub dl, cl
lea r10d, [r11 + rdx]
add r10b, 0x71
jmp 0x14005a041
lea r8d, [rdi + 0x28]
movzx ecx, r11b
and cl, r8b
movzx r10d, r11b
add cl, cl
movzx ebx, dil
sub r10b, cl
sub r10b, 0x18
add r10b, r8b
jmp 0x14005a812
lea r8d, [rdi + 0x64]
mov edx, Ordinal_35
movzx ecx, r11b
dec rdi
and cl, r8b
sub dl, cl
lea r10d, [rdx + rdx]
add r10b, r11b
add r10b, r8b
inc rdi
jmp 0x140059fb2
lea edx, [rdi - 0x60]
movzx ecx, r11b
and cl, dl
add cl, cl
sub r11b, cl
lea r10d, [rdx + r11]
sub r10b, 0x60
add rax, r9
jmp 0x14005a8bb
lea edx, [rdi - 0x24]
movzx ebx, dil
movzx ecx, dl
and cl, r11b
add cl, cl
sub dl, cl
lea r10d, [r11 + rdx]
sub r10b, 4
jmp 0x14005a76f
lea edx, [rdi + 0x7a]
movzx ecx, dl
and cl, r11b
add cl, cl
sub dl, cl
lea r10d, [r11 + rdx]
sub r10b, 0x56
jmp 0x14005a8f2
lea r8d, [rdi + 0x18]
mov edx, Ordinal_45
movzx ecx, r8b
and cl, r11b
sub dl, cl
movzx ecx, byte [rbp + rdi - 0x49]
add rcx, r9
add rdi, rcx
lea r10d, [rdx + rdx]
add r10b, r8b
add r10b, r11b
inc rdi
jmp 0x140059fb2
lea edx, [rdi + 0x23]
movzx ecx, dl
and cl, r11b
add cl, cl
sub dl, cl
lea r10d, [r11 + rdx]
add r10b, 0xb
mov byte [rbp + rdi - 0x49], r10b
inc rdi
jmp 0x140059fb2
lea edx, [rdi + 0x5f]
movzx ecx, dl
and cl, r11b
add cl, cl
sub dl, cl
lea r10d, [r11 + rdx]
add r10b, 0x67
cmp rax, 0x10
jae 0x14005a70e
lea rcx, [r9 + 0x10]
cmp rax, rcx
jbe 0x14005a5fe
lea r8d, [rdi - 0x4e]
mov edx, reloc.WS2_32.dll_recvfrom
movzx ecx, r8b
and cl, r11b
sub dl, cl
lea r10d, [rdx + rdx]
add r10b, r8b
add r10b, r11b
cmp r9, 6
jb 0x14005a2e0
movzx ebx, dil
lea edx, [rbx - 0x7a]
movzx ecx, dl
and cl, r11b
add cl, cl
sub dl, cl
add dl, r11b
lea r10d, [rdx*2 - 0x54]
jmp 0x14005a812
lea r8d, [rdi + 0x1e]
mov edx, reloc.WS2_32.dll_socket
movzx ecx, r8b
and cl, r11b
sub dl, cl
movzx ecx, byte [rbp + rdi - 0x49]
add rcx, r9
add rdi, rcx
lea r10d, [rdx + rdx]
add r10b, r8b
add r10b, r11b
inc rdi
jmp 0x140059fb2
movzx ebx, dil
lea edx, [rbx + 0x5a]
movzx ecx, dl
and cl, r11b
add cl, cl
sub dl, cl
lea r10d, [r11 + rdx]
sub r10b, 0x76
jmp 0x14005a76f
lea r8d, [rdi - 8]
mov edx, Ordinal_30
movzx ecx, r8b
and cl, r11b
sub dl, cl
lea r10d, [rdx + rdx]
add r10b, r8b
add r10b, r11b
jmp 0x14005a8bb
lea edx, [rdi + 0x34]
movzx ebx, dil
movzx ecx, dl
and cl, r11b
add cl, cl
sub dl, cl
lea r10d, [r11 + rdx]
sub r10b, 0x6c
jmp 0x14005a87b
lea edx, [rdi + 0x70]
inc r9
movzx ecx, dl
dec rdi
and cl, r11b
add cl, cl
sub dl, cl
lea r10d, [r11 + rdx]
sub r10b, 0x10
inc rdi
jmp 0x140059fb2
movzx ebx, dil
lea edx, [rbx + 0xe]
movzx ecx, dl
and cl, r11b
add cl, cl
sub dl, cl
lea r10d, [r11 + rdx]
sub r10b, 0x62
jmp 0x14005a812
lea rcx, [r9 + 0x3e8]
cmp rax, rcx
jae 0x14005a47f
lea edx, [rdi + 0x31]
movzx ecx, dl
and cl, r11b
add cl, cl
sub dl, cl
lea r10d, [r11 + rdx]
sub r10b, 0x57
lea rcx, [r9 + rax]
cmp rcx, 0x42
je 0x14005a737
lea rcx, [r9 + 0x42]
cmp rax, rcx
jbe 0x14005a52d
lea edx, [rdi - 0x53]
movzx ecx, dl
and cl, r11b
add cl, cl
sub dl, cl
lea r10d, [r11 + rdx]
add r10b, 0x45
jmp 0x14005a302
lea rdx, [r9 + 1]
cmp rax, rdx
jne 0x14005a4b0
lea edx, [rdi + 0xa]
movzx ecx, dl
and cl, r11b
add cl, cl
sub dl, cl
movzx ecx, byte [rbp + rdi - 0x49]
add rcx, r9
add rdi, rcx
lea r10d, [r11 + rdx]
sub r10b, 0x46
inc rdi
jmp 0x140059fb2
lea rcx, [r9 + 3]
cmp rax, rcx
jne 0x14005a4d3
lea edx, [rdi + 0x30]
movzx ecx, dl
and cl, r11b
add cl, cl
sub dl, cl
lea r10d, [r11 + rdx]
sub r10b, 0x50
jmp 0x14005a8bb
lea rcx, [r9 + 4]
cmp rax, rcx
jne 0x14005a500
lea r8d, [rdi - 0x6e]
mov edx, 1
movzx ecx, r8b
and cl, r11b
sub dl, cl
lea r10d, [rdx + rdx]
add r10b, r8b
add r10b, r11b
add rax, r9
jmp 0x14005a8bb
lea rcx, [rdx + 1]
cmp rax, rcx
jne 0x14005a44a
lea edx, [rdi + 0x56]
dec rdi
movzx ecx, dl
and cl, r11b
add cl, cl
sub dl, cl
lea r10d, [r11 + rdx]
sub r10b, 0x5a
inc rdi
jmp 0x140059fb2
lea rcx, [r9 + 1]
cmp rax, rcx
jne 0x14005a554
movzx ebx, dil
lea edx, [rbx + 0xf]
movzx ecx, dl
and cl, r11b
add cl, cl
sub dl, cl
lea r10d, [r11 + rdx]
sub r10b, 0x69
jmp 0x14005a812
inc rcx
cmp rax, rcx
jne 0x14005a57f
lea edx, [rdi + 0x71]
inc r9
movzx ecx, dl
dec rdi
and cl, r11b
add cl, cl
sub dl, cl
lea r10d, [r11 + rdx]
sub r10b, 0x17
inc rdi
jmp 0x140059fb2
lea rcx, [r9 + 5]
cmp rax, rcx
jne 0x14005a5a2
lea edx, [rdi - 7]
movzx ecx, dl
and cl, r11b
add cl, cl
sub dl, cl
lea r10d, [r11 + rdx]
add r10b, 0x31
jmp 0x14005a8bb
lea rcx, [r9 + 4]
cmp rax, rcx
jne 0x14005a5c9
movzx ebx, dil
lea edx, [rbx + 0x5b]
movzx ecx, dl
and cl, r11b
add cl, cl
sub dl, cl
lea r10d, [r11 + rdx]
sub r10b, 0x7d
jmp 0x14005a76f
lea rcx, [r9 + 8]
cmp rax, rcx
jne 0x14005a302
lea edx, [rdi + 0x1f]
movzx ecx, dl
and cl, r11b
add cl, cl
sub dl, cl
movzx ecx, byte [rbp + rdi - 0x49]
add rcx, r9
add rdi, rcx
lea r10d, [r11 + rdx]
add r10b, 0x27
inc rdi
jmp 0x140059fb2
lea rcx, [r9 + 1]
cmp rax, rcx
jne 0x14005a636
lea r8d, [rdi + 0x14]
mov edx, Ordinal_60
movzx ecx, r8b
and cl, r11b
sub dl, cl
movzx ecx, byte [rbp + rdi - 0x49]
add rcx, r9
add rdi, rcx
lea r10d, [rdx + rdx]
add r10b, r8b
add r10b, r11b
inc rdi
jmp 0x140059fb2
inc rcx
cmp rax, rcx
jne 0x14005a658
lea edx, [rdi + 0x76]
movzx ecx, dl
and cl, r11b
add cl, cl
sub dl, cl
lea r10d, [r11 + rdx]
sub r10b, 0x3a
jmp 0x14005a8f2
lea rcx, [r9 + 3]
cmp rax, rcx
jne 0x14005a686
mov edx, recv
movzx ebx, dil
lea r8d, [rbx - 0x28]
movzx ecx, r8b
and cl, r11b
sub dl, cl
lea r10d, [rdx + rdx]
add r10b, r8b
add r10b, r11b
jmp 0x14005a76f
lea rcx, [r9 + 5]
cmp rax, rcx
jne 0x14005a6ac
lea edx, [rdi - 0x64]
movzx ecx, dl
and cl, r11b
add cl, cl
sub dl, cl
lea r10d, [r11 + rdx]
sub r10b, 0x44
add rax, r9
jmp 0x14005a8bb
lea rcx, [r9 + 7]
cmp rax, rcx
jne 0x14005a6dc
lea r8d, [rdi + 0x60]
mov edx, Ordinal_50
movzx ecx, r8b
dec rdi
and cl, r11b
sub dl, cl
lea r10d, [rdx + rdx]
add r10b, r8b
add r10b, r11b
inc rdi
jmp 0x140059fb2
lea rcx, [r9 + 2]
cmp rax, rcx
jne 0x14005a335
mov edx, 2
movzx ebx, dil
lea r8d, [rbx + 0x24]
movzx ecx, r8b
and cl, r11b
sub dl, cl
lea r10d, [rdx + rdx]
add r10b, r8b
add r10b, r11b
jmp 0x14005a812
movzx r10d, byte [rbp + rdi - 0x49]
movzx ebx, dil
lea r8d, [rbx - 0x18]
movzx ecx, r8b
and cl, r11b
add cl, cl
sub r10b, cl
sub r10b, 0x58
add r10b, r8b
add r10b, r11b
jmp 0x14005a87b
movzx ebx, dil
lea edx, [rbx + 0x4a]
movzx ecx, dl
and cl, r11b
add cl, cl
sub dl, cl
sub dl, byte [rbp + rdi - 0x49]
lea r10d, [r11 + rdx]
sub r10b, 6
jmp 0x14005a76f
movzx ebx, dil
lea edx, [rbx - 0x4d]
movzx ecx, dl
and cl, r11b
add cl, cl
sub dl, cl
lea r10d, [r11 + rdx]
add r10b, 0x1b
add bl, 0x7b
movzx ecx, r11b
and cl, bl
inc r9
add cl, cl
sub bl, 0x5d
movzx edx, r11b
sub dl, cl
add dl, bl
movabs rbx, 0xb5a708c5d309ea31
movzx ecx, dl
mov byte [rbp + rdi - 0x49], cl
add rcx, r9
sub rdi, rcx
jmp 0x14005a8f2
lea edx, [rdi + 0x51]
movzx ecx, dl
and cl, r11b
add cl, cl
sub dl, cl
lea r10d, [r11 + rdx]
sub r10b, 0x37
jmp 0x14005a8bb
lea edx, [rdi + 0x2b]
dec rdi
movzx ecx, dl
and cl, r11b
add cl, cl
sub dl, cl
lea r10d, [r11 + rdx]
sub r10b, 0x2d
inc rdi
jmp 0x140059fb2
movzx ebx, dil
lea edx, [rbx + 0x67]
movzx ecx, dl
and cl, r11b
add cl, cl
sub dl, cl
lea r10d, [r11 + rdx]
add r10b, 0x2f
jmp 0x14005a812
movzx ebx, dil
lea edx, [rbx - 0x5d]
movzx ecx, dl
and cl, r11b
add cl, cl
sub dl, cl
lea r10d, [r11 + rdx]
sub r10b, 0x75
sub bl, 0x49
movzx ecx, r11b
and cl, bl
dec bl
add cl, cl
sub r11b, cl
add r11b, bl
movabs rbx, 0xb5a708c5d309ea31
mov byte [rbp + rdi - 0x49], r11b
inc r9
dec rdi
inc rdi
jmp 0x140059fb2
lea edx, [rdi - 0x21]
movzx ecx, dl
and cl, r11b
add cl, cl
sub dl, cl
lea r10d, [r11 + rdx]
sub r10b, 0x19
dec rdi
inc rdi
jmp 0x140059fb2
movzx ebx, dil
lea edx, [rbx + 0x7d]
movzx ecx, dl
and cl, r11b
add cl, cl
sub dl, cl
lea r10d, [r11 + rdx]
sub r10b, 0x6b
add bl, 0x19
movzx ecx, r11b
and cl, bl
add bl, 0x51
add cl, cl
sub r11b, cl
add r11b, bl
movabs rbx, 0xb5a708c5d309ea31
add r11b, r10b
mov byte [rbp + rdi - 0x49], r11b
add rax, r9
jmp 0x14005a8bb
lea rcx, [rdi + r13]
and r8b, cl
add r8b, r8b
sub cl, r8b
lea r10d, [r11 + rcx]
sub r10b, 0xf
movzx ecx, r10b
mov rdx, 0xffffffffffffffff
sub rdx, rcx
add rdi, rdx
inc rdi
jmp 0x140059fb2
movabs rcx, 0x8c432bdd1f3192f5
add rcx, rdi
and r8b, cl
add r8b, r8b
sub cl, r8b
lea r10d, [r11 + rcx]
add r10b, 0x4d
lea r8d, [rdi - 0x54]
movzx ecx, r11b
and cl, r8b
inc rax
mov edx, Ordinal_41
sub dl, cl
mov rcx, 0xffffffffffffffff
sub rcx, rax
add dl, dl
add dl, r11b
add dl, r8b
mov byte [rbp + rdi - 0x49], dl
add rdi, rcx
movzx ecx, byte [rbp + rdi - 0x49]
add rcx, r9
add rdi, rcx
inc rdi
jmp 0x140059fb2
lea rcx, [rdi + rdx]
and r8b, cl
add r8b, r8b
sub cl, r8b
lea r10d, [r11 + rcx]
sub r10b, 5
movzx ecx, byte [rbp + rdi - 0x49]
add rcx, r9
add rdi, rcx
inc rdi
jmp 0x140059fb2
add dil, 0x75
movzx ecx, r11b
and cl, dil
add cl, cl
sub r11b, cl
lea r10d, [rdi + r11]
sub r10b, 0x33
jmp 0x140059fa6
add dil, 0x13
movzx eax, r11b
and al, dil
add al, al
sub r11b, al
lea r10d, [rdi + r11]
add r10b, 0x7b
jmp 0x140059f9c
lea rbx, [rbp + 0x16958a3]
jmp 0x14005a9ab
lea rbx, [rbp + 0xb342d4]
jmp 0x14005a9ab
lea rbx, [rbp - 0x49]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsi + 8], xmm0
mov qword [rbp + 0x1f], rax
xor ecx, ecx
movups xmmword [rsi + 0x18], xmm0
movups xmmword [rsi + 0x28], xmm0
movups xmmword [rsi + 0x38], xmm0
movsd xmm0, qword [rbp + 0x1f]
movsd qword [rsi + 0x48], xmm0
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
xor ecx, ecx
mov qword [rsi + 0x48], rbx
mov qword [rsi + 0x20], rax
mov rax, qword [rsi]
mov qword [rsi + 0x10], rax
mov qword [rsi + 0x40], rbx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov edx, 0x67
mov dword [rsp + 0x28], 0
mov rcx, rax
mov dword [rsp + 0x20], reloc.WS2_32.dll_recv
lea r9d, [rdx - 0x57]
lea r8d, [rdx - 0x66]
call qword [sym.imp.USER32.dll_LoadImageA]
lea rcx, [rsi + 8]
mov qword [rsi + 0x28], rax
call qword [sym.imp.USER32.dll_RegisterClassA]
test ax, ax
jne 0x14005aafa
movabs r13, 0x7ffffffffa0a1efe
movabs r12, 0x7fffffffffffffff
movabs r14, 0x4e94914effff
movabs r15, 0x431bde82d7b634db
nop word [rax + rax]
mov rdx, qword [rsi + 0x20]
mov rcx, qword [rsi + 0x48]
call qword [sym.imp.USER32.dll_UnregisterClassA]
lea rcx, [rbp + 0x67]
call fcn.140059e40
mov rax, qword [rbp + 0x67]
lea rbx, [rax + 0x5f5e100]
cmp rax, r13
jle 0x14005aa90
mov rbx, r12
nop word [rax + rax]
lea rcx, [rbp + 0x6f]
call fcn.140059e40
mov rax, qword [rbp + 0x6f]
cmp rbx, rax
je 0x14005aae7
jl 0x14005aae7
mov rcx, rbx
sub rcx, rax
cmp rcx, r14
jg 0x14005aadb
mov rax, r15
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rax, rdx, 0xf4240
cmp rax, rcx
jge 0x14005aad2
inc rdx
mov ecx, edx
call sub.KERNEL32.dll_Sleep
jmp 0x14005aa90
mov ecx, 0x5265c00
call sub.KERNEL32.dll_Sleep
jmp 0x14005aa90
lea rcx, [rsi + 8]
call qword [sym.imp.USER32.dll_RegisterClassA]
test ax, ax
je 0x14005aa60
mov rax, qword [rsi + 0x20]
xor ecx, ecx
mov r8, qword [rsi + 0x40]
mov r9d, 0x80000000
mov rdx, qword [rsi + 0x48]
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], rcx
mov dword [rsp + 0x38], 0x1f4
mov dword [rsp + 0x30], 0x1f4
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], ecx
mov ecx, 0x80028
call qword [sym.imp.USER32.dll_CreateWindowExA]
mov rbx, qword [rsp + 0x120]
test rax, rax
mov qword [rsi + 0x50], rax
setne al
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret