Function at 0x1403f588e
Capabilities:
Parse pe header

Disassembly:
push rbp
xor bpl, al
mov bpl, r12b
bt rbp, 0x19
push r15
shr bpl, 0xde
ror r15b, cl
push r14
sar bpl, 0xb4
push r13
push r12
rol r15b, cl
shr r15b, 0x63
push rsi
inc sil
bsr r15w, bp
push rdi
push rbx
push rax
sub bpl, 0x9d
mov rbp, rsp
mov rdi, rdx
mov rsi, rcx
sub r15b, cl
lea r15, [rdx + r8]
mov eax, dword [rcx + 8]
cmc
test al, 2
jmp 0x1403f58df
jne 0x1403f5cd9
test al, 4
jmp 0x1403f58ec
jne 0x1403f5dfd
test al, 8
jmp 0x1403f58f9
jne 0x1403f5f2e
test al, 0x10
jmp 0x1403f5906
jne 0x1403f605d
test al, 0x20
jmp 0x1403f5913
jne 0x1403f618e
test al, 0x40
jmp 0x1403f5920
jne 0x1403f62cc
test al, 0x80
jne 0x1403f6394
test eax, 0x100
jne 0x1403f646b
test eax, 0x400
jmp 0x1403f5943
jne 0x1403f654a
mov r14, qword [rsi + 0x110]
btr eax, r8d
mov al, r14b
mov rax, qword [rsi + 0x118]
test bl, al
mov qword [rbp], rax
cmp bp, 0x2bf2
clc
cmp r14, rax
jmp 0x1403f5972
je 0x1403f5b0e
lea r13, [rdi + 1]
clc
cmp r13, r15
ja 0x1403f66b0
mov byte [rdi], 0x5a
inc ah
mov cl, 0x48
rcr ecx, cl
mov rax, qword [r14]
mov cl, r11b
rcr ch, cl
sub rsp, 0x20
mov rcx, r14
jmp 0x1403f59a3
call qword [rax + 0x10]
add rsp, 0x20
shr r12w, 0x99
sub r12w, 0x442b
mov r12, rax
add rax, 0xf
and rax, 0xfffffffffffffff0
jmp 0x1403f59c5
call fcn.14044e565
sub rsp, rax
mov rbx, rsp
bt dx, 0xd2
rcr r8, 0xfc
mov rax, qword [r14]
or dl, r14b
clc
shl dl, cl
sub rsp, 0x20
mov rcx, r14
cqo
mov rdx, rbx
mov r8b, 0x29
not r8
movsx r8, r9w
mov r8, r12
jmp 0x1403f5a00
call qword [rax + ioctlsocket]
add rsp, 0x20
test r13, 0x34df63b8
test al, cl
test al, al
jmp 0x1403f5a17
je 0x1403f66b0
cmp r12, 0x80
jmp 0x1403f5a29
jb 0x1403f5a89
mov rcx, r12
lea rax, [r13 + 1]
jmp 0x1403f5a3b
cmp rax, r15
ja 0x1403f66b0
mov edx, ecx
cmp r9b, r8b
or dl, 0x80
mov byte [r13], dl
cmp spl, dl
shrd edx, r12d, 0x49
cwd
mov rdx, rcx
movsx r13d, r10w
shr rdx, 7
mov r13, rax
cmp r13b, bpl
cmp rcx, 0x3fff
movsx rcx, r11w
mov rcx, rdx
jmp 0x1403f5a7e
ja 0x1403f5a32
jmp 0x1403f5a98
mov rax, r13
mov rdx, r12
movsxd rcx, r11d
sal cl, 0x1a
sar ch, 0xdd
lea rcx, [rax + 1]
cmp sil, r10b
cmp rcx, r15
jmp 0x1403f5aa7
ja 0x1403f66b0
mov byte [rax], dl
rcr di, 0x85
add di, bp
mov rdi, r12
cmp ebx, 0x3af978b4
add rdi, rcx
cmp rdi, r15
jmp 0x1403f5aca
ja 0x1403f66b0
sub rsp, 0x20
movsx rdx, r14w
setbe dh
movsxd r8, r14d
mov rdx, rbx
movzx r8w, bpl
mov r8, r12
call fcn.1404a922d
add rsp, 0x20
cmp bx, 0x4d91
test cl, 9
add r14, 0x50
clc
cmp r14, qword [rbp]
jmp 0x1403f5b08
jne 0x1403f5978
mov r14, qword [rsi + 0x128]
and ah, 0xe1
mov rax, qword [rsi + 0x130]
mov sil, 1
mov qword [rbp], rax
test r10w, r11w
cmp r14, rax
je 0x1403f66b2
lea r13, [rdi + 1]
cmc
clc
cmp bx, 0xad7
cmp r13, r15
jmp 0x1403f5b46
ja 0x1403f66b0
mov byte [rdi], 0x62
mov rax, qword [r14]
neg ch
test r10w, r11w
sub rsp, 0x20
mov rcx, r14
call qword [rax + 0x10]
add rsp, 0x20
mov r12, rax
cmp rbp, 0x3afa1333
add rax, 0xf
jmp 0x1403f5b79
and rax, 0xfffffffffffffff0
call fcn.14044e565
sub rsp, rax
btc rbx, r8
rcr ch, cl
mov rbx, rsp
clc
test r8b, r9b
sar ah, 0x9b
mov rax, qword [r14]
cmp eax, r10d
sub rsp, 0x20
sete ch
cqo
mov rcx, r14
mov rdx, rbx
bswap r8w
movsx r8w, r9b
movzx r8, r10w
mov r8, r12
jmp 0x1403f5bbf
call qword [rax + ioctlsocket]
add rsp, 0x20
test edi, esp
test al, al
jmp 0x1403f5bcf
je 0x1403f66b0
cmp r12, 0x80
jmp 0x1403f5be1
jb 0x1403f5c4b
mov rcx, r12
btr eax, eax
shr eax, 0xe7
lea rax, [r13 + 1]
jmp 0x1403f5c00
cmp rax, r15
ja 0x1403f66b0
mov edx, ecx
or dl, 0x80
stc
clc
mov byte [r13], dl
mov rdx, rcx
shr rdx, 7
mov r13, rax
cmp rcx, 0x6056727e
cmp rcx, 0x3fff
movzx rcx, r11w
bswap cx
jmp 0x1403f5c38
mov rcx, rdx
jmp 0x1403f5c40
ja 0x1403f5bf0
jmp 0x1403f5c5f
mov rax, r13
cdq
movzx ecx, bp
and dh, 0x31
mov rdx, r12
rcl cx, cl
btc cx, bp
lea rcx, [rax + 1]
cmp rcx, r15
jmp 0x1403f5c6b
ja 0x1403f66b0
mov byte [rax], dl
btc di, 0x83
shl rdi, cl
xchg edi, edi
mov rdi, r12
cmp r15b, 6
cmp bp, ax
lea rdi, [rdi + rcx]
cmp rdi, r15
jmp 0x1403f5c93
ja 0x1403f66b0
sub rsp, 0x20
mov rdx, rbx
not r8b
movsx r8, cx
mov r8, r12
jmp 0x1403f5caf
call fcn.1404a922d
add rsp, 0x20
jmp 0x1403f5cc1
add r14, 0x50
cmp r14, qword [rbp]
jmp 0x1403f5cce
jne 0x1403f5b33
jmp 0x1403f66b2
test r8, r8
jmp 0x1403f5ce1
jle 0x1403f66b0
mov byte [rdi], 0xa
inc rdi
rol cl, cl
mov rcx, qword [rsi + 0x20]
jmp 0x1403f5cf8
cmp rcx, 0x80
jb 0x1403f5d6d
nop
dec ah
mov eax, 0x770056e0
lea rax, [rdi + 1]
stc
cmp spl, 0x57
cmp rax, r15
jmp 0x1403f5d1e
ja 0x1403f66b0
mov edx, ecx
cmc
stc
or dl, 0x80
cmp sil, spl
cmp ebx, 0x5cee35f2
mov byte [rdi], dl
mov rdx, rcx
shr rdx, 7
rcl rdi, 0x66
mov di, r9w
mov rdi, rax
cmp rcx, 0x3fff
movsx ecx, r13w
not rcx
movsx rcx, r15w
mov rcx, rdx
jmp 0x1403f5d62
ja 0x1403f5d0d
jmp 0x1403f5d81
mov rax, rdi
clc
cmp rdi, r11
rcr dx, 0xd1
mov rdx, rcx
shld cx, r10w, 0xda
lea rcx, [rax + 1]
cmp r13b, r10b
cmp rcx, r15
ja 0x1403f66b0
mov byte [rax], dl
sub dil, 0x45
test r13b, al
mov r8, qword [rsi + 0x20]
lea rdi, [rcx + r8]
clc
cmp r12b, 0x9e
cmp rdi, r15
ja 0x1403f66b0
cmp qword [rsi + 0x28], 0x10
jmp 0x1403f5dba
jb 0x1403f5dce
mov rdx, qword [rsi + 0x10]
jmp 0x1403f5dc9
jmp 0x1403f5dd7
lea rdx, [rsi + 0x10]
cmp r9b, 0x56
stc
sub rsp, 0x20
jmp 0x1403f5de0
call fcn.1404a922d
add rsp, 0x20
bsf eax, r12d
mov eax, dword [rsi + 8]
test al, 4
jmp 0x1403f5df7
je 0x1403f58f2
lea rax, [rdi + 1]
jmp 0x1403f5e09
cmp rax, r15
jmp 0x1403f5e11
ja 0x1403f66b0
mov byte [rdi], 0x12
neg cl
inc cx
mov cl, r14b
mov rcx, qword [rsi + 0x40]
cmp rcx, 0x80
jmp 0x1403f5e32
jb 0x1403f5ea7
nop dword [rax + rax]
lea rdx, [rax + 1]
cmp r10b, 0xd2
cmp rdx, r15
jmp 0x1403f5e50
ja 0x1403f66b0
mov ebx, ecx
rcr dil, 0xbf
bt edi, 0x4e
or bl, 0x80
mov byte [rax], bl
mov rdi, rcx
btc eax, 0xf2
dec al
shrd ax, r8w, 0x63
shr rdi, 7
mov rax, rdx
test bp, r11w
clc
cmp r13b, r10b
cmp rcx, 0x3fff
mov ecx, 0x2e2e2891
xchg ch, ch
movsx ecx, si
mov rcx, rdi
jmp 0x1403f5e9c
ja 0x1403f5e40
jmp 0x1403f5eae
mov rdx, rax
mov rdi, rcx
stc
lea rcx, [rdx + 1]
cmp r15b, 0xf3
cmp rcx, r15
jmp 0x1403f5ebe
ja 0x1403f66b0
mov byte [rdx], dil
movsx di, al
or r8, 0x126d4e1a
dec dil
mov r8, qword [rsi + 0x40]
movzx edi, r10w
lea rdi, [rcx + r8]
cmp r9d, edi
cmp rdi, r15
ja 0x1403f66b0
cmp qword [rsi + 0x48], 0x10
jmp 0x1403f5ef7
jb 0x1403f5f0b
mov rdx, qword [rsi + 0x30]
jmp 0x1403f5f06
jmp 0x1403f5f13
lea rdx, [rsi + 0x30]
test rbp, rsp
cmc
sub rsp, 0x20
call fcn.1404a922d
add rsp, 0x20
rcl ah, 0
mov eax, dword [rsi + 8]
test al, 8
je 0x1403f58ff
lea rax, [rdi + 1]
test sil, 0xdc
cmc
cmp rax, r15
ja 0x1403f66b0
mov byte [rdi], 0x1a
movsx ecx, r8w
bt rcx, r15
mov rcx, qword [rsi + 0x60]
cmp rcx, 0x80
jmp 0x1403f5f5b
jb 0x1403f5fd1
nop dword [rax]
lea rdx, [rax + 1]
cmp rdx, r15
ja 0x1403f66b0
mov ebx, ecx
ror dil, cl
bt di, 0x40
or bl, 0x80
movsx di, r10b
mov byte [rax], bl
btr rax, rbp
movsx ax, r12b
mov rdi, rcx
adc rax, 0x691743f5
sar ah, 0x18
shrd ax, si, 0x78
shr rdi, 7
mov rax, rdx
cmp rbx, rsp
clc
cmp rcx, 0x3fff
jmp 0x1403f5fbe
mov rcx, rdi
jmp 0x1403f5fc6
ja 0x1403f5f68
jmp 0x1403f5fe0
mov rdx, rax
cmc
rcl edi, 0x94
mov rdi, rcx
bsf cx, r8w
lea rcx, [rdx + 1]
clc
cmp rcx, r15
jmp 0x1403f5fed
ja 0x1403f66b0
mov byte [rdx], dil
ror dil, cl
xchg dil, r8b
mov r8, qword [rsi + 0x60]
lea rdi, [rcx + r8]
test r15b, 0x65
cmp rdi, r15
ja 0x1403f66b0
cmp qword [rsi + 0x68], 0x10
jb 0x1403f602a
mov rdx, qword [rsi + 0x50]
jmp 0x1403f6025
jmp 0x1403f602e
lea rdx, [rsi + 0x50]
sub rsp, 0x20
jmp 0x1403f6037
call fcn.1404a922d
add rsp, 0x20
sar ah, 0xa6
bsf ax, r10w
mov eax, dword [rsi + 8]
cmp dx, 0x3eac
test al, 0x10
jmp 0x1403f6057
je 0x1403f590c
lea rax, [rdi + 1]
cmp rax, r15
jmp 0x1403f6069
ja 0x1403f66b0
mov byte [rdi], 0x22
movzx rcx, r9w
bts cx, r8w
mov rcx, qword [rsi + 0x80]
cmc
cmp rcx, 0x80
jmp 0x1403f608f
jb 0x1403f60f5
nop dword [rax]
lea rdx, [rax + 1]
cmp bpl, cl
cmp rdx, r15
jmp 0x1403f60a8
ja 0x1403f66b0
mov ebx, ecx
bts edi, ecx
xchg di, di
cmc
or bl, 0x80
bsf edi, edi
mov byte [rax], bl
or ax, r14w
mov rdi, rcx
movzx eax, r10w
shr rdi, 7
cmovbe rax, r9
mov rax, rdx
stc
clc
test sil, 0xce
cmp rcx, 0x3fff
mov rcx, rdi
jmp 0x1403f60ea
ja 0x1403f6099
jmp 0x1403f6106
mov rdx, rax
bts di, r12w
mov rdi, rcx
shr rcx, cl
and cx, dx
lea rcx, [rdx + 1]
clc
cmp rcx, r15
ja 0x1403f66b0
mov byte [rdx], dil
mov dil, 0xaa
stc
mov r8, qword [rsi + 0x80]
btr di, r14w
sal di, cl
sub di, 0x4a0d
lea rdi, [rcx + r8]
test edx, ecx
cmc
test r8b, 0xb
cmp rdi, r15
jmp 0x1403f6142
ja 0x1403f66b0
cmp qword [rsi + 0x88], 0x10
jmp 0x1403f6155
jb 0x1403f6164
mov rdx, qword [rsi + 0x70]
jmp 0x1403f6168
lea rdx, [rsi + 0x70]
sub rsp, 0x20
jmp 0x1403f6171
call fcn.1404a922d
add rsp, 0x20
shr al, 0x30
test r13w, 0x70eb
mov eax, dword [rsi + 8]
test al, 0x20
je 0x1403f5919
lea rax, [rdi + 1]
jmp 0x1403f619e
cmp rax, r15
jmp 0x1403f61a6
ja 0x1403f66b0
mov byte [rdi], 0x2a
mov rcx, qword [rsi + 0xa0]
clc
cmp rcx, 0x80
jmp 0x1403f61c3
jb 0x1403f621e
lea rdx, [rax + 1]
cmp rdx, r15
jmp 0x1403f61d5
ja 0x1403f66b0
mov ebx, ecx
or bl, 0x80
xadd di, di
rcl dil, 0x36
mov byte [rax], bl
dec ax
mov rdi, rcx
shr rdi, 7
lahf
mov rax, rdx
jmp 0x1403f61fd
cmp rcx, 0x3fff
movzx ecx, r14w
bswap cx
mov rcx, rdi
jmp 0x1403f6213
ja 0x1403f61c9
jmp 0x1403f6232
mov rdx, rax
sbb di, 0x2219
ror dil, 0x68
adc di, 0x2998
mov rdi, rcx
lea rcx, [rdx + 1]
test bx, r9w
cmp rcx, r15
jmp 0x1403f6242
ja 0x1403f66b0
mov byte [rdx], dil
bt r8w, 0x71
setle dil
mov r8, qword [rsi + 0xa0]
btc di, 0xb8
test bl, spl
mov di, 0x287d
lea rdi, [rcx + r8]
cmp r9w, 0x6c52
test edx, esi
cmp rdi, r15
ja 0x1403f66b0
cmp qword [rsi + 0xa8], 0x10
jb 0x1403f629c
mov rdx, qword [rsi + 0x90]
jmp 0x1403f6297
jmp 0x1403f62a3
lea rdx, [rsi + 0x90]
sub rsp, 0x20
jmp 0x1403f62ac
call fcn.1404a922d
add rsp, 0x20
ror ah, cl
mov eax, dword [rsi + 8]
jmp 0x1403f62bf
test al, 0x40
jmp 0x1403f62c6
je 0x1403f5926
lea rax, [rdi + 1]
cmc
cmp rax, r15
jmp 0x1403f62d9
ja 0x1403f66b0
mov byte [rdi], 0x30
mov edi, dword [rsi + 0xb0]
cmp rdi, 0x80
jmp 0x1403f62f4
jb 0x1403f634d
lea rdx, [rax + 1]
cmp rdx, r15
jmp 0x1403f6306
ja 0x1403f66b0
mov ecx, edi
or cl, 0x80
mov byte [rax], cl
mov rcx, rdi
add ax, 0x26da
shr rcx, 7
cdqe
mov rax, rdx
stc
test r8b, 7
cmp rdi, 0x3fff
movsx rdi, dx
movzx edi, r13w
mov di, di
mov rdi, rcx
jmp 0x1403f6342
ja 0x1403f62fa
jmp 0x1403f6362
mov rdx, rax
bt cx, r8w
xor rcx, 0x3fc93d27
mov rcx, rdi
sub dil, r9b
lea rdi, [rdx + 1]
cmp rdi, r15
jmp 0x1403f636e
ja 0x1403f66b0
mov byte [rdx], cl
movsx eax, cx
cmp esi, 0x4b5b0eee
movzx rax, r11w
mov eax, dword [rsi + 8]
cmc
test al, 0x80
jmp 0x1403f638e
je 0x1403f592e
lea rax, [rdi + 1]
test rsp, 0x3ef2144e
cmp rax, r15
jmp 0x1403f63a7
ja 0x1403f66b0
mov byte [rdi], 0x38
btr rdi, 0x1f
sar dil, cl
jmp 0x1403f63bd
mov edi, dword [rsi + 0xb4]
clc
stc
cmc
cmp rdi, 0x80
jb 0x1403f6430
lea rdx, [rax + 1]
cmp r8b, r14b
cmc
jmp 0x1403f63e0
cmp rdx, r15
jmp 0x1403f63e8
ja 0x1403f66b0
mov ecx, edi
cmp r11b, r12b
cmp cl, 0x58
cmc
or cl, 0x80
stc
mov byte [rax], cl
test r13w, r10w
btr ecx, 0x23
mov rcx, rdi
shr rcx, 7
clc
and eax, 0x7a32754
mov rax, rdx
clc
cmp rdi, 0x3fff
mov rdi, rcx
jmp 0x1403f6425
ja 0x1403f63d3
jmp 0x1403f643d
mov rdx, rax
movsx ecx, bp
mov rcx, rdi
rcr di, 0xb9
lea rdi, [rdx + 1]
stc
cmc
cmp rdi, r15
jmp 0x1403f644b
ja 0x1403f66b0
mov byte [rdx], cl
clc
bt eax, r10d
mov eax, dword [rsi + 8]
test eax, 0x100
jmp 0x1403f6465
je 0x1403f5939
lea rax, [rdi + 1]
cmp si, r10w
jmp 0x1403f6478
cmp rax, r15
jmp 0x1403f6480
ja 0x1403f66b0
mov byte [rdi], 0x40
rol dil, cl
or di, 0x616a
mov edi, dword [rsi + 0xb8]
cmp rdi, 0x80
jmp 0x1403f64a3
jb 0x1403f6503
lea rdx, [rax + 1]
cmp rdx, r15
jmp 0x1403f64b5
ja 0x1403f66b0
mov ecx, edi
jmp 0x1403f64c6
or cl, 0x80
mov byte [rax], cl
ror ch, cl
shl cx, cl
neg al
mov rcx, rdi
xor al, r11b
xchg ah, al
shr rcx, 7
sbb ax, 0x133d
mov rax, rdx
cmp rdi, 0x3fff
movsx rdi, r14w
mov rdi, rcx
jmp 0x1403f64f8
ja 0x1403f64a9
jmp 0x1403f6517
mov rdx, rax
bsr rcx, rsi
or cx, ax
mov rcx, rdi
rcr di, 0xc0
sar rdi, cl
lea rdi, [rdx + 1]
test sp, sp
cmp rdi, r15
jmp 0x1403f6526
ja 0x1403f66b0
mov byte [rdx], cl
add ax, 0x2ea5
mov eax, dword [rsi + 8]
test r10w, r15w
stc
test eax, 0x400
jmp 0x1403f6544
je 0x1403f5949
lea r12, [rdi + 1]
cmp bpl, r8b
test r15b, 0xb9
cmc
cmp r12, r15
jmp 0x1403f655e
ja 0x1403f66b0
mov byte [rdi], 0x52
bsr ecx, r8d
lea rdi, [rsi + 0xc0]
sub rsp, 0x20
movzx ecx, dx
mov rcx, rdi
jmp 0x1403f6581
call fcn.14027bcc4
add rsp, 0x20
movsx ebx, r13w
mov ebx, 0x4a96728d
mov rbx, rax
cmp r8d, esp
stc
test r15b, dil
add rax, 0xf
cmc
cmp r12b, r10b
and rax, 0xfffffffffffffff0
jmp 0x1403f65ae
call fcn.14044e565
sub rsp, rax
mov r14, rsp
rcr r8b, 0x4d
btc r8d, 0xb4
sub rsp, 0x20
bswap cx
cwd
cqo
mov rcx, rdi
mov r8w, r13w
cwd
movsxd r8, edx
mov rdx, r14
movsx r8w, r15b
movsx r8d, bx
mov r8, rbx
jmp 0x1403f65ed
call fcn.1403f7bb2
add rsp, 0x20
test al, al
jmp 0x1403f65fd
je 0x1403f66b0
cmp rbx, 0x80
jmp 0x1403f660f
jb 0x1403f6669
mov rcx, rbx
xor al, r10b
sar al, 0x2e
lea rax, [r12 + 1]
stc
jmp 0x1403f662c
cmp rax, r15
ja 0x1403f66b0
mov edx, ecx
or dl, 0x80
stc
mov byte [r12], dl
mov rdx, rcx
shr rdx, 7
xor r12w, r15w
inc r12b
mov r12, rax
test bpl, bpl
clc
cmp rcx, 0x3fff
mov rcx, rdx
ja 0x1403f661e
jmp 0x1403f6674
mov rax, r12
test cx, 0x1acc
mov rdx, rbx
lea rcx, [rax + 1]
test rcx, 0x231870d1
cmp edi, r9d
cmp rcx, r15
jmp 0x1403f668a
ja 0x1403f66b0
mov byte [rax], dl
xadd di, di
mov rdi, rbx
jmp 0x1403f669e
lea rdi, [rdi + rcx]
cmp rdi, r15
jmp 0x1403f66aa
jbe 0x1403f66e9
sub esi, esi
mov eax, esi
movsx r15w, spl
movsx r12d, sp
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
movsx r14w, bl
xchg r12, r14
pop r12
pop r13
cmovb r14d, ebp
mov r15d, r10d
pop r14
pop r15
movzx ebp, r13w
movsx ebp, r11w
cmovl bp, bx
pop rbp
ret
sub rsp, 0x20
cmovp dx, bx
xchg r8w, dx
mov r8d, esp
mov rdx, r14
movsxd r8, edi
mov r8, rbx
jmp 0x1403f6706
call fcn.1404a922d
add rsp, 0x20
jmp 0x1403f6714
jmp 0x1403f5949