Function at 0x14001a798
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
xor r13d, r13d
mov r12, rcx
cmp rcx, r13
je 0x14001a88e
mov rdi, qword [rcx + 0x28]
cmp rdi, r13
je 0x14001a88e
cmp qword [rcx + 0x10], r13
je 0x14001a88e
cmp qword [rcx], r13
jne 0x14001a7e1
cmp dword [rcx + 8], r13d
jne 0x14001a88e
cmp dword [rdi], 0xb
jne 0x14001a7ec
mov dword [rdi], InitCommonControls
mov r9d, dword [rcx + 0x18]
mov r14d, dword [rcx + 8]
mov r10, qword [rcx + 0x10]
mov r15, qword [rcx]
mov ebp, dword [rdi + 0x40]
mov esi, dword [rdi + 0x44]
mov dword [rsp + 0x38], r14d
mov r8d, r9d
mov dword [rsp + 0xa8], r9d
mov dword [rsp + 0x90], r13d
mov ebx, 1
mov qword [rsp + 0x40], r10
mov dword [rsp + 0xa0], r9d
lea r11, [0x140020db0]
lea rdx, [0x140021f48]
mov ecx, dword [rdi]
cmp ecx, 0xe
jg 0x14001b036
je 0x14001ae3b
cmp ecx, 7
jg 0x14001adc0
je 0x14001abc3
cmp ecx, r13d
je 0x14001ac45
sub ecx, ebx
je 0x14001a8c8
sub ecx, ebx
je 0x14001a94d
sub ecx, ebx
je 0x14001a9c5
sub ecx, ebx
je 0x14001aa1c
sub ecx, ebx
je 0x14001aa36
cmp ecx, ebx
je 0x14001ab31
mov eax, 0xfffffffe
mov rbx, qword [rsp + 0x98]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
cmp r14d, r13d
je 0x14001bad7
movzx eax, byte [r15]
mov ecx, esi
add r14d, 0xffffffff
shl eax, cl
add r15, rbx
add ebp, eax
add esi, 8
cmp esi, 0x10
jb 0x14001a8ab
cmp bpl, 8
mov dword [rdi + 0x10], ebp
jne 0x14001ad65
test ebp, 0xe000
jne 0x14001ad65
mov rcx, qword [rdi + 0x20]
cmp rcx, r13
je 0x14001a8f8
mov eax, ebp
shr eax, 8
and eax, ebx
mov dword [rcx], eax
bt dword [rdi + 0x10], 9
jae 0x14001a922
mov ecx, dword [rdi + 0x18]
mov byte [rsp + 0x30], bpl
shr ebp, 8
lea rdx, [rsp + 0x30]
mov r8d, 2
mov byte [rsp + 0x31], bpl
call fcn.14001a10c
mov dword [rdi + 0x18], eax
mov ebp, r13d
mov esi, r13d
mov dword [rdi], 2
jmp 0x14001a94d
cmp r14d, r13d
je 0x14001bad7
movzx eax, byte [r15]
mov ecx, esi
add r14d, 0xffffffff
shl eax, cl
add r15, rbx
add ebp, eax
add esi, 8
cmp esi, 0x20
jb 0x14001a930
mov rax, qword [rdi + 0x20]
cmp rax, r13
je 0x14001a95e
mov dword [rax + 4], ebp
bt dword [rdi + 0x10], 9
jae 0x14001a99a
mov ecx, dword [rdi + 0x18]
mov eax, ebp
mov byte [rsp + 0x30], bpl
shr eax, 8
lea rdx, [rsp + 0x30]
mov r8d, 4
mov byte [rsp + 0x31], al
mov eax, ebp
shr ebp, 0x18
shr eax, 0x10
mov byte [rsp + 0x33], bpl
mov byte [rsp + 0x32], al
call fcn.14001a10c
mov dword [rdi + 0x18], eax
mov ebp, r13d
mov esi, r13d
mov dword [rdi], 3
jmp 0x14001a9c5
cmp r14d, r13d
je 0x14001bad7
movzx eax, byte [r15]
mov ecx, esi
add r14d, 0xffffffff
shl eax, cl
add r15, rbx
add ebp, eax
add esi, 8
cmp esi, 0x10
jb 0x14001a9a8
mov rcx, qword [rdi + 0x20]
cmp rcx, r13
je 0x14001a9e6
movzx eax, bpl
mov dword [rcx + 8], eax
mov rax, qword [rdi + 0x20]
mov ecx, ebp
shr ecx, 8
mov dword [rax + 0xc], ecx
bt dword [rdi + 0x10], 9
jae 0x14001aa10
mov ecx, dword [rdi + 0x18]
mov byte [rsp + 0x30], bpl
shr ebp, 8
lea rdx, [rsp + 0x30]
mov r8d, 2
mov byte [rsp + 0x31], bpl
call fcn.14001a10c
mov dword [rdi + 0x18], eax
mov ebp, r13d
mov esi, r13d
mov dword [rdi], 4
bt dword [rdi + 0x10], 0xa
jb 0x14001aa9f
mov rax, qword [rdi + 0x20]
cmp rax, r13
je 0x14001aa30
mov qword [rax + 0x10], r13
mov dword [rdi], 5
bt dword [rdi + 0x10], 0xa
jae 0x14001ab27
mov ebx, dword [rdi + 0x48]
cmp ebx, r14d
cmova ebx, r14d
cmp ebx, r13d
je 0x14001ab1d
mov rax, qword [rdi + 0x20]
cmp rax, r13
je 0x14001aafa
mov r9, qword [rax + 0x10]
cmp r9, r13
je 0x14001aafa
mov edx, dword [rax + 0x18]
mov ecx, dword [rax + 0x1c]
sub edx, dword [rdi + 0x48]
lea eax, [rbx + rdx]
cmp eax, ecx
jbe 0x14001aae8
sub ecx, edx
jmp 0x14001aaea
cmp r14d, r13d
je 0x14001bad7
movzx eax, byte [r15]
mov ecx, esi
add r14d, 0xffffffff
shl eax, cl
add r15, rbx
add ebp, eax
add esi, 8
cmp esi, 0x10
jb 0x14001aa82
mov rax, qword [rdi + 0x20]
mov dword [rdi + 0x48], ebp
cmp rax, r13
je 0x14001aab3
mov dword [rax + 0x18], ebp
bt dword [rdi + 0x10], 9
jae 0x14001aadd
mov ecx, dword [rdi + 0x18]
mov byte [rsp + 0x30], bpl
shr ebp, 8
lea rdx, [rsp + 0x30]
mov r8d, 2
mov byte [rsp + 0x31], bpl
call fcn.14001a10c
mov dword [rdi + 0x18], eax
mov ebp, r13d
mov esi, r13d
jmp 0x14001aa30
mov ecx, ebx
mov r8d, ecx
mov ecx, edx
mov rdx, r15
add rcx, r9
call sub.msvcrt.dll_memcpy
bt dword [rdi + 0x10], 9
jae 0x14001ab12
mov ecx, dword [rdi + 0x18]
mov r8d, ebx
mov rdx, r15
call fcn.14001a10c
mov dword [rdi + 0x18], eax
mov eax, ebx
sub r14d, ebx
add r15, rax
sub dword [rdi + 0x48], ebx
cmp dword [rdi + 0x48], r13d
jne 0x14001bad7
mov dword [rdi + 0x48], r13d
mov dword [rdi], 6
bt dword [rdi + 0x10], 0xb
jae 0x14001abac
cmp r14d, r13d
je 0x14001bad7
mov ebx, r13d
mov r8, r15
mov rax, qword [rdi + 0x20]
movzx r13d, byte [r8]
add ebx, 1
add r8, 1
test rax, rax
je 0x14001ab74
mov rdx, qword [rax + 0x20]
test rdx, rdx
je 0x14001ab74
mov ecx, dword [rdi + 0x48]
cmp ecx, dword [rax + 0x28]
jae 0x14001ab74
mov byte [rcx + rdx], r13b
add dword [rdi + 0x48], 1
test r13d, r13d
je 0x14001ab7e
cmp ebx, r14d
jb 0x14001ab47
bt dword [rdi + 0x10], 9
jae 0x14001ab96
mov ecx, dword [rdi + 0x18]
mov r8d, ebx
mov rdx, r15
call fcn.14001a10c
mov dword [rdi + 0x18], eax
mov eax, ebx
sub r14d, ebx
add r15, rax
test r13d, r13d
jne 0x14001bad7
xor r13d, r13d
jmp 0x14001abb9
mov rax, qword [rdi + 0x20]
cmp rax, r13
je 0x14001abb9
mov qword [rax + 0x20], r13
mov dword [rdi + 0x48], r13d
mov dword [rdi], 7
bt dword [rdi + 0x10], 0xc
jae 0x14001ad75
cmp r14d, r13d
je 0x14001bad7
mov ebx, r13d
mov r8, r15
mov rax, qword [rdi + 0x20]
movzx r13d, byte [r8]
add ebx, 1
add r8, 1
test rax, rax
je 0x14001ac0a
mov rdx, qword [rax + 0x30]
test rdx, rdx
je 0x14001ac0a
mov ecx, dword [rdi + 0x48]
cmp ecx, dword [rax + 0x38]
jae 0x14001ac0a
mov byte [rcx + rdx], r13b
add dword [rdi + 0x48], 1
test r13d, r13d
je 0x14001ac14
cmp ebx, r14d
jb 0x14001abdd
bt dword [rdi + 0x10], 9
jae 0x14001ac2c
mov ecx, dword [rdi + 0x18]
mov r8d, ebx
mov rdx, r15
call fcn.14001a10c
mov dword [rdi + 0x18], eax
mov eax, ebx
sub r14d, ebx
add r15, rax
test r13d, r13d
jne 0x14001bad7
xor r13d, r13d
jmp 0x14001ad82
cmp dword [rdi + 8], r13d
jne 0x14001ac73
mov dword [rdi], InitCommonControls
jmp 0x14001a839
cmp r14d, r13d
je 0x14001bad7
movzx eax, byte [r15]
mov ecx, esi
add r14d, 0xffffffff
shl eax, cl
add r15, rbx
add ebp, eax
add esi, 8
cmp esi, 0x10
jb 0x14001ac56
test byte [rdi + 8], 2
je 0x14001accb
cmp ebp, 0x8b1f
jne 0x14001accb
lea rdx, [rsp + 0x30]
mov r8d, 2
xor ecx, ecx
mov dword [rdi + 0x18], r13d
mov byte [rsp + 0x30], 0x1f
mov byte [rsp + 0x31], 0x8b
call fcn.14001a10c
mov ebp, r13d
mov esi, r13d
mov dword [rdi + 0x18], eax
mov dword [rdi], ebx
mov r8d, dword [rsp + 0xa8]
mov r9d, dword [rsp + 0xa0]
mov r10, qword [rsp + 0x40]
jmp 0x14001a82b
mov rax, qword [rdi + 0x20]
mov dword [rdi + 0x10], r13d
cmp rax, r13
je 0x14001acdc
or dword [rax + 0x40], 0xffffffff
test byte [rdi + 8], bl
je 0x14001ad65
movzx ecx, bpl
mov eax, ebp
shr eax, 8
shl ecx, 8
add ecx, eax
mov eax, 0x8421085
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 4
imul eax, eax, 0x1f
cmp ecx, eax
jne 0x14001ad5e
mov eax, ebp
and al, 0xf
cmp al, 8
je 0x14001ad24
mov qword [r12 + 0x20], r11
mov dword [rdi], 0x1b
jmp 0x14001a832
shr ebp, 4
add esi, 0xfffffffc
mov ecx, ebp
and ecx, 0xf
add ecx, 8
cmp ecx, dword [rdi + 0x28]
ja 0x14001ad14
shr ebp, 8
mov eax, ebx
mov dword [rdi + 0x18], ebx
not ebp
shl eax, cl
mov esi, r13d
and ebp, 2
mov dword [rdi + 0x14], eax
mov dword [r12 + 0x4c], ebx
or ebp, 9
mov dword [rdi], ebp
mov ebp, r13d
jmp 0x14001a832
lea rdx, [0x140021f48]
mov qword [r12 + 0x20], r11
mov dword [rdi], 0x1b
jmp 0x14001a839
mov rax, qword [rdi + 0x20]
cmp rax, r13
je 0x14001ad82
mov qword [rax + 0x30], r13
mov r8d, dword [rsp + 0xa8]
mov r9d, dword [rsp + 0xa0]
mov r10, qword [rsp + 0x40]
mov dword [rdi], 8
mov ebx, 1
lea r11, [0x140020db0]
lea rdx, [0x140021f48]
bt dword [rdi + 0x10], 9
jae 0x14001aff9
jmp 0x14001afe2
sub ecx, 8
je 0x14001adb0
sub ecx, ebx
je 0x14001aeba
sub ecx, ebx
je 0x14001aef6
sub ecx, ebx
je 0x14001af0e
sub ecx, ebx
je 0x14001af0e
cmp ecx, ebx
jne 0x14001a88e
mov ecx, esi
and ecx, 7
shr ebp, cl
sub esi, ecx
jmp 0x14001ae15
cmp r14d, r13d
je 0x14001bad7
movzx eax, byte [r15]
mov ecx, esi
add r14d, 0xffffffff
shl eax, cl
add r15, rbx
add ebp, eax
add esi, 8
cmp esi, 0x20
jb 0x14001adf8
mov eax, ebp
movzx ecx, bp
not eax
shr eax, 0x10
cmp ecx, eax
jne 0x14001ad65
mov dword [rdi + 0x48], ecx
mov ebp, r13d
mov esi, r13d
mov dword [rdi], InitCommonControls
mov r13d, dword [rdi + 0x48]
test r13d, r13d
je 0x14001b028
cmp r13d, r14d
cmova r13d, r14d
cmp r13d, r9d
cmova r13d, r9d
test r13d, r13d
je 0x14001bad7
mov r8d, r13d
mov rdx, r15
mov rcx, r10
mov ebx, r13d
call sub.msvcrt.dll_memcpy
mov r9d, dword [rsp + 0xa0]
mov r10, qword [rsp + 0x40]
sub dword [rdi + 0x48], r13d
mov r8d, dword [rsp + 0xa8]
sub r9d, r13d
add r10, rbx
sub r14d, r13d
add r15, rbx
xor r13d, r13d
jmp 0x14001a819
cmp r14d, r13d
je 0x14001bad7
movzx eax, byte [r15]
mov ecx, esi
add r14d, 0xffffffff
shl eax, cl
add r15, rbx
add ebp, eax
add esi, 8
cmp esi, 0x20
jb 0x14001ae9d
mov ecx, ebp
mov eax, ebp
mov esi, r13d
shl eax, 0x10
and ecx, 0xff00
add ecx, eax
mov eax, ebp
shr ebp, 0x18
shr eax, 8
shl ecx, 8
and eax, 0xff00
add eax, ecx
add eax, ebp
mov ebp, r13d
mov dword [rdi + 0x18], eax
mov dword [r12 + 0x4c], eax
mov dword [rdi], 0xa
cmp dword [rdi + 0xc], r13d
je 0x14001baac
mov dword [rdi + 0x18], ebx
mov dword [r12 + 0x4c], ebx
mov dword [rdi], reloc.WS2_32.dll_inet_addr
cmp dword [rdi + 4], r13d
je 0x14001af45
mov ecx, esi
mov dword [rdi], 0x18
and ecx, 7
shr ebp, cl
sub esi, ecx
jmp 0x14001a839
cmp r14d, r13d
je 0x14001bad7
movzx eax, byte [r15]
mov ecx, esi
add r14d, 0xffffffff
shl eax, cl
add r15, rbx
add ebp, eax
add esi, 8
cmp esi, 3
jb 0x14001af28
mov eax, ebp
shr ebp, 1
add esi, 0xffffffff
and eax, ebx
mov dword [rdi + 4], eax
mov eax, ebp
and eax, 3
cmp eax, r13d
je 0x14001afb4
sub eax, ebx
je 0x14001af81
sub eax, ebx
je 0x14001af79
cmp eax, ebx
jne 0x14001afba
mov qword [r12 + 0x20], r11
mov dword [rdi], 0x1b
jmp 0x14001afba
mov dword [rdi], InitCommonControls
jmp 0x14001afba
mov rcx, rdi
call fcn.14001a554
mov r8d, dword [rsp + 0xa8]
mov r9d, dword [rsp + 0xa0]
mov r10, qword [rsp + 0x40]
mov dword [rdi], 0x12
lea r11, [0x140020db0]
lea rdx, [0x140021f48]
jmp 0x14001afba
mov dword [rdi], InitCommonControls
shr ebp, 2
add esi, 0xfffffffe
jmp 0x14001a839
cmp r14d, r13d
je 0x14001bad7
movzx eax, byte [r15]
mov ecx, esi
add r14d, 0xffffffff
shl eax, cl
add r15, rbx
add ebp, eax
add esi, 8
cmp esi, 0x10
jb 0x14001afc5
movzx eax, word [rdi + 0x18]
cmp ebp, eax
jne 0x14001ad65
mov ebp, r13d
mov esi, r13d
mov rcx, qword [rdi + 0x20]
cmp rcx, r13
je 0x14001b014
mov eax, dword [rdi + 0x10]
sar eax, 9
and eax, ebx
mov dword [rcx + 0x3c], eax
mov rax, qword [rdi + 0x20]
mov dword [rax + 0x40], ebx
mov dword [rdi + 0x18], r13d
mov dword [r12 + 0x4c], r13d
mov dword [rdi], reloc.WS2_32.dll_inet_addr
jmp 0x14001a839
mov dword [rdi], reloc.WS2_32.dll_inet_addr
xor r13d, r13d
jmp 0x14001a839
cmp ecx, 0x16
jg 0x14001b935
je 0x14001b8a9
sub ecx, 0xf
je 0x14001b09c
sub ecx, ebx
je 0x14001b139
sub ecx, ebx
je 0x14001b465
sub ecx, ebx
je 0x14001b50a
sub ecx, ebx
je 0x14001b6be
sub ecx, ebx
je 0x14001b703
cmp ecx, ebx
jne 0x14001a88e
jmp 0x14001b852
cmp r14d, r13d
je 0x14001bad7
movzx eax, byte [r15]
mov ecx, esi
add r14d, 0xffffffff
shl eax, cl
add r15, rbx
add ebp, eax
add esi, 8
cmp esi, 0xe
jb 0x14001b07f
mov ecx, ebp
shr ebp, 5
add esi, 0xfffffff2
mov edx, ebp
shr ebp, 5
and ecx, 0x1f
mov eax, ebp
and edx, 0x1f
add ecx, 0x101
and eax, 0xf
add edx, ebx
shr ebp, 4
add eax, 4
cmp ecx, 0x11e
mov dword [rdi + 0x74], ecx
mov dword [rdi + 0x70], eax
mov dword [rdi + 0x78], edx
ja 0x14001ad14
cmp edx, 0x1e
ja 0x14001ad14
mov dword [rdi + 0x7c], r13d
mov dword [rdi], InitCommonControls
lea rdx, [0x140021f48]
jmp 0x14001b139
cmp r14d, r13d
je 0x14001bad7
movzx eax, byte [r15]
mov ecx, esi
add r14d, 0xffffffff
shl eax, cl
add r15, rbx
add ebp, eax
add esi, 8
cmp esi, 3
jb 0x14001b0f8
mov eax, dword [rdi + 0x7c]
mov cl, bpl
shr ebp, 3
movzx eax, word [rdx + rax*2]
and cx, 7
mov word [rdi + rax*2 + 0x88], cx
add dword [rdi + 0x7c], ebx
add esi, 0xfffffffd
mov eax, dword [rdi + 0x70]
cmp dword [rdi + 0x7c], eax
jb 0x14001b115
jmp 0x14001b156
mov eax, dword [rdi + 0x7c]
movzx eax, word [rdx + rax*2]
mov word [rdi + rax*2 + 0x88], r13w
add dword [rdi + 0x7c], ebx
cmp dword [rdi + 0x7c], 0x13
jb 0x14001b143
lea rcx, [rdi + 0x68]
lea rax, [rdi + 0x548]
lea r9, [rdi + 0x80]
mov qword [r9], rax
mov qword [rdi + 0x58], rax
lea rax, [rdi + 0x308]
mov qword [rsp + 0x28], rax
mov dword [rcx], 7
mov qword [rsp + 0x20], rcx
xor ecx, ecx
lea rdx, [rdi + 0x88]
lea r8d, [rcx + 0x13]
call fcn.14001cfb8
cmp eax, r13d
mov dword [rsp + 0x90], eax
je 0x14001b1d6
mov r8d, dword [rsp + 0xa8]
mov r9d, dword [rsp + 0xa0]
mov r10, qword [rsp + 0x40]
lea r11, [0x140020db0]
mov qword [r12 + 0x20], r11
mov dword [rdi], 0x1b
jmp 0x14001a832
mov r10, qword [rsp + 0x40]
mov dword [rdi + 0x7c], r13d
mov dword [rdi], reloc.COMCTL32.dll_InitCommonControls
lea r11, [0x140020db0]
jmp 0x14001b465
cmp r14d, r13d
je 0x14001bad7
movzx eax, byte [r15]
mov ecx, esi
add r14d, 0xffffffff
shl eax, cl
add r15, rbx
add ebp, eax
add esi, 8
mov ecx, dword [rdi + 0x68]
mov eax, ebx
shl eax, cl
sub eax, ebx
mov ecx, eax
mov eax, ebp
and rcx, rax
mov rax, qword [rdi + 0x58]
mov eax, dword [rax + rcx*4]
mov ecx, eax
mov dword [rsp + 0x34], eax
shr ecx, 8
movzx ecx, cl
cmp ecx, esi
ja 0x14001b1f1
mov ecx, eax
shr ecx, 0x10
cmp cx, 0x10
jae 0x14001b291
shr eax, 8
movzx ecx, al
cmp esi, ecx
jae 0x14001b270
cmp r14d, r13d
je 0x14001bad7
movzx eax, byte [r15]
mov ecx, esi
add esi, 8
shl eax, cl
add r14d, 0xffffffff
add r15, rbx
add ebp, eax
movzx eax, byte [rsp + 0x35]
cmp esi, eax
jb 0x14001b24a
movzx ecx, byte [rsp + 0x35]
movzx eax, word [rsp + 0x36]
shr ebp, cl
sub esi, ecx
mov ecx, dword [rdi + 0x7c]
mov word [rdi + rcx*2 + 0x88], ax
add dword [rdi + 0x7c], ebx
jmp 0x14001b465
cmp word [rsp + 0x36], 0x10
jne 0x14001b2f7
movzx edx, byte [rsp + 0x35]
lea r8d, [rdx + 2]
jmp 0x14001b2c1
cmp r14d, r13d
je 0x14001bad7
movzx eax, byte [r15]
mov ecx, esi
add r14d, 0xffffffff
shl eax, cl
add r15, rbx
add ebp, eax
add esi, 8
cmp esi, r8d
jb 0x14001b2a4
mov eax, dword [rdi + 0x7c]
mov ecx, edx
sub esi, edx
shr ebp, cl
cmp eax, r13d
je 0x14001b479
mov edx, ebp
add eax, 0xffffffff
shr ebp, 2
movzx r9d, word [rdi + rax*2 + 0x88]
and edx, 3
add edx, 3
add esi, 0xfffffffe
jmp 0x14001b387
cmp word [rsp + 0x36], 0x11
movzx r8d, byte [rsp + 0x35]
jne 0x14001b343
lea edx, [r8 + 3]
jmp 0x14001b328
cmp r14d, r13d
je 0x14001bad7
movzx eax, byte [r15]
mov ecx, esi
add r14d, 0xffffffff
shl eax, cl
add r15, rbx
add ebp, eax
add esi, 8
cmp esi, edx
jb 0x14001b30b
mov ecx, r8d
mov eax, 0xfffffffd
shr ebp, cl
mov edx, ebp
and edx, 7
add edx, 3
shr ebp, 3
jmp 0x14001b37f
lea edx, [r8 + 7]
jmp 0x14001b366
cmp r14d, r13d
je 0x14001bad7
movzx eax, byte [r15]
mov ecx, esi
add r14d, 0xffffffff
shl eax, cl
add r15, rbx
add ebp, eax
add esi, 8
cmp esi, edx
jb 0x14001b349
mov ecx, r8d
mov eax, 0xfffffff9
shr ebp, cl
mov edx, ebp
and edx, 0x7f
add edx, 0xb
shr ebp, 7
sub eax, r8d
mov r9d, r13d
add esi, eax
mov eax, dword [rdi + 0x7c]
lea ecx, [rdx + rax]
mov eax, dword [rdi + 0x78]
add eax, dword [rdi + 0x74]
cmp ecx, eax
jbe 0x14001b460
mov qword [r12 + 0x20], r11
mov dword [rdi], 0x1b
cmp dword [rdi], 0x1b
mov r8d, dword [rsp + 0xa8]
mov r9d, dword [rsp + 0xa0]
lea rdx, [0x140021f48]
je 0x14001a839
mov r8d, dword [rdi + 0x74]
lea rax, [rdi + 0x548]
lea r13, [rdi + 0x308]
mov qword [rdi + 0x80], rax
mov qword [rdi + 0x58], rax
lea rax, [rdi + 0x68]
lea rdx, [rdi + 0x88]
lea r9, [rdi + 0x80]
mov ecx, 1
mov qword [rsp + 0x28], r13
mov dword [rax], 9
mov qword [rsp + 0x20], rax
call fcn.14001cfb8
test eax, eax
mov dword [rsp + 0x90], eax
je 0x14001b499
mov r8d, dword [rsp + 0xa8]
mov r9d, dword [rsp + 0xa0]
mov r10, qword [rsp + 0x40]
xor r13d, r13d
lea r11, [0x140020db0]
mov ebx, 1
mov qword [r12 + 0x20], r11
mov dword [rdi], 0x1b
jmp 0x14001a832
mov eax, dword [rdi + 0x7c]
add edx, 0xffffffff
mov word [rdi + rax*2 + 0x88], r9w
add dword [rdi + 0x7c], ebx
cmp edx, r13d
jne 0x14001b44e
mov eax, dword [rdi + 0x78]
add eax, dword [rdi + 0x74]
cmp dword [rdi + 0x7c], eax
jae 0x14001b3a6
jmp 0x14001b20e
mov r8d, dword [rsp + 0xa8]
mov r9d, dword [rsp + 0xa0]
mov qword [r12 + 0x20], r11
mov dword [rdi], 0x1b
jmp 0x14001a832
mov rax, qword [rdi + 0x80]
mov r8d, dword [rdi + 0x78]
lea rcx, [rdi + 0x6c]
mov qword [rdi + 0x60], rax
mov eax, dword [rdi + 0x74]
mov dword [rcx], 6
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rcx
lea r9, [rdi + 0x80]
lea rdx, [rdi + rax*2 + 0x88]
mov ecx, 2
call fcn.14001cfb8
mov r8d, dword [rsp + 0xa8]
mov r9d, dword [rsp + 0xa0]
mov r10, qword [rsp + 0x40]
xor r13d, r13d
mov dword [rsp + 0x90], eax
cmp eax, r13d
jne 0x14001b432
mov dword [rdi], 0x12
lea ebx, [r13 + 1]
cmp r14d, 6
jb 0x14001b563
cmp r9d, 0x102
jb 0x14001b563
mov qword [r12 + 0x10], r10
mov dword [r12 + 0x18], r9d
mov qword [r12], r15
mov dword [r12 + 8], r14d
mov edx, r8d
mov rcx, r12
mov dword [rdi + 0x40], ebp
mov dword [rdi + 0x44], esi
call fcn.14001cb3c
mov r10, qword [r12 + 0x10]
mov r9d, dword [r12 + 0x18]
mov r15, qword [r12]
mov r14d, dword [r12 + 8]
mov ebp, dword [rdi + 0x40]
mov esi, dword [rdi + 0x44]
mov r8d, dword [rsp + 0xa8]
jmp 0x14001a81e
mov ecx, dword [rdi + 0x68]
mov r11, qword [rdi + 0x58]
mov eax, ebx
shl eax, cl
sub eax, ebx
mov ecx, eax
mov eax, ebp
and rcx, rax
mov eax, dword [r11 + rcx*4]
jmp 0x14001b5b1
cmp r14d, r13d
je 0x14001bad7
movzx eax, byte [r15]
mov ecx, esi
add r14d, 0xffffffff
shl eax, cl
mov ecx, dword [rdi + 0x68]
add r15, rbx
add ebp, eax
mov eax, ebx
add esi, 8
shl eax, cl
sub eax, ebx
mov ecx, eax
mov eax, ebp
and rcx, rax
mov rax, qword [rdi + 0x58]
mov eax, dword [rax + rcx*4]
mov ecx, eax
shr ecx, 8
movzx ecx, cl
cmp ecx, esi
ja 0x14001b57d
cmp al, r13b
je 0x14001b677
test al, 0xf0
jne 0x14001b677
mov r10d, eax
mov cl, al
mov r9d, ebx
shr r10d, 8
mov edx, eax
mov dword [rsp + 0x34], eax
movzx r8d, r10b
shr eax, 0x10
add ecx, r8d
shl r9d, cl
mov ecx, r8d
sub r9d, ebx
and r9d, ebp
shr r9d, cl
add r9d, eax
mov eax, dword [r11 + r9*4]
mov ecx, eax
shr ecx, 8
movzx r8d, cl
movzx ecx, r10b
add r8d, ecx
jmp 0x14001b669
cmp r14d, r13d
je 0x14001bad7
movzx eax, byte [r15]
movzx r9d, byte [rsp + 0x35]
mov ecx, esi
shl eax, cl
mov r8d, ebx
add r14d, 0xffffffff
add ebp, eax
mov al, dl
add r15, rbx
lea ecx, [r9 + rax]
movzx eax, word [rsp + 0x36]
add esi, 8
shl r8d, cl
mov ecx, r9d
sub r8d, ebx
and r8d, ebp
shr r8d, cl
add r8d, eax
mov rax, qword [rdi + 0x58]
mov eax, dword [rax + r8*4]
mov ecx, eax
shr ecx, 8
movzx r8d, cl
add r8d, r9d
cmp r8d, esi
ja 0x14001b612
movzx ecx, byte [rsp + 0x35]
shr ebp, cl
sub esi, ecx
mov ecx, eax
shr ecx, 8
movzx ecx, cl
shr ebp, cl
sub esi, ecx
mov ecx, eax
shr ecx, 0x10
cmp al, r13b
mov dword [rdi + 0x48], ecx
jne 0x14001b69b
mov dword [rdi], 0x17
jmp 0x14001acb1
test al, 0x20
je 0x14001b6aa
mov dword [rdi], reloc.WS2_32.dll_inet_addr
jmp 0x14001acb1
test al, 0x40
jne 0x14001b1aa
and eax, 0xf
mov dword [rdi], 0x13
mov dword [rdi + 0x50], eax
mov edx, dword [rdi + 0x50]
cmp edx, r13d
je 0x14001b6fd
cmp esi, edx
jae 0x14001b6ec
cmp r14d, r13d
je 0x14001bad7
movzx eax, byte [r15]
mov ecx, esi
add esi, 8
shl eax, cl
add r14d, 0xffffffff
add r15, rbx
add ebp, eax
cmp esi, dword [rdi + 0x50]
jb 0x14001b6ca
mov ecx, edx
mov eax, ebx
shl eax, cl
sub eax, ebx
and eax, ebp
shr ebp, cl
add dword [rdi + 0x48], eax
sub esi, edx
mov dword [rdi], 0x14
mov ecx, dword [rdi + 0x6c]
mov r11, qword [rdi + 0x60]
mov eax, ebx
shl eax, cl
sub eax, ebx
mov ecx, eax
mov eax, ebp
and rcx, rax
mov eax, dword [r11 + rcx*4]
jmp 0x14001b751
cmp r14d, r13d
je 0x14001bad7
movzx eax, byte [r15]
mov ecx, esi
add r14d, 0xffffffff
shl eax, cl
mov ecx, dword [rdi + 0x6c]
add r15, rbx
add ebp, eax
mov eax, ebx
add esi, 8
shl eax, cl
sub eax, ebx
mov ecx, eax
mov eax, ebp
and rcx, rax
mov rax, qword [rdi + 0x60]
mov eax, dword [rax + rcx*4]
mov ecx, eax
shr ecx, 8
movzx ecx, cl
cmp ecx, esi
ja 0x14001b71d
test al, 0xf0
jne 0x14001b80e
mov r10d, eax
mov cl, al
mov r9d, ebx
shr r10d, 8
mov edx, eax
mov dword [rsp + 0x34], eax
movzx r8d, r10b
shr eax, 0x10
add ecx, r8d
shl r9d, cl
mov ecx, r8d
sub r9d, ebx
and r9d, ebp
shr r9d, cl
add r9d, eax
mov eax, dword [r11 + r9*4]
mov ecx, eax
shr ecx, 8
movzx r8d, cl
movzx ecx, r10b
add r8d, ecx
jmp 0x14001b800
cmp r14d, r13d
je 0x14001bad7
movzx eax, byte [r15]
movzx r9d, byte [rsp + 0x35]
mov ecx, esi
shl eax, cl
mov r8d, ebx
add r14d, 0xffffffff
add ebp, eax
mov al, dl
add r15, rbx
lea ecx, [r9 + rax]
movzx eax, word [rsp + 0x36]
add esi, 8
shl r8d, cl
mov ecx, r9d
sub r8d, ebx
and r8d, ebp
shr r8d, cl
add r8d, eax
mov rax, qword [rdi + 0x60]
mov eax, dword [rax + r8*4]
mov ecx, eax
shr ecx, 8
movzx r8d, cl
add r8d, r9d
cmp r8d, esi
ja 0x14001b7a9
movzx ecx, byte [rsp + 0x35]
shr ebp, cl
sub esi, ecx
mov ecx, eax
shr ecx, 8
movzx ecx, cl
shr ebp, cl
sub esi, ecx
test al, 0x40
jne 0x14001b1aa
mov r8d, dword [rsp + 0xa8]
mov r9d, dword [rsp + 0xa0]
mov r10, qword [rsp + 0x40]
mov ecx, eax
mov dword [rdi], 0x15
lea r11, [0x140020db0]
shr ecx, 0x10
and eax, 0xf
mov dword [rdi + 0x50], eax
mov dword [rdi + 0x4c], ecx
mov edx, dword [rdi + 0x50]
cmp edx, r13d
je 0x14001b891
cmp esi, edx
jae 0x14001b880
cmp r14d, r13d
je 0x14001bad7
movzx eax, byte [r15]
mov ecx, esi
add esi, 8
shl eax, cl
add r14d, 0xffffffff
add r15, rbx
add ebp, eax
cmp esi, dword [rdi + 0x50]
jb 0x14001b85e
mov ecx, edx
mov eax, ebx
shl eax, cl
sub eax, ebx
and eax, ebp
shr ebp, cl
add dword [rdi + 0x4c], eax
sub esi, edx
mov eax, dword [rdi + 0x30]
sub eax, r9d
add eax, r8d
cmp dword [rdi + 0x4c], eax
ja 0x14001ad14
mov dword [rdi], 0x16
cmp r9d, r13d
je 0x14001bad7
mov ecx, dword [rdi + 0x4c]
mov eax, r8d
sub eax, r9d
cmp ecx, eax
jbe 0x14001b8e2
sub ecx, eax
mov eax, dword [rdi + 0x34]
cmp ecx, eax
jbe 0x14001b8d1
mov edx, dword [rdi + 0x2c]
sub ecx, eax
sub edx, ecx
jmp 0x14001b8d5
sub eax, ecx
mov edx, eax
mov eax, dword [rdi + 0x48]
add rdx, qword [rdi + 0x38]
cmp ecx, eax
jbe 0x14001b8ed
jmp 0x14001b8eb
mov eax, dword [rdi + 0x48]
mov rdx, r10
sub rdx, rcx
mov ecx, eax
cmp ecx, r9d
cmova ecx, r9d
sub r9d, ecx
sub eax, ecx
mov dword [rdi + 0x48], eax
mov dword [rsp + 0xa0], r9d
mov al, byte [rdx]
add rdx, rbx
mov byte [r10], al
add r10, rbx
add ecx, 0xffffffff
jne 0x14001b904
cmp dword [rdi + 0x48], r13d
mov qword [rsp + 0x40], r10
lea rdx, [0x140021f48]
jne 0x14001a839
mov dword [rdi], 0x12
jmp 0x14001a832
sub ecx, 0x17
je 0x14001ba82
sub ecx, ebx
je 0x14001b96c
sub ecx, ebx
je 0x14001ba38
sub ecx, ebx
je 0x14001ba7d
sub ecx, ebx
je 0x14001bacf
cmp ecx, ebx
jne 0x14001a88e
mov eax, 0xfffffffc
jmp 0x14001a893
cmp dword [rdi + 8], r13d
je 0x14001ba32
jmp 0x14001b995
cmp r14d, r13d
je 0x14001bad7
movzx eax, byte [r15]
mov ecx, esi
add r14d, 0xffffffff
shl eax, cl
add r15, rbx
add ebp, eax
add esi, 8
cmp esi, 0x20
jb 0x14001b978
sub r8d, r9d
add dword [r12 + 0x1c], r8d
add dword [rdi + 0x1c], r8d
cmp r8d, r13d
je 0x14001b9ec
mov ecx, dword [rdi + 0x18]
mov eax, r8d
mov rdx, r10
sub rdx, rax
cmp dword [rdi + 0x10], r13d
je 0x14001b9c4
call fcn.14001a10c
jmp 0x14001b9c9
call fcn.14001d458
mov r9d, dword [rsp + 0xa0]
mov r10, qword [rsp + 0x40]
mov dword [rdi + 0x18], eax
mov dword [r12 + 0x4c], eax
lea r11, [0x140020db0]
lea rdx, [0x140021f48]
mov ecx, ebp
mov eax, ebp
mov r8d, r9d
shl eax, 0x10
and ecx, 0xff00
mov dword [rsp + 0xa8], r9d
add ecx, eax
mov eax, ebp
shr eax, 8
shl ecx, 8
and eax, 0xff00
add ecx, eax
mov eax, ebp
shr eax, 0x18
add ecx, eax
cmp dword [rdi + 0x10], r13d
cmovne ecx, ebp
cmp ecx, dword [rdi + 0x18]
jne 0x14001ad65
mov ebp, r13d
mov esi, r13d
mov dword [rdi], 0x19
cmp dword [rdi + 8], r13d
je 0x14001ba77
cmp dword [rdi + 0x10], r13d
je 0x14001ba77
jmp 0x14001ba63
cmp r14d, r13d
je 0x14001bad7
movzx eax, byte [r15]
mov ecx, esi
add r14d, 0xffffffff
shl eax, cl
add r15, rbx
add ebp, eax
add esi, 8
cmp esi, 0x20
jb 0x14001ba46
cmp ebp, dword [rdi + 0x1c]
jne 0x14001ad65
mov ebp, r13d
mov esi, r13d
mov dword [rdi], 0x1a
mov r13d, ebx
jmp 0x14001badf
cmp r9d, r13d
je 0x14001bad7
mov al, byte [rdi + 0x48]
mov byte [r10], al
add r10, rbx
add r9d, 0xffffffff
mov dword [rsp + 0xa0], r9d
mov qword [rsp + 0x40], r10
mov dword [rdi], 0x12
jmp 0x14001a839
mov qword [r12 + 0x10], r10
mov dword [r12 + 0x18], r9d
mov qword [r12], r15
mov dword [r12 + 8], r14d
mov eax, 2
mov dword [rdi + 0x40], ebp
mov dword [rdi + 0x44], esi
jmp 0x14001a893
mov r13d, 0xfffffffd
jmp 0x14001badf
mov r13d, dword [rsp + 0x90]
mov rax, qword [rsp + 0x40]
mov ebx, dword [rsp + 0xa8]
mov qword [r12], r15
mov qword [r12 + 0x10], rax
mov eax, dword [rsp + 0xa0]
mov dword [r12 + 8], r14d
mov dword [r12 + 0x18], eax
mov dword [rdi + 0x40], ebp
xor ebp, ebp
cmp dword [rdi + 0x2c], ebp
mov dword [rdi + 0x44], esi
jne 0x14001bb1e
cmp dword [rdi], 0x18
jge 0x14001bb37
cmp ebx, dword [r12 + 0x18]
je 0x14001bb37
mov edx, ebx
mov rcx, r12
call fcn.14001a6a8
cmp eax, ebp
je 0x14001bb37
mov dword [rdi], 0x1c
jmp 0x14001b962
sub ebx, dword [r12 + 0x18]
mov esi, dword [rsp + 0x38]
sub esi, dword [r12 + 8]
add dword [r12 + 0x1c], ebx
add dword [r12 + 0xc], esi
add dword [rdi + 0x1c], ebx
cmp dword [rdi + 8], ebp
je 0x14001bb84
cmp ebx, ebp
je 0x14001bb84
mov rdx, qword [r12 + 0x10]
mov ecx, dword [rdi + 0x18]
mov eax, ebx
sub rdx, rax
cmp dword [rdi + 0x10], ebp
mov r8d, ebx
je 0x14001bb77
call fcn.14001a10c
jmp 0x14001bb7c
call fcn.14001d458
mov dword [rdi + 0x18], eax
mov dword [r12 + 0x4c], eax
mov eax, dword [rdi + 4]
mov edx, 0x80
neg eax
mov eax, ebp
sbb ecx, ecx
and ecx, 0x40
cmp dword [rdi], 0xb
cmove eax, edx
add ecx, eax
add ecx, dword [rdi + 0x44]
cmp esi, ebp
mov dword [r12 + 0x48], ecx
jne 0x14001bbb9
cmp ebx, ebp
jne 0x14001bbb9
mov eax, 0xfffffffb
cmp r13d, ebp
cmove r13d, eax
mov eax, r13d
jmp 0x14001a893