Function at 0x14003c170
Capabilities:
Authenticate hmac
Encode data using base64
Encrypt data using speck
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xc8]
sub rsp, 0x1c8
mov r11d, dword [rcx]
mov r10, qword [rdx]
mov rbx, qword [r8]
mov r15, qword [rbp + 0x160]
xor esi, esi
mov r12d, 0xfffffffe
mov r14d, r11d
mov eax, r11d
mov edx, esi
shr r14d, 9
shr eax, 0xb
mov ecx, esi
and r14d, 1
and eax, 1
mov rdi, r9
mov dword [rbp + 0x78], r14d
xor r14d, 1
mov dword [rbp - 0x68], eax
mov eax, r11d
mov dword [rbp + 0x7c], r14d
xor r14d, r14d
and eax, 1
mov dword [rbp], esi
mov dword [rbp - 0x34], esi
mov dword [rbp - 0x60], r11d
mov dword [rbp + 0x44], esi
mov dword [rbp + 0x2c], esi
mov dword [rbp + 0x28], eax
mov qword [rbp - 0x70], r10
mov r9, r10
mov qword [rbp + 0x70], r10
mov qword [rbp + 0x90], r10
mov dword [rbp - 0x78], edx
mov dword [rbp + 0x40], esi
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x50], rcx
mov r13d, esi
mov qword [rbp - 0x20], rsi
mov r8d, esi
mov qword [rbp - 0x30], rsi
mov qword [rbp + 0x20], rsi
mov dword [rbp + 4], r14d
mov dword [rbp + 0x18], r14d
mov dword [rbp - 0xc], r14d
mov dword [rbp - 4], r14d
mov dword [rbp - 0x28], r12d
mov dword [rbp - 8], r12d
mov dword [rbp - 0x10], r12d
mov dword [rbp - 0x48], r12d
jmp 0x14003c270
mov rcx, qword [rbp - 0x50]
xor r14d, r14d
mov r9, qword [rbp + 0x70]
nop dword [rax + rax]
movzx esi, byte [rbx]
test esi, esi
jne 0x14003c28a
test rcx, rcx
je 0x14003c28a
mov qword [rbp - 0x80], rcx
movzx esi, byte [rcx]
mov rbx, rcx
mov qword [rbp - 0x50], r14
mov r14, qword [rbp + 0x168]
test r14, r14
je 0x14003c348
movsxd rcx, dword [r15 + 0x6c]
add rcx, 0xffffffffffffff9c
add rcx, qword [r15 + 0x20]
cmp r10, rcx
ja 0x14004047e
mov edx, dword [r14]
cmp r10, r9
mov eax, 0x7fffffeb
cmovb r10, r9
sub eax, edx
movsxd rcx, eax
mov rax, r10
mov qword [rbp - 0x70], r10
sub rax, r9
cmp rcx, rax
jl 0x140040473
mov eax, r10d
sub eax, r9d
add eax, edx
mov dword [r14], eax
test r13, r13
je 0x14003c334
mov rcx, qword [rbp + 0x90]
cmp r13, rcx
jbe 0x14003c33f
mov r8, r10
mov rdx, r13
sub r8, r13
call sub.msvcrt.dll_memmove
mov rcx, qword [rbp + 0x90]
mov r10, qword [rbp - 0x70]
mov rbx, qword [rbp - 0x80]
mov r11d, dword [rbp - 0x60]
mov r8, qword [rbp - 0x30]
mov edx, dword [rbp - 0x78]
mov rax, rcx
mov qword [rbp - 0x20], rcx
sub rax, r13
mov r13, rcx
add r10, rax
mov qword [rbp - 0x70], r10
mov qword [rbp + 0x70], r10
jmp 0x14003c35a
mov r10, qword [rbp + 0x90]
mov qword [rbp - 0x70], r10
mov edx, dword [rbp - 0x78]
mov qword [rbp + 0x70], r10
jmp 0x14003c35a
movsxd rax, dword [r15 + 0x6c]
add rax, qword [r15 + 0x20]
cmp qword [r15 + 0x40], rax
ja 0x14004080e
test esi, esi
je 0x14003c4c8
cmp esi, 0x5c
jne 0x14003c394
cmp byte [rbx + 1], 0x45
lea rax, [rbx + 1]
jne 0x14003c394
mov rcx, qword [rbp - 0x50]
mov rdi, qword [rbp + 0x128]
xor r14d, r14d
mov rbx, rax
mov edx, r14d
inc rbx
mov dword [rbp - 0x78], edx
mov qword [rbp - 0x80], rbx
jmp 0x14003c267
test edx, edx
je 0x14003c4a7
test r8, r8
je 0x14003c3d3
test r14, r14
jne 0x14003c3cc
movzx eax, byte [r8 + 3]
movzx ecx, byte [r8 + 2]
shl ecx, 8
or ecx, eax
sub ebx, ecx
sub ebx, dword [r15 + 0x30]
mov eax, ebx
mov byte [r8 + 5], bl
sar eax, 8
mov byte [r8 + 4], al
mov rbx, qword [rbp - 0x80]
xor r8d, r8d
mov qword [rbp - 0x30], r8
bt r11d, 0xe
jae case.0x14003c783.12
mov word [r10], 0xff76
mov eax, ebx
mov qword [rbp - 0x30], r10
sub eax, dword [r15 + 0x30]
sar eax, 8
mov byte [r10 + 2], al
sub bl, byte [r15 + 0x30]
mov word [r10 + 4], 0
mov byte [r10 + 3], bl
mov rbx, qword [rbp - 0x80]
add r10, 6
cmp dword [rbp - 0x68], 0
mov eax, 1
mov byte [rbp + 8], sil
mov r9d, eax
je 0x14003c44d
cmp esi, 0xc0
jb 0x14003c44d
movzx eax, byte [rbx + 1]
inc rbx
and al, 0xc0
cmp al, 0x80
jne 0x14003c44d
nop
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
mov ecx, r9d
inc r9d
inc rbx
mov byte [rbp + rcx + 8], al
movzx eax, byte [rbx]
and al, 0xc0
cmp al, 0x80
je 0x14003c430
mov r14, qword [r15 + 0x40]
mov r13, r10
mov qword [rbp - 0x20], r10
sub r14, qword [r15 + 0x20]
cmp dword [rbp - 0x68], 0
mov qword [rbp + 0x20], r14
je 0x14004037e
test r11b, 1
je 0x140040382
movzx r8d, byte [rbp + 8]
cmp r8d, 0xc0
jb 0x14004030f
test r8b, 0x20
jne 0x140040233
movzx eax, byte [rbp + 9]
and r8d, 0x1f
and eax, 0x3f
shl r8d, 6
or r8d, eax
jmp 0x14004030f
cmp esi, 0x5c
jne 0x14003c4c8
cmp byte [rbx + 1], 0x51
lea rax, [rbx + 1]
jne 0x14003c4c8
mov ecx, 1
mov rbx, rax
mov edx, ecx
mov dword [rbp - 0x78], ecx
jmp 0x140040459
mov r14d, r11d
and r14d, 8
je 0x14003c58b
mov rcx, qword [r15 + 0x18]
mov rdi, rbx
mov eax, esi
test byte [rsi + rcx], 1
je 0x14003c502
nop dword [rax]
nop dword [rax + rax]
inc rbx
mov qword [rbp - 0x80], rbx
movzx esi, byte [rbx]
mov eax, esi
test byte [rsi + rcx], 1
jne 0x14003c4f0
cmp esi, 0x23
jne 0x14003c56c
inc rbx
mov qword [rbp - 0x80], rbx
movzx r8d, byte [rbx]
test r8b, r8b
je 0x14003c56c
nop word [rax + rax]
mov edx, dword [r15 + 0xb4]
test edx, edx
je 0x14003c5d8
mov r8, qword [r15 + 0x38]
cmp rbx, r8
jae 0x14003c611
mov eax, dword [rbp - 0x68]
lea r9, [r15 + 0xb8]
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.140056450
mov rbx, qword [rbp - 0x80]
test eax, eax
je 0x14003c611
movsxd rax, dword [r15 + 0xb8]
add rbx, rax
mov qword [rbp - 0x80], rbx
mov r10, qword [rbp - 0x70]
mov r11d, dword [rbp - 0x60]
mov edx, dword [rbp - 0x78]
mov r8, qword [rbp - 0x30]
cmp rbx, rdi
mov rdi, qword [rbp + 0x128]
ja 0x14003c260
cmp esi, 0x28
jne 0x14003c660
cmp byte [rbx + 1], 0x3f
jne 0x14003c785
cmp byte [rbx + 2], 0x23
jne 0x14003c785
add rbx, 3
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
test al, al
je 0x14003c5cd
cmp al, 0x29
je 0x14003c652
inc rbx
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
test al, al
jne 0x14003c5b7
mov dword [rdi], reloc.WS2_32.dll_select
jmp 0x140040815
movsxd rdx, dword [r15 + 0xb8]
mov rcx, qword [r15 + 0x38]
sub rcx, rdx
mov rax, rdx
cmp rbx, rcx
ja 0x14003c611
cmp r8b, byte [r15 + 0xbc]
jne 0x14003c611
cmp edx, 1
je 0x14003c55e
movzx eax, byte [r15 + 0xbd]
cmp byte [rbx + 1], al
je 0x14003c55e
inc rbx
cmp dword [rbp - 0x68], 0
mov qword [rbp - 0x80], rbx
je 0x14003c640
movzx eax, byte [rbx]
and al, 0xc0
cmp al, 0x80
jne 0x14003c640
nop word [rax + rax]
inc rbx
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
and al, 0xc0
cmp al, 0x80
je 0x14003c630
movzx r8d, byte [rbx]
test r8b, r8b
jne 0x14003c520
jmp 0x14003c56c
cmp byte [rbx], 0
je 0x14003c5cd
jmp 0x140040452
lea eax, [rsi - 0x2a]
cmp eax, 1
jbe 0x14003c703
cmp esi, 0x3f
je 0x14003c703
cmp esi, 0x7b
jne 0x14003c785
movzx eax, byte [rbx + 1]
lea rcx, [rbx + 1]
sub al, 0x30
cmp al, 9
ja 0x14003c785
movzx eax, byte [rcx + 1]
inc rcx
cmp al, 0x30
jb 0x14003c6af
nop dword [rax + rax]
cmp al, 0x39
ja 0x14003c6af
movzx eax, byte [rcx + 1]
inc rcx
cmp al, 0x30
jae 0x14003c6a0
movzx eax, byte [rcx]
cmp al, 0x7d
je 0x14003c703
cmp al, 0x2c
jne 0x14003c785
movzx eax, byte [rcx + 1]
cmp al, 0x7d
je 0x14003c703
sub al, 0x30
cmp al, 9
ja 0x14003c785
movzx eax, byte [rcx + 2]
add rcx, 2
cmp al, 0x30
jb 0x14003c6ef
nop dword [rax]
cmp al, 0x39
ja 0x14003c6ef
movzx eax, byte [rcx + 1]
inc rcx
cmp al, 0x30
jae 0x14003c6e0
xor r8d, r8d
cmp byte [rcx], 0x7d
mov eax, r8d
sete al
test eax, eax
je 0x14003c788
mov rax, qword [rbp - 0x50]
mov r8, qword [rbp - 0x30]
mov edx, 1
mov r9, qword [rbp + 0x168]
bt r11d, 0xe
jae 0x14003c75a
test edx, edx
jne 0x14003c75a
test rax, rax
jne 0x14003c75a
mov word [r10], 0xff76
mov eax, ebx
mov r8, r10
sub eax, dword [r15 + 0x30]
mov qword [rbp - 0x30], r10
sar eax, 8
mov byte [r10 + 2], al
sub bl, byte [r15 + 0x30]
mov word [r10 + 4], dx
mov byte [r10 + 3], bl
mov rbx, qword [rbp - 0x80]
add r10, 6
mov qword [rbp - 0x70], r10
cmp esi, 0x7c
ja case.0x14003c783.12
lea rcx, [0x140000000]
movzx eax, byte [rcx + rsi + 0x4086c]
mov ecx, dword [rcx + rax*4 + 0x40838]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
xor r8d, r8d
mov rax, qword [rbp - 0x50]
mov edx, r8d
mov r8, qword [rbp - 0x30]
test r8, r8
je 0x14003c710
mov r9, qword [rbp + 0x168]
test rax, rax
jne 0x14003c717
mov ecx, dword [rbp + 0x44]
mov eax, ecx
dec ecx
mov dword [rbp + 0x44], ecx
test eax, eax
jg 0x14003c7ee
test r9, r9
jne 0x14003c7e5
movzx eax, byte [r8 + 3]
movzx ecx, byte [r8 + 2]
shl ecx, 8
or ecx, eax
sub ebx, ecx
sub ebx, dword [r15 + 0x30]
mov eax, ebx
mov byte [r8 + 5], bl
sar eax, 8
mov byte [r8 + 4], al
mov rbx, qword [rbp - 0x80]
xor eax, eax
mov r8d, eax
mov qword [rbp - 0x30], rax
mov rax, qword [rbp - 0x50]
jmp 0x14003c717
xor r14d, r14d
mov r13d, r14d
mov qword [rbp - 0x20], r14
test r11b, 2
je 0x14003c83f
cmp dword [rbp - 0x48], 0xfffffffe
jne 0x14003c816
or eax, 0xffffffff
mov dword [rbp - 0x48], eax
mov dword [rbp - 8], eax
mov edx, dword [rbp - 0x78]
mov rcx, qword [rbp - 0x50]
mov rdi, qword [rbp + 0x128]
mov byte [r10], 0x1c
mov rbx, qword [rbp - 0x80]
inc r10
inc rbx
mov qword [rbp - 0x70], r10
mov qword [rbp - 0x80], rbx
jmp 0x14003c267
mov edx, dword [rbp - 0x78]
mov rcx, qword [rbp - 0x50]
mov rdi, qword [rbp + 0x128]
mov byte [r10], 0x1b
mov rbx, qword [rbp - 0x80]
inc r10
inc rbx
mov qword [rbp - 0x70], r10
mov qword [rbp - 0x80], rbx
jmp 0x14003c267
mov edx, dword [rbp - 0x78]
mov rcx, qword [rbp - 0x50]
mov rdi, qword [rbp + 0x128]
xor r14d, r14d
test r11b, 2
setne al
inc r10
mov r13d, r14d
add al, 0x19
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x70], r10
mov byte [r10 - 1], al
mov rbx, qword [rbp - 0x80]
inc rbx
mov qword [rbp - 0x80], rbx
jmp 0x14003c267
mov esi, dword [rbp - 0x48]
mov r14, qword [r15 + 0x40]
mov r9d, dword [rbp - 0xc]
mov r12d, dword [rbp - 0x10]
cmp esi, 0xfffffffe
mov eax, 0xffffffff
cmove esi, eax
sub r14, qword [r15 + 0x20]
mov eax, dword [rbp - 4]
mov dword [rbp + 0x18], eax
mov eax, r11d
mov r13, r10
shr eax, 2
mov qword [rbp - 0x20], r10
mov dword [rbp - 0x48], esi
and al, 1
mov dword [rbp - 8], esi
mov dword [rbp + 4], r9d
or al, 0xc
inc r10
mov dword [rbp - 0x28], r12d
mov byte [r10 - 1], al
mov rbx, qword [rbp - 0x80]
mov qword [rbp - 0x70], r10
mov qword [rbp + 0x20], r14
jmp 0x140040456
test dword [r15 + 0x90], 0x2000000
je case.0x14003c783.12
mov dword [rdi], IsNetDrive
jmp 0x140040815
lea rcx, [rbx + 1]
lea rdx, [0x1400d3a80]
mov r8d, 6
call sub.msvcrt.dll_strncmp
mov rcx, qword [rbp - 0x80]
test eax, eax
jne 0x14003c942
lea rbx, str._b__w_
jmp 0x14003c966
lea rdx, str._:_:__
inc rcx
mov r8d, 6
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x14003c986
mov rcx, qword [rbp - 0x80]
lea rbx, str._b___w_
mov r10, qword [rbp - 0x70]
mov r11d, dword [rbp - 0x60]
mov edx, dword [rbp - 0x78]
mov r8, qword [rbp - 0x30]
add rcx, 7
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x50], rcx
jmp 0x14003c264
mov rbx, qword [rbp - 0x80]
mov rsi, qword [r15 + 0x40]
mov r13, qword [rbp - 0x70]
sub rsi, qword [r15 + 0x20]
movzx eax, byte [rbx + 1]
lea rcx, [rbx + 1]
mov qword [rbp - 0x20], r13
mov qword [rbp + 0x20], rsi
cmp al, 0x3d
ja 0x14003ca0e
movzx eax, al
movabs rdx, 0x2400400000000000
bt rdx, rax
jae 0x14003ca0e
movzx r9d, byte [rcx]
movzx edx, byte [rcx + 1]
inc rcx
test dl, dl
je 0x14003ca0e
nop dword [rax]
cmp dl, 0x5c
jne 0x14003c9e4
movzx eax, byte [rcx + 1]
sub al, dl
cmp al, 1
ja 0x14003c9e4
inc rcx
jmp 0x14003ca03
cmp dl, 0x5b
jne 0x14003c9ef
cmp byte [rcx + 1], r9b
je 0x14003ca0e
cmp dl, 0x5d
je 0x14003ca0e
cmp dl, r9b
jne 0x14003ca03
cmp byte [rcx + 1], 0x5d
je 0x14004049d
movzx edx, byte [rcx + 1]
inc rcx
test dl, dl
jne 0x14003c9d0
xor esi, esi
mov r14d, esi
mov dword [rbp - 0x38], esi
mov r9d, 1
nop dword [rax]
inc rbx
mov qword [rbp - 0x80], rbx
movzx edi, byte [rbx]
cmp edi, 0x5c
jne 0x14003ca58
inc rbx
cmp byte [rbx], 0x45
je 0x14003ca20
lea r8d, [rdi - 0x59]
lea rdx, [0x1400d3a90]
mov rcx, rbx
call sub.msvcrt.dll_strncmp
mov rbx, qword [rbp - 0x80]
test eax, eax
jne 0x14003cac3
add rbx, 3
jmp 0x14003ca16
test r14d, r14d
jne 0x14003ca6b
cmp edi, 0x5e
jne 0x14003ca6b
mov r14d, r9d
mov dword [rbp - 0x38], r9d
jmp 0x14003ca20
cmp edi, 0x5d
jne 0x14003cac3
test dword [r15 + 0x90], 0x2000000
je 0x14003cac3
mov r10, qword [rbp - 0x70]
mov esi, dword [rbp - 0x48]
mov r13, qword [rbp - 0x20]
mov r11d, dword [rbp - 0x60]
test r14d, r14d
mov eax, 0x9d
mov ecx, recvfrom
cmovne eax, ecx
inc r10
cmp esi, 0xfffffffe
mov byte [r10 - 1], al
mov eax, 0xffffffff
mov qword [rbp - 0x70], r10
cmove esi, eax
mov eax, dword [rbp - 4]
mov dword [rbp + 0x18], eax
mov dword [rbp - 0x48], esi
mov dword [rbp - 8], esi
jmp 0x14004044e
lea rax, [r13 + 4]
mov dword [rbp - 0x58], esi
mov r8d, esi
mov qword [rbp - 0x40], rax
mov r10, rax
mov qword [rbp - 0x18], rax
xor eax, eax
mov r15d, esi
mov r12d, esi
mov qword [rbp + 0x48], rax
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x58], rax
mov qword [rbp + 0x60], rax
mov r13d, esi
test edi, edi
je 0x140040510
mov r11d, dword [rbp - 0x68]
mov r9, qword [rbp - 0x50]
test r11d, r11d
je 0x14003cbeb
cmp edi, 0xc0
jb 0x14003cbeb
movzx edi, byte [rbx]
cmp edi, 0xc0
jb 0x14003cbeb
test dil, 0x20
jne 0x14003cb48
movzx ecx, byte [rbx + 1]
inc rbx
and edi, 0x1f
mov eax, edi
and ecx, 0x3f
mov qword [rbp - 0x80], rbx
shl eax, 6
jmp 0x14003cbe7
movzx ecx, byte [rbx + 1]
and ecx, 0x3f
shl ecx, 6
test dil, 0x10
jne 0x14003cb77
and edi, 0xf
lea rdx, [rbx + 2]
mov eax, edi
shl eax, 0xc
mov edi, ecx
mov rbx, rdx
or edi, eax
movzx eax, byte [rdx]
mov qword [rbp - 0x80], rdx
and eax, 0x3f
jmp 0x14003cbe9
movzx eax, byte [rbx + 2]
and eax, 0x3f
or ecx, eax
shl ecx, 6
test dil, 8
jne 0x14003cb97
and edi, 7
lea rdx, [rbx + 3]
mov eax, edi
shl eax, 0x12
jmp 0x14003cb64
movzx eax, byte [rbx + 3]
and eax, 0x3f
or ecx, eax
shl ecx, 6
test dil, 4
jne 0x14003cbc0
movzx eax, byte [rbx + 4]
and edi, 3
lea rdx, [rbx + 4]
and eax, 0x3f
or ecx, eax
mov eax, edi
shl eax, 0x18
jmp 0x14003cbe0
movzx eax, byte [rbx + 4]
and edi, 1
lea rdx, [rbx + 5]
and eax, 0x3f
or ecx, eax
movzx eax, byte [rdx]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, edi
shl eax, 0x1e
mov qword [rbp - 0x80], rdx
mov rbx, rdx
mov edi, ecx
or edi, eax
mov rax, qword [rbp - 0x40]
mov r14, qword [rbp + 0x168]
mov ecx, 1
cmp rax, r10
cmova r8d, ecx
mov dword [rbp - 0x64], r8d
test r14, r14
je 0x14003cc1a
cmp rax, r10
jbe 0x14003cc1a
sub eax, r10d
mov qword [rbp - 0x40], r10
add dword [r14], eax
mov edx, dword [rbp - 0x78]
test edx, edx
je 0x14003cc45
cmp edi, 0x5c
jne 0x14003d330
cmp byte [rbx + 1], 0x45
lea rax, [rbx + 1]
jne 0x14003d330
mov edx, esi
mov rbx, rax
mov dword [rbp - 0x78], edx
jmp 0x14003d67c
cmp edi, 0x5b
jne 0x14003cf4e
movzx r9d, byte [rbx + 1]
lea rsi, [rbx + 1]
movabs r10, 0x2400400000000000
cmp r9b, 0x3d
ja 0x14003d33a
movzx eax, r9b
bt r10, rax
jae 0x14003d33a
movzx ecx, byte [rsi + 1]
inc rsi
movzx r8d, r9b
test cl, cl
je 0x14003d33a
nop dword [rax]
cmp cl, 0x5c
jne 0x14003cca4
movzx eax, byte [rsi + 1]
sub al, cl
cmp al, 1
ja 0x14003cca4
inc rsi
jmp 0x14003ccbf
cmp cl, 0x5b
jne 0x14003ccaf
cmp byte [rsi + 1], r8b
je 0x14003ccca
cmp cl, 0x5d
je 0x14003ccca
cmp cl, r8b
jne 0x14003ccbf
cmp byte [rsi + 1], 0x5d
je 0x14003cccf
movzx ecx, byte [rsi + 1]
inc rsi
test cl, cl
jne 0x14003cc90
jmp 0x14003d33a
xor eax, eax
mov r14d, eax
mov rax, qword [rbp + 0x160]
mov rdi, qword [rax + 0x10]
cmp r9b, 0x3a
jne 0x1400404c9
add rbx, 2
mov qword [rbp - 0x80], rbx
cmp byte [rbx], 0x5e
jne 0x14003cd08
mov eax, 1
inc rbx
mov r14d, eax
mov dword [rbp - 0x58], eax
mov qword [rbp - 0x80], rbx
mov edx, esi
mov rcx, rbx
sub edx, ebx
call fcn.14003b380
mov ebx, eax
test eax, eax
js 0x1400404b3
mov eax, dword [rbp - 0x60]
test al, 1
je 0x14003cd32
cmp ebx, 2
mov r8d, 0
cmovle ebx, r8d
bt eax, 0x1d
jae 0x14003cdd5
mov eax, r14d
neg eax
sbb ecx, ecx
and ecx, 0xe
lea eax, [rbx + rcx]
lea rcx, [0x140000000]
cdqe
mov rcx, qword [rcx + rax*8 + 0x265050]
test rcx, rcx
je 0x14003cd70
lea r9, [rsi + 1]
lea rbx, [rcx - 1]
mov qword [rbp - 0x50], r9
jmp 0x14003d65f
mov ecx, ebx
sub ecx, 8
je 0x14003ce5e
dec ecx
je 0x14003ce57
dec ecx
je 0x14003ce50
test r14d, r14d
je 0x14003cdd5
cmp dword [rbp - 0x64], 0
jne 0x14003cd9c
cmp byte [rsi + 2], 0x5d
je 0x14003cdd5
mov rax, qword [rbp - 0x40]
mov ecx, 0x100
mov byte [rax], 2
mov rdx, qword [rbp - 0x40]
inc rdx
mov qword [rbp - 0x40], rdx
call fcn.140055d90
mov rdx, qword [rbp - 0x40]
mov eax, eax
mov ecx, 0x10ffff
add rdx, rax
mov qword [rbp - 0x40], rdx
call fcn.140055d90
mov eax, eax
add qword [rbp - 0x40], rax
lea eax, [rbx + rbx*2]
lea rbx, [0x140000000]
xor r11d, r11d
movsxd rcx, eax
movsxd rax, dword [rbx + rcx*4 + 0xd27c0]
mov r9d, dword [rbx + rcx*4 + 0xd27c4]
mov r10d, dword [rbx + rcx*4 + 0xd27c8]
movups xmm0, xmmword [rax + rdi]
movups xmm1, xmmword [rax + rdi + 0x10]
movups xmmword [rbp + 0xa0], xmm0
movups xmmword [rbp + 0xb0], xmm1
test r9d, r9d
js 0x14003cecd
mov r8d, r11d
test r10d, r10d
js 0x14003ceb0
nop dword [rax]
lea eax, [r9 + r8]
mov edx, r8d
inc r8d
movzx eax, byte [rax + rdi]
or byte [rbp + rdx + 0xa0], al
cmp r8d, 0x20
jb 0x14003ce30
jmp 0x14003cecd
mov edx, recvfrom
jmp 0x14003ce63
mov edx, recv
jmp 0x14003ce63
mov edx, reloc.WS2_32.dll_inet_addr
mov rax, qword [rbp - 0x40]
mov r9, qword [rbp - 0x50]
test r14d, r14d
setne cl
lea rbx, [rsi + 1]
add cl, 3
mov byte [rax], cl
mov rax, qword [rbp - 0x40]
mov ecx, 1
inc rax
mov r13d, ecx
mov qword [rbp - 0x40], rax
mov byte [rax], dl
mov rax, qword [rbp - 0x40]
inc rax
mov qword [rbp - 0x40], rax
mov byte [rax], 0
inc qword [rbp - 0x40]
jmp 0x14003d664
lea eax, [r9 + r8]
mov edx, r8d
inc r8d
movzx eax, byte [rax + rdi]
not al
and byte [rbp + rdx + 0xa0], al
cmp r8d, 0x20
jb 0x14003ceb0
test r10d, r10d
jns 0x14003ced5
neg r10d
cmp r10d, 1
jne 0x14003cee4
and byte [rbp + 0xa1], 0xc3
jmp 0x14003cef1
cmp r10d, 2
jne 0x14003cef1
and byte [rbp + 0xab], 0x7f
mov rcx, r11
mov edx, 0x20
test r14d, r14d
je 0x14003cf20
nop
movzx eax, byte [rbp + rcx + 0xa0]
lea rcx, [rcx + 1]
not al
or byte [rbp + rcx + 0x47], al
dec rdx
jne 0x14003cf00
jmp 0x14003cf35
movzx eax, byte [rbp + rcx + 0xa0]
lea rcx, [rcx + 1]
or byte [rbp + rcx + 0x47], al
dec rdx
jne 0x14003cf20
mov r9, qword [rbp - 0x50]
mov ecx, 1
lea rbx, [rsi + 1]
lea r12d, [rcx + 1]
mov r15d, ecx
jmp 0x14003d664
cmp edi, 0x5c
jne 0x14003d330
mov rsi, qword [rbp + 0x160]
mov r14, qword [rbp + 0x128]
mov edi, dword [rbp - 0x60]
mov r9d, dword [rsi + 0x70]
mov dword [rsp + 0x28], ecx
lea rdx, [rbp + 0x6c]
lea rcx, [rbp - 0x80]
mov r8, r14
mov dword [rsp + 0x20], edi
call fcn.14003aad0
cmp dword [r14], 0
movsxd rbx, eax
jne 0x1400404c0
test eax, eax
jne 0x14003cf9a
mov edi, dword [rbp + 0x6c]
jmp 0x14003cfa2
cmp ebx, 5
jne 0x14003cfbc
lea edi, [rbx + 3]
mov rbx, qword [rbp - 0x80]
mov r11d, dword [rbp - 0x68]
mov edx, dword [rbp - 0x78]
movabs r10, 0x2400400000000000
jmp 0x14003d348
cmp ebx, 0xc
je 0x1400404e8
cmp ebx, 0x1a
jne 0x14003cff6
mov rbx, qword [rbp - 0x80]
cmp byte [rbx + 1], 0x5c
jne 0x14003cfe3
cmp byte [rbx + 2], 0x45
jne 0x14003cfe3
add rbx, 2
jmp 0x14003d65b
mov r9, qword [rbp - 0x50]
mov ecx, 1
mov edx, ecx
mov dword [rbp - 0x78], ecx
jmp 0x14003d667
cmp ebx, 0x19
je 0x14003d657
mov rdx, qword [rsi + 0x10]
lea eax, [rbx - 6]
inc r15d
add r12d, 2
cmp eax, 0x1c
ja case.0x14003d02a.12
lea r8, [0x140000000]
cdqe
mov ecx, dword [r8 + rax*4 + 0x408ec]
add rcx, r8
jmp rcx
mov rbx, qword [r8 + rbx*8 + 0x264f38]
mov r9, qword [rbp - 0x80]
dec rbx
dec r15d
mov qword [rbp - 0x50], r9
jmp 0x14003d65f
lea rax, [rbp + 0x48]
lea rcx, [rbp + 0x48]
mov r8d, 0x20
sub rdx, rax
nop dword [rax + rax]
movzx eax, byte [rdx + rcx + 0x40]
lea rcx, [rcx + 1]
or byte [rcx - 1], al
dec r8
jne 0x14003d060
jmp 0x14003d657
lea rax, [rbp + 0x48]
mov dword [rbp - 0x58], 1
lea rcx, [rbp + 0x48]
sub rdx, rax
mov r8d, 0x20
nop
movzx eax, byte [rcx + rdx + 0x40]
lea rcx, [rcx + 1]
not al
or byte [rcx - 1], al
dec r8
jne 0x14003d090
jmp 0x14003d657
lea rax, [rbp + 0x48]
lea rcx, [rbp + 0x48]
mov r8d, 0x20
sub rdx, rax
nop dword [rax]
movzx eax, byte [rdx + rcx + 0xa0]
lea rcx, [rcx + 1]
or byte [rcx - 1], al
dec r8
jne 0x14003d0c0
jmp 0x14003d657
lea rax, [rbp + 0x48]
mov dword [rbp - 0x58], 1
lea rcx, [rbp + 0x48]
sub rdx, rax
mov r8d, 0x20
movzx eax, byte [rcx + rdx + 0xa0]
lea rcx, [rcx + 1]
not al
or byte [rcx - 1], al
dec r8
jne 0x14003d0f1
jmp 0x14003d657
lea rax, [rbp + 0x48]
lea rcx, [rbp + 0x48]
mov r8d, 0x20
sub rdx, rax
nop dword [rax]
movzx eax, byte [rcx + rdx]
lea rcx, [rcx + 1]
or byte [rcx - 1], al
dec r8
jne 0x14003d120
jmp 0x14003d657
lea rax, [rbp + 0x48]
mov dword [rbp - 0x58], 1
lea rcx, [rbp + 0x48]
sub rdx, rax
mov r8d, 0x20
nop dword [rax]
movzx eax, byte [rcx + rdx]
lea rcx, [rcx + 1]
not al
or byte [rcx - 1], al
dec r8
jne 0x14003d150
jmp 0x14003d657
cmp dword [reloc.WS2_32.dll_htons], 0xffffffff
lea rdi, [0x1400d45d0]
jae 0x14003d657
mov r14d, dword [rbp - 0x60]
xor eax, eax
mov edx, dword [rdi]
mov rbx, rax
cmp edx, 0xffffffff
je 0x14003d1cd
lea rcx, [rdi + 4]
lea eax, [rdx + 1]
cmp dword [rcx], eax
jne 0x14003d1ad
nop word [rax + rax]
lea rcx, [rcx + 4]
inc eax
inc rbx
cmp dword [rcx], eax
je 0x14003d1a0
mov eax, dword [rdi + rbx*4]
lea rcx, [rbp + 0x48]
mov r9, rsi
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], edx
lea rdx, [rbp - 0x40]
mov r8d, r14d
call fcn.140039fa0
xor eax, eax
lea rdi, [rdi + rbx*4]
add rdi, 4
cmp dword [rdi], 0xffffffff
jb 0x14003d181
jmp 0x14003d657
lea rax, [0x1400d45d0]
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x48]
mov r9, rsi
mov r8d, edi
mov qword [rsp + 0x20], rax
call fcn.140039eb0
jmp 0x14003d657
cmp dword [reloc.WS2_32.dll_ioctlsocket], 0xffffffff
lea rdi, [0x1400d4620]
jae 0x14003d657
mov r14d, dword [rbp - 0x60]
xor eax, eax
nop dword [rax]
mov edx, dword [rdi]
mov rbx, rax
cmp edx, 0xffffffff
je 0x14003d26d
lea rcx, [rdi + 4]
lea eax, [rdx + 1]
cmp dword [rcx], eax
jne 0x14003d24d
nop word [rax + rax]
lea rcx, [rcx + 4]
inc eax
inc rbx
cmp dword [rcx], eax
je 0x14003d240
mov eax, dword [rdi + rbx*4]
lea rcx, [rbp + 0x48]
mov r9, rsi
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], edx
lea rdx, [rbp - 0x40]
mov r8d, r14d
call fcn.140039fa0
xor eax, eax
lea rdi, [rdi + rbx*4]
add rdi, 4
cmp dword [rdi], 0xffffffff
jb 0x14003d220
jmp 0x14003d657
lea rax, [0x1400d4620]
jmp 0x14003d1e6
xor esi, esi
lea r9, [rbp - 0x5c]
lea r8, [rbp + 4]
lea rdx, [rbp + 0x98]
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x20], r14
mov dword [rbp + 4], esi
mov dword [rbp - 0x5c], esi
call fcn.1400429a0
test eax, eax
je 0x1400404c0
mov edx, dword [rbp - 0x78]
mov r9, qword [rbp - 0x50]
cmp ebx, 0x10
mov eax, esi
sete al
cmp eax, dword [rbp + 0x98]
mov rax, qword [rbp - 0x40]
sete cl
add cl, 3
mov byte [rax], cl
mov rcx, qword [rbp - 0x40]
movzx eax, byte [rbp + 4]
inc rcx
mov qword [rbp - 0x40], rcx
mov byte [rcx], al
mov rcx, qword [rbp - 0x40]
movzx eax, byte [rbp - 0x5c]
inc rcx
mov qword [rbp - 0x40], rcx
mov byte [rcx], al
inc qword [rbp - 0x40]
mov rbx, qword [rbp - 0x80]
mov ecx, 1
dec r15d
mov r13d, ecx
jmp 0x14003d669
mov rbx, qword [rbp - 0x80]
test dil, 0x40
jne 0x1400404dc
movzx edi, byte [rbx]
dec r15d
sub r12d, 2
jmp 0x14003cfa6
movabs r10, 0x2400400000000000
mov rsi, qword [rbp + 0x160]
mov r14, qword [rbp + 0x128]
cmp byte [rbx + 1], 0x5c
jne 0x14003d36e
xor r8d, r8d
cmp byte [rbx + 2], 0x45
lea rax, [rbx + 2]
jne 0x14003d36b
mov qword [rbp - 0x80], rax
cmp byte [rax + 1], 0x5c
mov edx, r8d
mov rbx, rax
je 0x14003d351
mov dword [rbp - 0x78], edx
mov rcx, rbx
cmp edi, 0xd
je 0x14003d37b
cmp edi, 0xa
jne 0x14003d385
or dword [rsi + 0x94], 0x800
test edx, edx
jne 0x14003d616
cmp byte [rbx + 1], 0x2d
jne 0x14003d616
add rbx, 2
mov qword [rbp - 0x80], rbx
cmp byte [rbx], 0x5c
jne 0x14003d3b7
cmp byte [rbx + 1], 0x45
jne 0x14003d413
add rbx, 2
mov qword [rbp - 0x80], rbx
cmp byte [rbx], 0x5c
je 0x14003d3a4
mov r8d, 1
movzx eax, byte [rbx]
test al, al
je 0x14003d60f
test edx, edx
jne 0x14003d3d4
cmp al, 0x5d
je 0x14003d60f
movzx r9d, al
mov dword [rbp - 0x5c], r9d
test r11d, r11d
je 0x14003d515
cmp r9d, 0xc0
jb 0x14003d515
test r9b, 0x20
jne 0x14003d454
movzx eax, byte [rbx + 1]
inc rbx
and r9d, 0x1f
shl r9d, 6
and eax, 0x3f
mov qword [rbp - 0x80], rbx
jmp 0x14003d50e
cmp byte [rbx], 0x5c
jne 0x14003d3b7
cmp byte [rbx + 1], 0x51
jne 0x14003d3b7
add rbx, 2
mov qword [rbp - 0x80], rbx
cmp byte [rbx], 0x5c
jne 0x14003d443
cmp byte [rbx + 1], 0x45
jne 0x14003d443
add rbx, 2
mov qword [rbp - 0x80], rbx
cmp byte [rbx], 0x5c
je 0x14003d418
jmp 0x14003d3b7
mov r8d, 1
mov edx, r8d
mov dword [rbp - 0x78], edx
jmp 0x14003d3bd
movzx ecx, byte [rbx + 1]
and ecx, 0x3f
shl ecx, 6
test r9b, 0x10
jne 0x14003d483
and r9d, 0xf
lea rdx, [rbx + 2]
mov eax, r9d
mov r9d, ecx
shl eax, 0xc
or r9d, eax
movzx eax, byte [rdx]
and eax, 0x3f
jmp 0x14003d504
movzx eax, byte [rbx + 2]
and eax, 0x3f
or ecx, eax
shl ecx, 6
test r9b, 8
jne 0x14003d4b1
and r9d, 7
lea rdx, [rbx + 3]
mov eax, r9d
mov r9d, ecx
shl eax, 0x12
or r9d, eax
movzx eax, byte [rdx]
and eax, 0x3f
jmp 0x14003d504
movzx eax, byte [rbx + 3]
and eax, 0x3f
or ecx, eax
shl ecx, 6
test r9b, 4
jne 0x14003d4df
and r9d, 3
lea rdx, [rbx + 4]
mov eax, r9d
mov r9d, ecx
shl eax, 0x18
or r9d, eax
movzx eax, byte [rdx]
and eax, 0x3f
jmp 0x14003d504
movzx eax, byte [rbx + 4]
and r9d, 1
lea rdx, [rbx + 5]
and eax, 0x3f
or ecx, eax
movzx eax, byte [rdx]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, r9d
shl eax, 0x1e
mov r9d, ecx
mov rbx, rdx
mov qword [rbp - 0x80], rdx
mov edx, dword [rbp - 0x78]
or r9d, eax
mov dword [rbp - 0x5c], r9d
test edx, edx
jne 0x14003d5e1
cmp r9d, 0x5c
jne 0x14003d572
mov eax, dword [rbp - 0x60]
mov r9d, dword [rsi + 0x70]
mov dword [rsp + 0x28], r8d
lea rdx, [rbp - 0x5c]
lea rcx, [rbp - 0x80]
mov r8, r14
mov dword [rsp + 0x20], eax
call fcn.14003aad0
cmp dword [r14], 0
jne 0x1400404c0
mov rbx, qword [rbp - 0x80]
test eax, eax
je 0x14003d568
cmp eax, 5
jne 0x1400404f8
mov r11d, dword [rbp - 0x68]
lea r9d, [rax + 3]
jmp 0x14003d5de
mov r9d, dword [rbp - 0x5c]
mov r11d, dword [rbp - 0x68]
jmp 0x14003d5de
cmp r9d, 0x5b
jne 0x14003d5e1
movzx eax, byte [rbx + 1]
lea rcx, [rbx + 1]
cmp al, 0x3d
ja 0x14003d5e1
movzx eax, al
bt r10, rax
jae 0x14003d5e1
movzx r10d, byte [rcx]
movzx edx, byte [rcx + 1]
inc rcx
test dl, dl
je 0x14003d5de
nop dword [rax]
cmp dl, 0x5c
jne 0x14003d5b4
movzx eax, byte [rcx + 1]
sub al, dl
cmp al, 1
ja 0x14003d5b4
inc rcx
jmp 0x14003d5d3
cmp dl, 0x5b
jne 0x14003d5bf
cmp byte [rcx + 1], r10b
je 0x14003d5de
cmp dl, 0x5d
je 0x14003d5de
cmp dl, r10b
jne 0x14003d5d3
cmp byte [rcx + 1], 0x5d
je 0x1400404f8
movzx edx, byte [rcx + 1]
inc rcx
test dl, dl
jne 0x14003d5a0
mov edx, dword [rbp - 0x78]
cmp r9d, edi
jb 0x140040504
je 0x14003d616
mov r12d, 2
cmp r9d, 0xd
je 0x14003d5fe
cmp r9d, 0xa
jne 0x14003d608
or dword [rsi + 0x94], 0x800
mov dword [rsp + 0x28], r9d
jmp 0x14003d63c
mov rbx, rcx
mov qword [rbp - 0x80], rcx
cmp r12d, 2
jge 0x14003d61f
inc r12d
test edx, edx
jne 0x14003d638
test r13d, r13d
jne 0x14003d638
cmp r12d, 1
jne 0x14003d638
cmp byte [rbx + 1], 0x5d
je 0x14003d7e7
mov dword [rsp + 0x28], edi
mov r8d, dword [rbp - 0x60]
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x48]
mov r9, rsi
mov dword [rsp + 0x20], edi
call fcn.140039fa0
add r15d, eax
mov rbx, qword [rbp - 0x80]
mov r9, qword [rbp - 0x50]
mov ecx, 1
mov edx, dword [rbp - 0x78]
xor esi, esi
mov r14, qword [rbp + 0x168]
mov r11d, dword [rbp - 0x68]
mov r10, qword [rbp - 0x18]
mov r8d, dword [rbp - 0x64]
inc rbx
mov qword [rbp - 0x80], rbx
movzx edi, byte [rbx]
test edi, edi
jne 0x14003d6ad
test r9, r9
je 0x140040510
lea rbx, [r9 + 1]
mov qword [rbp - 0x50], rsi
mov r9, rsi
mov qword [rbp - 0x80], rbx
movzx edi, byte [rbx]
test edi, edi
je 0x140040510
cmp edi, 0x5d
jne 0x14003cb03
test edx, edx
jne 0x14003cb03
cmp qword [rbp - 0x40], r10
mov esi, dword [rbp - 0x48]
mov r12d, dword [rbp - 0x10]
mov r9d, dword [rbp - 0x58]
mov r11d, dword [rbp - 0x60]
cmova r8d, ecx
cmp esi, 0xfffffffe
mov eax, 0xffffffff
mov dword [rbp - 0x28], r12d
cmove esi, eax
mov eax, dword [rbp - 4]
mov dword [rbp + 0x18], eax
mov eax, dword [rbp - 0xc]
mov dword [rbp - 0x48], esi
mov dword [rbp - 8], esi
mov dword [rbp + 4], eax
test r8d, r8d
je 0x14003d997
test r13d, r13d
jne 0x14003d714
test r9d, r9d
je 0x14003d714
bt r11d, 0x1d
jae 0x14003d997
cmp dword [rbp - 0x68], 0
mov ebx, dword [rbp - 0x38]
je 0x14003d766
test r9d, r9d
je 0x14003d766
test ebx, ebx
jne 0x14003d766
bt r11d, 0x1d
jb 0x14003d766
mov rax, qword [rbp - 0x40]
mov ecx, 0x100
mov byte [rax], 2
mov rdx, qword [rbp - 0x40]
inc rdx
mov qword [rbp - 0x40], rdx
call fcn.140055d90
mov rdx, qword [rbp - 0x40]
mov eax, eax
mov ecx, 0x10ffff
add rdx, rax
mov qword [rbp - 0x40], rdx
call fcn.140055d90
mov eax, eax
add qword [rbp - 0x40], rax
mov rax, qword [rbp - 0x40]
mov rdi, qword [rbp - 0x70]
mov byte [rax], 0
inc qword [rbp - 0x40]
test ebx, ebx
setne al
mov byte [rdi], 0x70
mov byte [rdi + 3], al
test r13d, r13d
je 0x14003d78a
or al, 4
mov byte [rdi + 3], al
test r15d, r15d
jle 0x14003d963
or byte [rdi + 3], 2
mov r8, qword [rbp - 0x40]
add rdi, 4
lea rcx, [rdi + 0x20]
mov rdx, rdi
sub r8, rdi
call sub.msvcrt.dll_memmove
test ebx, ebx
je 0x14003d7cb
test r13d, r13d
jne 0x14003d7cb
lea rcx, [rbp + 0x48]
mov edx, 0x20
not byte [rcx]
lea rcx, [rcx + 1]
dec rdx
jne 0x14003d7c0
movups xmm0, xmmword [rbp + 0x48]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbp + 0x58]
movups xmmword [rdi + 0x10], xmm1
mov r10, qword [rbp - 0x40]
add r10, 0x20
jmp 0x14003d967
mov r9d, dword [rbp - 0xc]
mov r12d, dword [rbp - 0x10]
inc rbx
mov qword [rbp - 0x80], rbx
mov ebx, dword [rbp - 0x38]
mov dword [rbp + 4], r9d
mov dword [rbp - 0x28], r12d
test ebx, ebx
je 0x14003d917
mov esi, dword [rbp - 0x48]
mov eax, 0xffffffff
cmp esi, 0xfffffffe
cmove esi, eax
mov eax, dword [rbp - 4]
test r11d, r11d
mov r11d, dword [rbp - 0x60]
mov dword [rbp + 0x18], eax
mov dword [rbp - 0x48], esi
mov dword [rbp - 8], esi
je 0x14003d8a7
test r11b, 1
je 0x14003d8ab
lea r8, [0x140000000]
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
mov ecx, eax
and eax, 0x7f
sub eax, edx
sar ecx, 7
movsxd rcx, ecx
cdqe
movzx edx, byte [rcx + r8 + 0xd5eb0]
shl rdx, 7
add rdx, rax
movzx eax, word [r8 + rdx*2 + 0xd80b0]
mov edx, dword [rbp - 0x78]
movzx ecx, byte [r8 + rax*8 + 0xd4833]
test ecx, ecx
je 0x14003d8a7
mov r10, qword [rbp - 0x70]
mov r15, qword [rbp + 0x160]
mov r13, qword [rbp - 0x20]
mov r8, qword [rbp - 0x30]
mov word [r10], 0x90f
mov byte [r10 + 2], cl
mov rbx, qword [rbp - 0x80]
add r10, 3
mov qword [rbp - 0x70], r10
jmp 0x140040459
test r11b, 1
mov r10, qword [rbp - 0x70]
setne al
add al, 0x1f
inc r10
cmp dword [rbp - 0x68], 0
mov byte [r10 - 1], al
mov qword [rbp - 0x70], r10
je 0x14003d8f5
cmp edi, 0x7f
jbe 0x14003d8f5
mov rdx, r10
mov ecx, edi
call fcn.140055d90
mov r10, qword [rbp - 0x70]
mov r15, qword [rbp + 0x160]
mov r13, qword [rbp - 0x20]
mov r11d, dword [rbp - 0x60]
mov eax, eax
add r10, rax
mov qword [rbp - 0x70], r10
jmp 0x14004044e
mov r15, qword [rbp + 0x160]
mov r13, qword [rbp - 0x20]
mov r8, qword [rbp - 0x30]
mov byte [r10], dil
mov rbx, qword [rbp - 0x80]
inc r10
mov qword [rbp - 0x70], r10
jmp 0x140040459
test r11d, r11d
je 0x14003d943
cmp edi, 0x7f
jbe 0x14003d943
lea rdx, [rbp + 8]
mov ecx, edi
call fcn.140055d90
mov r15, qword [rbp + 0x160]
mov r10, qword [rbp - 0x70]
mov r11d, dword [rbp - 0x60]
mov r9d, eax
jmp 0x14003c44d
mov r15, qword [rbp + 0x160]
mov r10, qword [rbp - 0x70]
mov r11d, dword [rbp - 0x60]
mov eax, 1
mov byte [rbp + 8], dil
mov r9d, eax
jmp 0x14003c44d
mov r10, qword [rbp - 0x40]
mov r13, qword [rbp - 0x20]
mov r15, qword [rbp + 0x160]
mov r11d, dword [rbp - 0x60]
mov eax, r10d
mov qword [rbp - 0x70], r10
sub eax, r13d
sar eax, 8
mov byte [r13 + 1], al
movzx eax, r10b
sub al, r13b
mov byte [r13 + 2], al
jmp 0x14004044e
test r14, r14
je 0x14003d9a5
mov eax, dword [rbp - 0x40]
sub eax, r10d
add dword [r14], eax
mov ebx, dword [rbp - 0x38]
mov r10, qword [rbp - 0x70]
cmp ebx, r9d
setne al
add al, 0x6e
mov byte [r10], al
test r14, r14
jne 0x14003d9f0
test ebx, ebx
je 0x14003d9de
lea rcx, [rbp + 0x48]
mov edx, 0x20
nop dword [rax]
not byte [rcx]
lea rcx, [rcx + 1]
dec rdx
jne 0x14003d9d0
mov edx, dword [rbp - 0x78]
movups xmm0, xmmword [rbp + 0x48]
movups xmmword [r10 + 1], xmm0
movups xmm1, xmmword [rbp + 0x58]
movups xmmword [r10 + 0x11], xmm1
mov rbx, qword [rbp - 0x80]
mov r15, qword [rbp + 0x160]
mov r13, qword [rbp - 0x20]
mov r8, qword [rbp - 0x30]
add r10, 0x21
mov qword [rbp - 0x70], r10
jmp 0x140040459
test edx, edx
je case.0x14003c783.12
or eax, 0xffffffff
inc rbx
xor esi, esi
mov edx, eax
movzx eax, byte [rbx]
mov r8d, esi
cmp al, 0x30
jb 0x14003da56
nop dword [rax]
cmp al, 0x39
ja 0x14003da56
lea ecx, [r8 + r8*4]
movzx eax, al
inc rbx
lea r8d, [rcx - 0x18]
lea r8d, [rax + r8*2]
cmp r8d, 0xffff
jg 0x14003da7a
movzx eax, byte [rbx]
cmp al, 0x30
jae 0x14003da30
cmp byte [rbx], 0x7d
jne 0x14003da83
mov edx, r8d
mov dword [rbp], r8d
mov dword [rbp - 0x34], edx
mov qword [rbp - 0x80], rbx
cmp dword [rdi], esi
jne 0x140040815
mov edx, dword [rbp - 0x34]
mov r11d, dword [rbp]
jmp 0x14003daef
mov eax, 5
mov dword [rdi], eax
jmp 0x14003da65
movzx eax, byte [rbx + 1]
inc rbx
cmp al, 0x7d
je 0x14003da5e
mov edx, esi
cmp al, 0x30
jb 0x14003dab6
cmp al, 0x39
ja 0x14003dab6
lea ecx, [rdx + rdx*4]
movzx eax, al
inc rbx
lea edx, [rcx - 0x18]
lea edx, [rax + rdx*2]
cmp edx, 0xffff
jg 0x14003da7a
movzx eax, byte [rbx]
cmp al, 0x30
jae 0x14003da94
cmp edx, r8d
jge 0x14003da5e
mov eax, 4
mov dword [rdi], eax
jmp 0x14003da65
xor esi, esi
or eax, 0xffffffff
jmp 0x14003dae4
mov eax, 1
mov r11d, eax
mov dword [rbp], eax
or eax, 0xffffffff
xor esi, esi
jmp 0x14003daea
xor esi, esi
mov eax, 1
mov dword [rbp], esi
mov r11d, esi
mov edx, eax
mov dword [rbp - 0x34], eax
test r13, r13
je 0x140040534
test r11d, r11d
jne 0x14003db13
mov eax, dword [rbp + 0x18]
mov dword [rbp - 0x10], r12d
mov dword [rbp - 4], eax
mov eax, dword [rbp - 8]
mov dword [rbp - 0x48], eax
mov eax, dword [rbp + 4]
mov dword [rbp - 0xc], eax
cmp r11d, edx
mov eax, 2
mov dword [rbp - 0x5c], esi
cmove eax, esi
mov qword [rbp + 0x10], r13
mov dword [rbp - 0x18], eax
test r14d, r14d
je 0x14003dc28
inc rbx
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [r15 + 0x18]
movzx eax, byte [rbx]
test byte [rax + rcx], 1
je 0x14003db5d
nop dword [rax]
movzx eax, byte [rbx + 1]
inc rbx
test byte [rax + rcx], 1
jne 0x14003db50
cmp byte [rbx], 0x23
jne 0x14003dc0f
movzx r8d, byte [rbx + 1]
inc rbx
test r8b, r8b
je 0x14003db40
mov edx, dword [r15 + 0xb4]
test edx, edx
je 0x14003dbad
mov r8, qword [r15 + 0x38]
cmp rbx, r8
jae 0x14003dbdb
mov eax, dword [rbp - 0x68]
lea r9, [r15 + 0xb8]
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.140056450
test eax, eax
je 0x14003dbdb
movsxd rax, dword [r15 + 0xb8]
add rbx, rax
jmp 0x14003db40
movsxd rdx, dword [r15 + 0xb8]
mov rcx, qword [r15 + 0x38]
sub rcx, rdx
cmp rbx, rcx
ja 0x14003dbdb
cmp r8b, byte [r15 + 0xbc]
jne 0x14003dbdb
cmp edx, 1
je 0x14003dba1
movzx eax, byte [r15 + 0xbd]
cmp byte [rbx + 1], al
je 0x14003dba1
inc rbx
cmp dword [rbp - 0x68], 0
je 0x14003dbfd
movzx eax, byte [rbx]
and al, 0xc0
cmp al, 0x80
jne 0x14003dbfd
nop dword [rax]
movzx eax, byte [rbx + 1]
inc rbx
and al, 0xc0
cmp al, 0x80
je 0x14003dbf0
movzx r8d, byte [rbx]
test r8b, r8b
jne 0x14003db73
jmp 0x14003db40
mov r10, qword [rbp - 0x70]
mov r9, qword [rbp + 0x168]
mov edx, dword [rbp - 0x34]
mov r11d, dword [rbp]
dec rbx
mov qword [rbp - 0x80], rbx
cmp byte [rbx + 1], 0x28
jne 0x14003dc76
cmp byte [rbx + 2], 0x3f
jne 0x14003dc76
cmp byte [rbx + 3], 0x23
jne 0x14003dc76
add rbx, 4
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
test al, al
je 0x14003c5cd
nop dword [rax]
cmp al, 0x29
je 0x14003dc6d
inc rbx
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
test al, al
jne 0x14003dc50
mov dword [rdi], reloc.WS2_32.dll_select
jmp 0x140040815
cmp byte [rbx], 0
je 0x14003c5cd
movzx ecx, byte [rbx + 1]
lea rax, [rbx + 1]
cmp cl, 0x2b
jne 0x14003dc9a
mov ecx, 1
mov r12d, esi
mov dword [rbp - 0x58], esi
mov rbx, rax
mov qword [rbp - 0x80], rax
mov dword [rbp - 0x5c], ecx
jmp 0x14003dcb4
cmp cl, 0x3f
jne 0x14003dcac
mov r12d, dword [rbp + 0x7c]
mov rbx, rax
mov qword [rbp - 0x80], rax
jmp 0x14003dcb0
mov r12d, dword [rbp + 0x78]
mov dword [rbp - 0x58], r12d
cmp byte [r13], 0x75
jne 0x14003dd59
lea rcx, [r13 + 3]
mov r8d, 3
mov rdx, r13
call sub.msvcrt.dll_memmove
mov r10, qword [rbp - 0x70]
mov r9, qword [rbp + 0x168]
mov word [r13], 0x81
add r10, 6
mov byte [r13 + 2], 6
mov word [r13 + 6], 0x78
mov byte [r13 + 8], 6
mov qword [rbp - 0x70], r10
mov dword [rbp + 0x2c], 9
test r9, r9
jne 0x14003dd4e
mov rax, qword [r15 + 0x20]
mov r8, qword [r15 + 0x40]
add rax, 2
cmp r8, rax
jb 0x14003dd4e
movzx eax, byte [r8 - 2]
movzx edx, byte [r8 - 1]
mov rcx, r13
sub rcx, qword [r15 + 0x28]
shl eax, 8
or edx, eax
inc rcx
movsxd rax, edx
cmp rax, rcx
jne 0x14003dd4e
lea eax, [rdx + 3]
sar eax, 8
add dl, 3
mov byte [r8 - 2], al
mov rax, qword [r15 + 0x40]
mov byte [rax - 1], dl
mov r11d, dword [rbp]
mov edx, dword [rbp - 0x34]
mov rbx, qword [rbp - 0x80]
movzx esi, byte [r13]
lea eax, [rsi - 0x1d]
cmp al, 3
jbe 0x14003e4fc
cmp sil, 0x17
jae 0x14003dd82
mov r8d, dword [rbp - 0x68]
mov r14d, reloc.WS2_32.dll_gethostbyname
movzx edi, sil
jmp 0x14003e59c
lea eax, [rsi - 0x6e]
cmp al, 6
jbe 0x14003e42c
lea eax, [rsi - 0x7d]
cmp al, 0xa
ja 0x14003e41b
mov r14, qword [rbp + 0x20]
xor eax, eax
mov r12d, r10d
sub r12d, r13d
mov r13d, eax
mov r15d, eax
mov rax, qword [rbp - 0x20]
mov rdi, r14
cmp sil, 0x87
jne 0x14003ddc1
cmp byte [rax + 3], 0x91
je 0x14003e3cd
cmp sil, 0x81
jae 0x14003dde0
test r11d, r11d
jg 0x14003e3cd
cmp edx, 1
mov esi, 1
cmova edx, esi
mov dword [rbp - 0x34], edx
jmp 0x14003dde5
mov esi, 1
test r11d, r11d
jne 0x14003deba
mov r8d, dword [rbp - 0x68]
mov byte [r10], r13b
mov qword [rsp + 0x20], r14
mov rcx, rax
cmp edx, 1
jg 0x14003de63
mov r15, qword [rbp + 0x160]
mov edx, esi
mov r9, r15
call fcn.14003a380
mov rsi, qword [rbp - 0x20]
movsxd r8, r12d
lea rbx, [rsi + 1]
mov rdx, rsi
mov rcx, rbx
call sub.msvcrt.dll_memmove
mov r10, qword [rbp - 0x70]
mov edx, dword [rbp - 0x34]
inc r10
mov qword [rbp - 0x70], r10
test edx, edx
jne 0x14003de47
mov byte [rsi], 0xa1
mov rbx, qword [rbp - 0x80]
jmp 0x14003e3d4
mov r14d, dword [rbp - 0x58]
mov qword [rbp - 0x20], rbx
mov r15, rsi
lea eax, [r14 - 0x6e]
dec edx
mov byte [rsi], al
mov rbx, qword [rbp - 0x80]
jmp 0x14003e02e
mov r9, qword [rbp + 0x160]
mov edx, 4
call fcn.14003a380
mov rsi, qword [rbp - 0x20]
movsxd r8, r12d
lea rcx, [rsi + 4]
mov rdx, rsi
call sub.msvcrt.dll_memmove
mov r14d, dword [rbp - 0x58]
mov edx, dword [rbp - 0x34]
add qword [rbp - 0x70], 4
lea eax, [r14 - 0x6e]
lea r13, [rsi + 2]
mov byte [rsi], al
mov word [rsi + 1], 0x83
mov byte [rsi + 3], r15b
mov rbx, qword [rbp - 0x80]
add rsi, 4
dec edx
mov qword [rbp - 0x20], rsi
jmp 0x14003e02e
cmp r11d, 1
jle 0x14003e023
test r9, r9
je 0x14003df14
mov eax, dword [rbp + 0x2c]
lea ecx, [r11 - 1]
mov edx, ecx
movd xmm1, ecx
movd xmm0, eax
imul edx, eax
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
comisd xmm1, xmmword [0x1400d3b50]
ja 0x140040522
mov ecx, dword [r9]
mov eax, 0x7fffffeb
sub eax, ecx
cmp eax, edx
jl 0x140040522
lea eax, [rdx + rcx]
mov dword [r9], eax
jmp 0x14003e020
cmp dword [rbp + 0x40], r13d
je 0x14003df2c
cmp dword [rbp - 0x10], r13d
jge 0x14003df2c
mov ecx, dword [rbp - 4]
mov dword [rbp - 0xc], ecx
mov ecx, dword [rbp - 0x48]
mov dword [rbp - 0x10], ecx
cmp r11d, 1
jle 0x14003e023
mov r8, qword [rbp + 0x160]
movsxd r14, r12d
mov rbx, qword [r8 + 0x40]
mov rdx, rax
mov rcx, r10
sub rbx, qword [r8 + 0x20]
mov r8, r14
call sub.msvcrt.dll_memcpy
mov r8, qword [rbp + 0x160]
movsxd rax, dword [r8 + 0x6c]
sub rax, rbx
add rax, 0xffffffffffffff9c
add rax, qword [r8 + 0x20]
add rax, rdi
cmp qword [r8 + 0x40], rax
jbe 0x14003dfad
mov rcx, r8
call fcn.1400417c0
mov rcx, qword [rbp + 0x128]
mov dword [rcx], eax
test eax, eax
jne 0x1400404c0
mov r8, qword [rbp + 0x160]
movsxd rax, dword [r8 + 0x6c]
sub rax, rbx
add rax, 0xffffffffffffff9c
add rax, qword [r8 + 0x20]
add rax, rdi
cmp qword [r8 + 0x40], rax
ja 0x14003df75
mov rax, qword [r8 + 0x20]
lea rdx, [rax + rdi]
add rax, rbx
cmp rdx, rax
jae 0x14003dffb
nop dword [rax]
movzx ecx, byte [rdx]
movzx eax, byte [rdx + 1]
add rdx, 2
shl ecx, 8
or ecx, eax
mov rax, qword [r8 + 0x40]
add ecx, r12d
sar ecx, 8
mov byte [rax], cl
mov rax, qword [r8 + 0x40]
movzx ecx, r12b
add cl, byte [rdx - 1]
mov byte [rax + 1], cl
add qword [r8 + 0x40], 2
mov rcx, qword [r8 + 0x20]
add rcx, rbx
cmp rdx, rcx
jb 0x14003dfc0
mov r10, qword [rbp - 0x70]
mov r11d, dword [rbp]
mov rax, qword [rbp - 0x20]
add r10, r14
inc esi
mov rdi, rbx
mov qword [rbp - 0x70], r10
cmp esi, r11d
jl 0x14003df40
mov rbx, qword [rbp - 0x80]
mov edx, dword [rbp - 0x34]
mov r14d, dword [rbp - 0x58]
test edx, edx
jle 0x14003e033
sub edx, r11d
mov dword [rbp - 0x34], edx
test edx, edx
js 0x14003e261
mov r11, qword [rbp + 0x168]
test r11, r11
je 0x14003e0e0
test edx, edx
jle 0x14003e0e0
mov eax, dword [rbp + 0x2c]
movd xmm0, edx
add eax, 7
mov ecx, eax
movd xmm1, eax
imul ecx, edx
cvtdq2pd xmm0, xmm0
sub ecx, 6
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
comisd xmm1, xmmword [0x1400d3b50]
ja 0x140040522
mov edx, dword [r11]
mov eax, 0x7fffffeb
sub eax, edx
cmp eax, ecx
jl 0x140040522
lea eax, [rcx + rdx]
mov dword [r11], eax
mov r10, qword [rbp - 0x70]
test r13, r13
je 0x14003e455
nop word [rax + rax]
mov ecx, r10d
mov r8, r10
sub ecx, r13d
inc ecx
movsxd rax, ecx
sub r8, rax
movzx edx, byte [r8 + 1]
movzx eax, byte [r8 + 2]
shl edx, 8
or edx, eax
jne 0x14003e230
xor eax, eax
mov r13d, eax
jmp 0x14003e236
lea esi, [rdx - 1]
test esi, esi
js 0x14003e099
mov eax, dword [rbp - 0x58]
mov r15, qword [rbp + 0x160]
mov r10, qword [rbp - 0x70]
sub al, 0x6e
movsxd r14, r12d
mov dword [rbp - 0x58], eax
nop dword [rax]
mov rbx, qword [r15 + 0x40]
inc r10
sub rbx, qword [r15 + 0x20]
mov byte [r10 - 1], al
mov qword [rbp - 0x70], r10
test esi, esi
je 0x14003e146
mov byte [r10], 0x83
test r13, r13
jne 0x14003e126
xor eax, eax
mov ecx, eax
jmp 0x14003e12d
lea ecx, [r10 + 1]
sub ecx, r13d
mov eax, ecx
lea r13, [r10 + 1]
mov byte [r10 + 2], cl
sar eax, 8
add r10, 3
mov byte [r10 - 2], al
mov qword [rbp - 0x70], r10
mov rdx, qword [rbp - 0x20]
mov r8, r14
mov rcx, r10
call sub.msvcrt.dll_memcpy
movsxd rax, dword [r15 + 0x6c]
sub rax, rbx
add rax, 0xffffffffffffff9c
add rax, qword [r15 + 0x20]
add rax, rdi
cmp qword [r15 + 0x40], rax
jbe 0x14003e1a1
nop dword [rax]
mov rcx, r15
call fcn.1400417c0
mov rcx, qword [rbp + 0x128]
mov dword [rcx], eax
test eax, eax
jne 0x1400404c0
movsxd rax, dword [r15 + 0x6c]
sub rax, rbx
add rax, 0xffffffffffffff9c
add rax, qword [r15 + 0x20]
add rax, rdi
cmp qword [r15 + 0x40], rax
ja 0x14003e170
mov rax, qword [r15 + 0x20]
lea rdx, [rax + rdi]
add rax, rbx
cmp rdx, rax
jae 0x14003e20e
mov eax, 1
test esi, esi
mov ecx, 4
mov r8d, eax
mov r9d, eax
cmovne r8d, ecx
cmovne r9d, ecx
nop dword [rax + rax]
movzx ecx, byte [rdx]
movzx eax, byte [rdx + 1]
add rdx, 2
shl ecx, 8
or ecx, eax
mov rax, qword [r15 + 0x40]
add ecx, r12d
add ecx, r8d
sar ecx, 8
mov byte [rax], cl
mov rax, qword [r15 + 0x40]
lea ecx, [r9 + r12]
add cl, byte [rdx - 1]
mov byte [rax + 1], cl
add qword [r15 + 0x40], 2
mov rcx, qword [r15 + 0x20]
add rcx, rbx
cmp rdx, rcx
jb 0x14003e1d0
mov r10, qword [rbp - 0x70]
mov eax, dword [rbp - 0x58]
mov rdi, rbx
add r10, r14
dec esi
mov qword [rbp - 0x70], r10
jns 0x14003e100
mov rbx, qword [rbp - 0x80]
jmp 0x14003e09d
movsxd rax, edx
sub r13, rax
mov byte [r10], 0x78
mov byte [r10 + 2], cl
mov eax, ecx
sar eax, 8
add r10, 3
mov byte [r10 - 2], al
mov byte [r8 + 1], al
mov byte [r8 + 2], cl
test r13, r13
jne 0x14003e0b0
jmp 0x14003e44d
mov r10, qword [rbp - 0x70]
mov r12d, dword [rbp - 0x5c]
movzx eax, byte [r10 - 2]
lea rdi, [r10 - 3]
shl eax, 8
mov rsi, rdi
movsxd rcx, eax
movzx eax, byte [rdi + 2]
or rcx, rax
sub rsi, rcx
movzx ecx, byte [rsi]
lea eax, [rcx + 0x7f]
cmp al, 1
ja 0x14003e299
test r12d, r12d
je 0x14003e299
mov byte [rsi], 0x83
jmp 0x14003e2a5
add cl, 0x7f
cmp cl, 1
jbe 0x14003e40e
mov r11, qword [rbp + 0x168]
mov r13, qword [rbp + 0x160]
test r11, r11
jne 0x14003e2ff
mov rbx, rsi
nop dword [rax + rax]
mov r8d, dword [rbp - 0x68]
xor eax, eax
mov r9, r13
mov rdx, rdi
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1400410a0
test eax, eax
jne 0x14003e2f8
movzx eax, byte [rbx + 1]
shl eax, 8
movsxd rcx, eax
movzx eax, byte [rbx + 2]
or rcx, rax
add rbx, rcx
cmp byte [rbx], 0x77
je 0x14003e2c0
jmp 0x14003e2fb
add byte [rsi], 5
mov r10, qword [rbp - 0x70]
cmp byte [rsi], 0x87
jne 0x14003e31e
movzx eax, byte [rsi + 1]
shl eax, 8
movsxd rcx, eax
movzx eax, byte [rsi + 2]
or rcx, rax
cmp byte [rcx + rsi], 0x77
je 0x14003e31e
mov byte [rsi], 0x8c
test r12d, r12d
je 0x14003e3c2
movzx eax, byte [rsi]
cmp al, 0x87
je 0x14003e33b
cmp al, 0x8c
je 0x14003e33b
inc al
mov byte [rsi], al
mov byte [rdi], 0x7b
jmp 0x14003e3a9
mov rax, qword [rbp + 0x20]
mov r8d, dword [rbp - 0x68]
mov ebx, r10d
mov r9, r13
mov edx, 3
mov rcx, rsi
mov qword [rsp + 0x20], rax
sub ebx, esi
mov byte [r10], 0
call fcn.14003a380
lea rcx, [rsi + 3]
movsxd r8, ebx
mov rdx, rsi
call sub.msvcrt.dll_memmove
mov r10, qword [rbp - 0x70]
add ebx, 3
cmp byte [rsi], 0x87
mov eax, 0x89
mov ecx, 0x84
cmove eax, ecx
mov byte [rsi], al
mov byte [r10 + 3], 0x7b
mov byte [r10 + 5], bl
mov eax, ebx
sar eax, 8
add r10, 6
mov byte [r10 - 2], al
mov qword [rbp - 0x70], r10
mov byte [rsi + 1], al
mov byte [rsi + 2], bl
test r15, r15
je 0x14003e3b2
mov byte [r15], __WSAFDIsSet
cmp dword [rbp], 2
mov rbx, qword [rbp - 0x80]
jge 0x14003e459
jmp 0x14003e3cd
add r14b, 0x79
mov byte [rdi], r14b
mov rbx, qword [rbp - 0x80]
mov r15, qword [rbp + 0x160]
mov eax, dword [rbp - 0x18]
mov r12d, dword [rbp - 0x28]
mov r11d, dword [rbp - 0x60]
or dword [r15 + 0x98], eax
mov edx, dword [rbp - 0x78]
mov r8, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x50]
mov rdi, qword [rbp + 0x128]
xor r14d, r14d
inc rbx
mov r13d, r14d
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x80], rbx
jmp 0x14003c267
add r14b, 0x79
mov byte [rdi], r14b
mov rbx, qword [rbp - 0x80]
jmp 0x14003e459
cmp sil, 0x9d
je 0x14003e3d4
mov dword [rdi], reloc.WS2_32.dll_inet_addr
jmp 0x140040815
test edx, edx
jne 0x14003e439
mov r10, r13
mov qword [rbp - 0x70], r13
jmp 0x14003e3d4
test r11d, r11d
jne 0x14003e4a4
cmp edx, 0xffffffff
jne 0x14003e499
add r12b, 0x62
mov byte [r10], r12b
inc r10
mov rbx, qword [rbp - 0x80]
mov qword [rbp - 0x70], r10
mov r12d, dword [rbp - 0x5c]
xor r9d, r9d
test r12d, r12d
je 0x14003e3cd
mov rax, qword [rbp + 0x10]
lea r11, [0x140000000]
movzx r8d, byte [rax]
lea eax, [r8 - 0x1d]
cmp eax, 0x53
ja case.0x14003e497.33
cdqe
movzx eax, byte [r11 + rax + 0x40974]
mov ecx, dword [r11 + rax*4 + 0x40960]
add rcx, r11
jmp rcx
cmp edx, 1
jne 0x14003e4b5
add r12b, 0x66
jmp 0x14003e447
cmp r11d, 1
jne 0x14003e4b5
cmp edx, 0xffffffff
jne 0x14003e4b5
add r12b, 0x64
jmp 0x14003e447
add r12b, 0x68
mov eax, r11d
mov r9d, 0
mov byte [r10], r12b
mov r12d, dword [rbp - 0x5c]
sar eax, 8
mov byte [r10 + 1], al
mov byte [r10 + 2], r11b
cmp edx, 0xffffffff
cmove edx, r9d
mov byte [r10 + 4], dl
mov eax, edx
mov dword [rbp - 0x34], edx
sar eax, 8
add r10, 5
mov byte [r10 - 2], al
mov rbx, qword [rbp - 0x80]
mov qword [rbp - 0x70], r10
jmp 0x14003e45c
movzx ecx, sil
sub ecx, 0x1e
je 0x14003e524
dec ecx
je 0x14003e51c
dec ecx
je 0x14003e514
xor eax, eax
mov r14d, eax
jmp 0x14003e52a
mov r14d, 0x27
jmp 0x14003e52a
mov r14d, 0x1a
jmp 0x14003e52a
mov r14d, recvfrom
mov r8d, dword [rbp - 0x68]
test r8d, r8d
je 0x14003e57b
movzx eax, byte [r10 - 1]
lea rdx, [r10 - 1]
and al, 0xc0
cmp al, 0x80
jne 0x14003e57b
movzx eax, byte [rdx]
and al, 0xc0
cmp al, 0x80
jne 0x14003e55d
nop dword [rax + rax]
movzx eax, byte [rdx - 1]
dec rdx
and al, 0xc0
cmp al, 0x80
je 0x14003e550
mov edi, r10d
lea rcx, [rbp + 0x84]
sub edi, edx
mov r8d, edi
call sub.msvcrt.dll_memcpy
mov r8d, dword [rbp - 0x68]
bts edi, 0x1c
jmp 0x14003e59c
movzx edi, byte [r10 - 1]
cmp sil, 0x1e
ja 0x14003e59c
cmp r11d, 1
jle 0x14003e59c
mov eax, dword [r15 + 0x98]
mov dword [rbp - 0xc], edi
or eax, dword [rbp + 0x28]
mov dword [rbp - 0x10], eax
sub sil, 0xf
cmp sil, 1
jbe 0x14003e5b0
or eax, 0xffffffff
mov r15d, eax
mov esi, eax
jmp 0x14003e5ba
movzx esi, byte [r13 + 1]
movzx r15d, byte [r13 + 2]
mov r13, qword [rbp - 0x70]
mov rcx, qword [rbp - 0x20]
mov edx, dword [rbp - 0x34]
mov rax, r13
mov r10, rcx
mov qword [rbp - 0x70], rcx
test edx, edx
je 0x14003e3cd
mov r9d, dword [rbp]
add r12d, r14d
test r9d, r9d
jne 0x14003e625
lea r10, [rcx + 1]
cmp edx, 0xffffffff
jne 0x14003e5f8
add r12b, 0x21
mov byte [rcx], r12b
jmp 0x14003e77c
cmp edx, 1
jne 0x14003e609
add r12b, 0x25
mov byte [rcx], r12b
jmp 0x14003e77c
add r12b, 0x27
mov eax, edx
sar eax, 8
mov byte [rcx], r12b
mov byte [r10 + 1], dl
mov byte [r10], al
add r10, 2
jmp 0x14003e77c
cmp r9d, 1
jne 0x14003e676
cmp edx, 0xffffffff
jne 0x14003e640
add r12b, 0x23
lea r10, [rcx + 1]
mov byte [rcx], r12b
jmp 0x14003e77c
mov r10, rax
mov qword [rbp - 0x70], rax
cmp edx, 1
je 0x14003e3cd
lea r10, [r13 + 1]
add r12b, 0x27
lea eax, [rdx - 1]
sar eax, 8
mov byte [r13], r12b
add r10, 2
mov byte [r10 - 2], al
lea eax, [rdx - 1]
mov byte [r10 - 1], al
jmp 0x14003e77c
lea r10, [rcx + 1]
add r14b, 0x29
mov eax, r9d
sar eax, 8
mov byte [rcx], r14b
add r10, 2
mov byte [r10 - 2], al
mov byte [r10 - 1], r9b
mov qword [rbp - 0x70], r10
test edx, edx
jns 0x14003e6fc
test r8d, r8d
je 0x14003e6d7
bt edi, 0x1c
jae 0x14003e6d7
mov ebx, edi
lea rdx, [rbp + 0x84]
mov rcx, r10
and ebx, 7
mov r8d, ebx
call sub.msvcrt.dll_memcpy
mov r10, qword [rbp - 0x70]
mov r8d, dword [rbp - 0x68]
add r10, rbx
add r12b, 0x21
mov byte [r10], r12b
inc r10
jmp 0x14003e77c
mov byte [r10], dil
inc r10
test esi, esi
js 0x14003e6ec
mov byte [r10], sil
mov byte [r10 + 1], r15b
add r10, 2
add r12b, 0x21
inc r10
mov byte [r10 - 1], r12b
jmp 0x14003e77c
cmp edx, r9d
je 0x14003e780
test r8d, r8d
je 0x14003e737
bt edi, 0x1c
jae 0x14003e737
mov ebx, edi
lea rdx, [rbp + 0x84]
mov rcx, r10
and ebx, 7
mov r8d, ebx
call sub.msvcrt.dll_memcpy
mov r10, qword [rbp - 0x70]
mov r8d, dword [rbp - 0x68]
mov edx, dword [rbp - 0x34]
mov r9d, dword [rbp]
add r10, rbx
jmp 0x14003e73d
mov byte [r10], dil
inc r10
test esi, esi
js 0x14003e74c
mov byte [r10], sil
mov byte [r10 + 1], r15b
add r10, 2
sub edx, r9d
mov dword [rbp - 0x34], edx
cmp edx, 1
jne 0x14003e764
add r12b, 0x25
inc r10
mov byte [r10 - 1], r12b
jmp 0x14003e77c
add r12b, 0x27
mov eax, edx
mov byte [r10], r12b
sar eax, 8
mov byte [r10 + 2], dl
mov byte [r10 + 1], al
add r10, 3
mov qword [rbp - 0x70], r10
test r8d, r8d
je 0x14003e7ab
bt edi, 0x1c
jae 0x14003e7ab
mov ebx, edi
lea rdx, [rbp + 0x84]
mov rcx, r10
and ebx, 7
mov r8d, ebx
call sub.msvcrt.dll_memcpy
mov r10, qword [rbp - 0x70]
add r10, rbx
jmp 0x14003e7b1
mov byte [r10], dil
inc r10
mov r12d, dword [rbp - 0x5c]
mov qword [rbp - 0x70], r10
test esi, esi
js 0x14003e415
mov byte [r10], sil
mov byte [r10 + 1], r15b
mov rbx, qword [rbp - 0x80]
add r10, 2
mov qword [rbp - 0x70], r10
jmp 0x14003e459
mov rdx, qword [rbp + 0x10]
mov ecx, 2
movzx eax, byte [rdx + 3]
sub al, 0xf
cmp al, 1
movzx eax, byte [r8 + r11 + 0xd4520]
cmova ecx, r9d
add eax, ecx
cdqe
add qword [rbp + 0x10], rax
jmp case.0x14003e497.33
movzx eax, byte [r8 + r11 + 0xd4520]
mov rdx, qword [rbp + 0x10]
mov r8d, dword [rbp - 0x68]
add rdx, rax
mov qword [rbp + 0x10], rdx
test r8d, r8d
je 0x14003e85f
movzx eax, byte [rdx - 1]
cmp al, 0xc0
jb 0x14003e85f
movzx eax, al
and eax, 0x3f
movzx eax, byte [rax + r11 + 0xd3bd0]
add qword [rbp + 0x10], rax
jmp 0x14003e85f
add qword [rbp + 0x10], 0x21
jmp case.0x14003e497.33
mov rdx, qword [rbp + 0x10]
movzx eax, byte [rdx + 1]
shl eax, 8
movsxd rcx, eax
movzx eax, byte [rdx + 2]
or rcx, rax
add qword [rbp + 0x10], rcx
mov r8d, dword [rbp - 0x68]
mov rdx, qword [rbp + 0x10]
mov edi, r10d
sub edi, edx
test edi, edi
jle 0x14003e3cd
movzx eax, byte [rdx]
cmp eax, 0x76
jae 0x14003e88c
movzx ecx, byte [rax + r11 + 0xd39e0]
test cl, cl
je 0x14003e88c
mov byte [rdx], cl
jmp 0x14003e3c9
mov rax, qword [rbp + 0x20]
mov r15, qword [rbp + 0x160]
mov byte [r10], 0
mov rcx, qword [rbp + 0x10]
mov r9, r15
mov edx, 3
mov qword [rsp + 0x20], rax
call fcn.14003a380
mov rdx, qword [rbp + 0x10]
lea rcx, [rdx + 3]
movsxd r8, edi
call sub.msvcrt.dll_memmove
mov rax, qword [rbp + 0x10]
mov r10, qword [rbp - 0x70]
mov byte [rax], 0x81
mov byte [r10 + 3], 0x78
add edi, 3
mov byte [r10 + 5], dil
mov ecx, edi
sar ecx, 8
add r10, 6
mov byte [r10 - 2], cl
mov rax, qword [rbp + 0x10]
mov qword [rbp - 0x70], r10
mov byte [rax + 1], cl
mov rax, qword [rbp + 0x10]
mov byte [rax + 2], dil
mov rbx, qword [rbp - 0x80]
jmp 0x14003e3d4
inc rbx
mov qword [rbp - 0x80], rbx
movzx edx, byte [rbx]
cmp dl, 0x2a
jne 0x14003ebb2
movzx eax, byte [rbx + 1]
lea r12, [rbx + 1]
cmp al, 0x3a
je 0x14003e931
movzx ecx, al
mov rax, qword [r15 + 0x18]
test byte [rcx + rax], 2
je 0x14003ebae
mov rax, qword [rbp + 0x160]
xor r8d, r8d
mov rbx, r12
mov rcx, qword [rax + 0x18]
mov qword [rbp - 0x80], rbx
movzx eax, byte [r12]
test byte [rax + rcx], 2
mov r15d, r8d
lea r14, [0x1400d2678]
mov qword [rbp - 0x18], r8
mov qword [rbp - 0x20], r8
je 0x14003e980
nop dword [rax]
nop word [rax + rax]
inc rbx
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
test byte [rax + rcx], 2
jne 0x14003e970
mov esi, ebx
sub esi, r12d
cmp byte [rbx], 0x3a
jne 0x14003e9c5
inc rbx
mov qword [rbp - 0x80], rbx
mov rdx, rbx
mov qword [rbp - 0x18], rbx
movzx eax, byte [rbx]
test al, al
je 0x14003e9b2
nop
cmp al, 0x29
je 0x14003e9b2
inc rbx
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
test al, al
jne 0x14003e9a0
mov r15d, ebx
sub r15d, edx
cmp r15d, 0xff
ja 0x14004053f
cmp byte [rbx], 0x29
jne 0x140040588
mov r13d, r8d
mov rdi, r8
lea rbx, [0x1400d26b0]
nop dword [rax + rax]
cmp esi, dword [rbx]
jne 0x14003e9f6
movsxd r8, esi
mov rdx, r14
mov rcx, r12
call sub.msvcrt.dll_strncmp
test eax, eax
je 0x14003ea1a
mov eax, dword [rbx]
add rbx, 0xc
inc r13d
inc eax
inc rdi
cdqe
add r14, rax
lea rax, [0x1400d271c]
cmp rbx, rax
jl 0x14003e9e0
jmp 0x14003eb84
lea rax, [rdi + rdi*2]
lea rdx, [0x1400d26b0]
mov ecx, dword [rdx + rax*4 + 4]
cmp ecx, 0x9e
jne 0x14003ead3
test r15d, r15d
jne 0x14004054a
mov rdx, qword [rbp + 0x160]
mov r8d, 1
mov rcx, qword [rdx + 0x48]
mov dword [rdx + 0x9c], r8d
test rcx, rcx
je 0x14003ea9f
mov rdx, qword [rbp - 0x70]
mov rax, qword [rbp + 0x168]
test rax, rax
je 0x14003ea70
add dword [rax], 3
jmp 0x14003ea8c
mov byte [rdx], 0xa0
movzx eax, byte [rcx + 9]
add rdx, 3
mov byte [rdx - 2], al
movzx eax, byte [rcx + 8]
mov byte [rdx - 1], al
mov rax, qword [rbp + 0x168]
mov rcx, qword [rcx]
test rcx, rcx
jne 0x14003ea66
mov qword [rbp - 0x70], rdx
mov rdx, qword [rbp + 0x160]
cmp dword [rdx + 0x8c], 0
setg al
add al, 0x9e
movzx edi, al
mov rax, qword [rbp - 0x70]
inc rax
cmp dword [rbp - 0x48], 0xfffffffe
mov byte [rax - 1], dil
mov qword [rbp - 0x70], rax
jne 0x14003eb59
mov dword [rbp - 0x48], 0xffffffff
jmp 0x14003eb59
test r15d, r15d
jne 0x14003eaf4
test ecx, ecx
js 0x140040560
movzx eax, cl
mov rcx, qword [rbp - 0x70]
mov byte [rcx], al
inc rcx
mov edi, eax
mov qword [rbp - 0x70], rcx
jmp 0x14003eb4c
cmp dword [rdx + rax*4 + 8], 0
jl 0x14004054a
movzx eax, byte [rdx + rax*4 + 8]
mov rsi, qword [rbp - 0x70]
mov r11, qword [rbp + 0x168]
mov byte [rsi], al
mov edi, eax
test r11, r11
je 0x14003eb25
add dword [r11], r15d
mov byte [rsi + 1], 0
add rsi, 2
jmp 0x14003eb42
mov rdx, qword [rbp - 0x18]
mov byte [rsi + 1], r15b
add rsi, 2
movsxd rbx, r15d
mov rcx, rsi
mov r8, rbx
call sub.msvcrt.dll_memcpy
add rsi, rbx
mov byte [rsi], 0
inc rsi
mov qword [rbp - 0x70], rsi
mov rdx, qword [rbp + 0x160]
mov r8d, 1
cmp edi, 0x96
jl 0x14003eb84
cmp edi, 0x99
jle 0x14003eb7d
cmp edi, 0x9b
jg 0x14003eb84
or dword [rdx + 0x94], 0x1000
jmp 0x14003eb84
mov dword [rdx + 0xa0], r8d
mov rbx, qword [rbp - 0x80]
cmp r13d, 9
jge 0x140040576
mov r12d, dword [rbp - 0x28]
mov r15, qword [rbp + 0x160]
mov r10, qword [rbp - 0x70]
mov r13, qword [rbp - 0x20]
mov r11d, dword [rbp - 0x60]
jmp 0x140040452
mov r12d, dword [rbp - 0x28]
mov rsi, qword [r15 + 0x40]
xor r14d, r14d
mov dword [rbp - 0x58], r11d
sub rsi, qword [r15 + 0x20]
mov dword [rbp - 0x5c], r14d
mov r13d, 0x85
mov dword [rbp - 0x64], r14d
mov qword [rbp + 0x20], rsi
cmp dl, 0x3f
jne 0x14003f553
inc rbx
lea r9, [0x140000000]
mov qword [rbp - 0x80], rbx
movzx r8d, byte [rbx]
lea eax, [r8 - 0x21]
cmp eax, 0x5b
ja case.0x14003ec11.46
cdqe
movzx eax, byte [r9 + rax + 0x40a00]
mov ecx, dword [r9 + rax*4 + 0x409c8]
add rcx, r9
jmp rcx
mov eax, 1
mov r10d, eax
mov dword [r15 + 0xac], eax
jmp 0x14003ec27
mov r10d, r14d
inc rbx
mov r13d, 0x83
mov ecx, r11d
mov qword [rbp - 0x80], rbx
mov esi, r14d
jmp 0x14003f87a
cmp byte [rbx + 1], 0x3f
mov r13d, 0x87
mov r8, rbx
jne 0x14003ec8e
cmp byte [rbx + 2], 0x43
jne 0x14003ec8e
movzx eax, byte [rbx + 3]
mov edx, 3
mov ecx, edx
cmp al, 0x30
jb 0x14003ec75
cmp al, 0x39
ja 0x14003ec75
movzx eax, byte [rcx + rbx + 1]
inc rcx
inc edx
cmp al, 0x30
jae 0x14003ec63
cmp byte [rcx + rbx], 0x29
jne 0x14003ec84
lea eax, [rdx + 1]
movsxd r8, eax
add r8, rbx
cmp byte [r8], 0x28
jne 0x140040593
cmp byte [r8 + 1], 0x3f
jne 0x14003eccd
movzx eax, byte [r8 + 2]
cmp al, 0x3d
je 0x14003ecb3
cmp al, 0x21
je 0x14003ecb3
cmp al, 0x3c
jne 0x14003eccd
movzx eax, byte [r8 + 3]
cmp al, 0x3d
je 0x14003ecb3
cmp al, 0x21
jne 0x14003eccd
mov eax, 1
mov ecx, r11d
mov esi, r14d
mov dword [r15 + 0xb0], eax
mov r10d, r14d
jmp 0x14003f87a
or eax, 0xffffffff
mov byte [r10 + 3], 0x8d
mov rbx, qword [rbp - 0x80]
inc rbx
xor ecx, ecx
mov esi, 3
mov qword [rbp - 0x80], rbx
movzx edx, byte [rbx]
mov r9d, eax
mov dword [rbp - 0x5c], esi
mov r14d, eax
mov dword [rbp - 0x18], eax
mov r12d, ecx
mov r8d, ecx
cmp dl, 0x52
jne 0x14003ed1a
cmp byte [rbx + 1], 0x26
jne 0x14003ed1a
add rbx, 2
mov qword [rbp - 0x80], rbx
mov byte [r10 + 3], 0x8f
mov rbx, qword [rbp - 0x80]
jmp 0x14003ed2f
cmp dl, 0x3c
jne 0x14003edc9
mov eax, IsNetDrive
inc rbx
mov qword [rbp - 0x80], rbx
mov dword [rbp - 0x38], eax
mov r15d, eax
movzx edx, byte [rbx]
lea eax, [rdx - 0x30]
cmp al, 9
jbe 0x1400405f5
mov r10, qword [rbp + 0x160]
movzx eax, dl
mov rcx, qword [r10 + 0x18]
test byte [rax + rcx], 0x10
je 0x140040593
mov r12, rbx
inc rbx
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
test byte [rax + rcx], 0x10
je 0x14003ed80
nop
inc rbx
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
test byte [rax + rcx], 0x10
jne 0x14003ed70
mov r11, qword [rbp + 0x168]
mov r14d, ebx
mov eax, 5
sub r14d, r12d
test r11, r11
cmovne esi, eax
mov dword [rbp - 0x18], r14d
mov dword [rbp - 0x5c], esi
test r15d, r15d
jle 0x14003ee56
movzx eax, byte [rbx]
inc rbx
mov qword [rbp - 0x80], rbx
cmp al, r15b
je 0x14003ee56
dec rbx
mov dword [rdi], 0x1a
jmp 0x140040815
cmp dl, 0x27
jne 0x14003edd8
mov eax, 0x27
jmp 0x14003ed28
lea eax, [rdx - 0x2b]
mov r15d, ecx
mov dword [rbp - 0x38], ecx
test al, 0xfd
je 0x14003edfc
cmp dl, 0x30
jb 0x14003ed43
cmp dl, 0x39
ja 0x14003ed35
mov r9d, ecx
jmp 0x14003ee10
inc rbx
movzx r9d, dl
mov qword [rbp - 0x80], rbx
test r9d, r9d
js 0x14003ed35
movzx edx, byte [rbx]
cmp dl, 0x30
jb 0x14003ee48
cmp dl, 0x39
ja 0x14003ee48
cmp r8d, 0xccccccb
jg 0x14004059e
inc rbx
lea r8d, [r8 + r8*4]
movzx eax, dl
mov qword [rbp - 0x80], rbx
movzx edx, byte [rbx]
lea r8d, [r8 - 0x18]
lea r8d, [rax + r8*2]
cmp dl, 0x30
jae 0x14003ee18
mov r10, qword [rbp + 0x160]
mov r11, qword [rbp + 0x168]
movzx eax, byte [rbx]
inc rbx
mov qword [rbp - 0x80], rbx
cmp al, 0x29
jne 0x14003edbb
test r11, r11
jne 0x14003f86c
test r9d, r9d
js 0x14003eee7
test r8d, r8d
jle 0x1400405c2
mov r15, qword [rbp + 0x160]
test r9d, r9d
je 0x14003eea2
cmp r9d, 0x2d
jne 0x14003ee9e
mov eax, dword [r15 + 0x70]
sub eax, r8d
lea r8d, [rax + 1]
jmp 0x14003eea2
add r8d, dword [r15 + 0x70]
test r8d, r8d
jle 0x14003f728
cmp r8d, dword [r15 + 0x74]
jg 0x14003f728
mov rdx, qword [rbp - 0x70]
mov ecx, dword [rbp - 0x58]
mov r10d, dword [rbp - 0x64]
mov byte [rdx + 5], r8b
mov eax, r8d
xor r9d, r9d
sar eax, 8
mov byte [rdx + 4], al
mov rbx, qword [rbp - 0x80]
cmp r8d, dword [r15 + 0x7c]
jle 0x14003f881
mov dword [r15 + 0x7c], r8d
jmp 0x14003f881
mov rax, qword [r10 + 0x58]
xor r9d, r9d
movsxd rsi, r14d
mov qword [rbp + 0x30], rax
mov edi, r9d
cmp dword [r10 + 0x60], r9d
jle 0x14003ef57
mov r14, qword [rbp + 0x160]
mov r15, rax
nop dword [rax + rax]
lea rdx, [r15 + 2]
mov r8, rsi
mov rcx, r12
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x14003ef2a
cmp byte [rsi + r15 + 2], al
je 0x14003ef39
movsxd rax, dword [r14 + 0x64]
inc edi
add r15, rax
cmp edi, dword [r14 + 0x60]
jl 0x14003ef10
mov rbx, qword [rbp - 0x80]
mov r14d, dword [rbp - 0x18]
mov r10, qword [rbp + 0x160]
mov qword [rbp + 0x30], r15
mov r15d, dword [rbp - 0x38]
xor r9d, r9d
mov rax, qword [rbp + 0x30]
mov ecx, dword [r10 + 0x60]
cmp edi, ecx
jge 0x14003f043
movzx r14d, byte [rax]
movzx eax, byte [rax + 1]
mov dword [rbp - 0x38], edi
shl r14d, 8
inc edi
mov ebx, 1
or r14d, eax
mov dword [rbp - 0x18], r14d
cmp r14d, dword [r10 + 0x7c]
jle 0x14003ef8a
mov dword [r10 + 0x7c], r14d
cmp edi, ecx
jge 0x14003f018
mov r15, qword [rbp + 0x160]
mov r14, qword [rbp + 0x30]
nop dword [rax]
movsxd rax, dword [r15 + 0x64]
mov r8, rsi
mov rcx, r12
add r14, rax
lea rdx, [r14 + 2]
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x14003efcb
cmp byte [rsi + r14 + 2], al
jne 0x14003efcb
inc edi
inc ebx
cmp edi, dword [r15 + 0x60]
jl 0x14003efa0
mov r15d, dword [rbp - 0x38]
mov qword [rbp + 0x30], r14
mov r14d, dword [rbp - 0x18]
cmp ebx, 1
jle 0x14003f018
mov rdx, qword [rbp - 0x70]
mov esi, dword [rbp - 0x5c]
mov ecx, dword [rbp - 0x58]
mov r10d, dword [rbp - 0x64]
mov eax, r15d
mov byte [rdx + 5], r15b
mov r15, qword [rbp + 0x160]
sar eax, 8
add esi, 2
mov byte [rdx + 4], al
mov eax, ebx
mov byte [rdx + 7], bl
sar eax, 8
inc byte [rdx + 3]
mov byte [rdx + 6], al
mov rbx, qword [rbp - 0x80]
jmp 0x14003f87e
mov rdx, qword [rbp - 0x70]
mov ecx, dword [rbp - 0x58]
mov esi, dword [rbp - 0x5c]
mov r10d, dword [rbp - 0x64]
mov r15, qword [rbp + 0x160]
mov eax, r14d
sar eax, 8
mov byte [rdx + 5], r14b
mov byte [rdx + 4], al
mov rbx, qword [rbp - 0x80]
jmp 0x14003f87e
test r15d, r15d
jne 0x1400405e3
cmp byte [r12], 0x52
jne 0x14003f0d1
mov ecx, r9d
cmp rsi, 1
jle 0x14003f09f
lea rdx, [r12 + 1]
neg r12
movzx eax, byte [rdx]
cmp al, 0x30
jb 0x1400405e3
cmp al, 0x39
ja 0x1400405e3
cmp ecx, 0xccccccb
jg 0x1400405cd
lea ecx, [rcx + rcx*4]
movzx eax, al
inc rdx
lea ecx, [rcx - 0x18]
lea ecx, [rax + rcx*2]
lea rax, [r12 + rdx]
cmp rax, rsi
jl 0x14003f064
test ecx, ecx
jne 0x14003f0a4
mov ecx, 0xffff
mov rdx, qword [rbp - 0x70]
mov esi, dword [rbp - 0x5c]
mov r10d, dword [rbp - 0x64]
mov r15, qword [rbp + 0x160]
mov eax, ecx
mov byte [rdx + 5], cl
mov ecx, dword [rbp - 0x58]
sar eax, 8
mov byte [rdx + 3], 0x8f
mov byte [rdx + 4], al
mov rbx, qword [rbp - 0x80]
jmp 0x14003f881
cmp r14d, 6
jne 0x1400405e3
lea rdx, str.DEFINE
mov r8d, r14d
mov rcx, r12
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x1400405df
mov rdx, qword [rbp - 0x70]
mov ecx, dword [rbp - 0x58]
mov r10d, dword [rbp - 0x64]
mov r15, qword [rbp + 0x160]
mov byte [rdx + 3], 0x91
mov rbx, qword [rbp - 0x80]
lea esi, [rax + 1]
jmp 0x14003f87e
inc dword [r15 + 0x8c]
mov r13d, 0x7d
inc rbx
mov ecx, r11d
mov esi, r14d
mov qword [rbp - 0x80], rbx
mov r10d, r14d
jmp 0x14003f87a
inc rbx
mov qword [rbp - 0x80], rbx
cmp byte [rbx], 0x29
jne 0x14003f19b
movzx ecx, byte [rbx + 1]
lea eax, [rcx - 0x2a]
cmp al, 1
jbe 0x14003f19b
cmp cl, 0x3f
je 0x14003f19b
cmp cl, 0x7b
jne 0x14003f167
lea rcx, [rbx + 2]
call fcn.140042d60
test eax, eax
jne 0x14003f19b
mov edx, dword [rbp - 0x78]
mov r8, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x50]
mov rdi, qword [rbp + 0x128]
mov byte [r10], 0x9d
mov rbx, qword [rbp - 0x80]
inc r10
inc rbx
mov r13, r14
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x70], r10
mov qword [rbp - 0x20], r14
jmp 0x14003c267
inc dword [r15 + 0x8c]
mov r13d, 0x7e
mov ecx, r11d
mov esi, r14d
mov r10d, r14d
jmp 0x14003f87a
movzx ecx, byte [rbx + 1]
movzx eax, cl
cmp cl, 0x21
je 0x14003f303
cmp al, 0x3d
je 0x14003f2e0
mov rax, qword [r15 + 0x18]
movzx ecx, cl
test byte [rcx + rax], 0x10
je 0x140040600
cmp r8b, 0x3c
mov eax, IsNetDrive
mov r9d, 0x27
cmove r9d, eax
inc rbx
mov qword [rbp - 0x80], rbx
movzx edx, byte [rbx]
mov r12, rbx
lea eax, [rdx - 0x30]
cmp al, 9
jbe 0x1400405f5
mov rcx, qword [r15 + 0x18]
movzx eax, dl
test byte [rax + rcx], 0x10
je 0x14003f230
nop word [rax + rax]
inc rbx
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
test byte [rax + rcx], 0x10
jne 0x14003f220
mov r11, qword [rbp + 0x168]
mov r15d, ebx
sub r15d, r12d
test r11, r11
je 0x14003f4e0
mov rdx, qword [rbp + 0x160]
mov r14d, dword [rdx + 0x70]
inc r14d
cmp byte [rbx], r9b
jne 0x14004067b
mov ecx, dword [rdx + 0x60]
cmp ecx, 0x2710
jge 0x140040670
lea eax, [r15 + 3]
cmp eax, dword [rdx + 0x64]
jle 0x14003f282
mov dword [rdx + 0x64], eax
cmp r15d, 0x20
jg 0x140040623
mov rdi, qword [rdx + 0x50]
xor eax, eax
mov esi, eax
test ecx, ecx
jle 0x14003f432
cmp r15d, dword [rdi + 8]
jne 0x14003f40c
mov rdx, qword [rdi]
movsxd r8, r15d
mov rcx, r12
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x14003f405
cmp dword [rdi + 0xc], r14d
je 0x14003f427
test dword [rbp - 0x60], 0x80000
je 0x14004062e
mov rdx, qword [rbp + 0x160]
mov eax, 1
mov dword [rdx + 0xa8], eax
jmp 0x14003f416
mov r13d, 0x7f
inc dword [r15 + 0x8c]
add rbx, 2
mov ecx, r11d
mov esi, r14d
mov r10d, r14d
mov qword [rbp - 0x80], rbx
jmp 0x14003f87a
mov r13d, pe_nt_image_headers64
jmp 0x14003f2e6
mov r13d, 0x81
jmp 0x14003f124
mov byte [r10], 0x76
mov rbx, qword [rbp - 0x80]
mov eax, 1
inc rbx
mov dword [rbp + 0x44], eax
mov r8, r10
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
mov qword [rbp - 0x30], r10
mov ecx, r14d
cmp al, 0x30
jb 0x14003f36a
nop
cmp al, 0x39
ja 0x14003f36a
lea ecx, [rcx + rcx*4]
inc rbx
movzx eax, al
lea ecx, [rcx - 0x18]
mov qword [rbp - 0x80], rbx
lea ecx, [rax + rcx*2]
cmp ecx, 0xff
jg 0x14004060e
movzx eax, byte [rbx]
cmp al, 0x30
jae 0x14003f340
cmp byte [rbx], 0x29
jne 0x140040619
mov edx, dword [rbp - 0x78]
mov rdi, qword [rbp + 0x128]
mov byte [r10 + 1], cl
mov eax, dword [rbp - 0x80]
mov rcx, qword [rbp - 0x50]
add r10, 6
sub eax, dword [r15 + 0x30]
mov qword [rbp - 0x70], r10
mov r13, r14
inc eax
mov qword [rbp - 0x20], r14
sar eax, 8
mov byte [r10 - 4], al
movzx eax, byte [rbp - 0x80]
sub al, byte [r15 + 0x30]
mov word [r10 - 2], r14w
inc al
mov byte [r10 - 3], al
mov rbx, qword [rbp - 0x80]
inc rbx
mov qword [rbp - 0x80], rbx
jmp 0x14003c267
inc rbx
mov qword [rbp - 0x80], rbx
movzx r8d, byte [rbx]
lea eax, [r8 - 0x3d]
cmp al, 1
jbe 0x14003f3ef
cmp r8b, 0x3c
je case.0x14003ec11.35
mov dword [rdi], MsiGetActiveDatabase
jmp 0x140040815
cmp r8b, 0x3e
mov r13d, r14d
mov r9d, MsiGetActiveDatabase
sete r13b
jmp 0x14003fbea
mov rdx, qword [rbp + 0x160]
cmp dword [rdi + 0xc], r14d
je 0x140040644
inc esi
add rdi, 0x10
cmp esi, dword [rdx + 0x60]
jl 0x14003f292
jmp 0x14003f42e
mov rdx, qword [rbp + 0x160]
mov rbx, qword [rbp - 0x80]
mov eax, dword [rdx + 0x60]
cmp esi, eax
jl 0x14003f4e0
mov ecx, dword [rdx + 0x68]
cmp eax, ecx
jl 0x14003f4a0
lea edi, [rcx + rcx]
movsxd rcx, edi
shl rcx, 4
call qword [0x140264ff8]
mov rbx, rax
test rax, rax
je 0x14004065a
mov rax, qword [rbp + 0x160]
mov rcx, rbx
movsxd r8, dword [rax + 0x68]
mov rdx, qword [rax + 0x50]
shl r8, 4
call sub.msvcrt.dll_memcpy
mov rdx, qword [rbp + 0x160]
cmp dword [rdx + 0x68], 0x14
jle 0x14003f499
mov rcx, qword [rdx + 0x50]
call qword [0x140265000]
mov rdx, qword [rbp + 0x160]
mov qword [rdx + 0x50], rbx
mov dword [rdx + 0x68], edi
movsxd rcx, dword [rdx + 0x60]
mov rax, qword [rdx + 0x50]
add rcx, rcx
mov qword [rax + rcx*8], r12
movsxd rcx, dword [rdx + 0x60]
mov rax, qword [rdx + 0x50]
add rcx, rcx
mov dword [rax + rcx*8 + 8], r15d
mov r15, qword [rbp + 0x160]
movsxd rcx, dword [r15 + 0x60]
mov rax, qword [r15 + 0x50]
add rcx, rcx
mov dword [rax + rcx*8 + 0xc], r14d
inc dword [r15 + 0x60]
mov rbx, qword [rbp - 0x80]
jmp 0x14003f4e7
mov r15, qword [rbp + 0x160]
mov r10, qword [rbp - 0x70]
inc rbx
mov qword [rbp - 0x80], rbx
inc dword [r15 + 0x70]
mov eax, dword [r15 + 0x70]
mov esi, 2
shr eax, 8
mov byte [r10 + 3], al
movzx eax, byte [r15 + 0x70]
mov byte [r10 + 4], al
mov rbx, qword [rbp - 0x80]
jmp 0x14003f873
mov r9d, MsiGetActiveDatabase
lea r13d, [r9 - 0x28]
jmp 0x14003fbea
inc rbx
mov esi, r14d
mov qword [rbp - 0x80], rbx
cmp byte [rbx], 0x29
je 0x14003fd07
mov dword [rdi], 0x1d
jmp 0x140040815
mov r9d, MsiGetActiveDatabase
mov r10d, r14d
jmp 0x14003f6a3
bt r11d, 0xc
jae 0x14003f4f2
mov r13d, 0x83
mov ecx, r11d
mov esi, r14d
mov r10d, r14d
jmp 0x14003f87a
mov r9d, dword [r15 + 0x70]
xor r14d, r14d
lea rdx, [rbp + 0x6c]
lea rcx, [rbp - 0x80]
mov r8, rdi
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], r11d
call fcn.14003aad0
movsxd rsi, eax
cmp dword [rdi], r14d
jne 0x1400404c0
test eax, eax
jne 0x14003f5e0
mov eax, dword [rbp + 0x6c]
cmp dword [rbp - 0x68], r14d
je 0x14003f5c8
cmp eax, 0x7f
jbe 0x14003f5c8
lea rdx, [rbp + 8]
mov ecx, eax
call fcn.140055d90
mov r10, qword [rbp - 0x70]
mov r11d, dword [rbp - 0x60]
mov r9d, eax
jmp 0x14003c44d
mov r10, qword [rbp - 0x70]
mov r11d, dword [rbp - 0x60]
mov byte [rbp + 8], al
mov eax, 1
mov r9d, eax
jmp 0x14003c44d
mov r12d, dword [rbp - 0x48]
cmp r12d, 0xfffffffe
jne 0x14003f5fd
lea eax, [rsi - 6]
cmp eax, 0x10
mov eax, 0xffffffff
cmovbe r12d, eax
mov dword [rbp - 0x48], r12d
mov eax, dword [rbp - 4]
mov dword [rbp - 8], r12d
mov r12d, dword [rbp - 0x10]
mov dword [rbp + 0x18], eax
mov eax, dword [rbp - 0xc]
mov dword [rbp - 0x28], r12d
mov dword [rbp + 4], eax
cmp esi, 0x1b
jne 0x14003fb98
mov rbx, qword [rbp - 0x80]
mov rax, qword [r15 + 0x40]
mov r9d, 0x27
sub rax, qword [r15 + 0x20]
inc rbx
mov r8d, IsNetDrive
mov qword [rbp - 0x80], rbx
cmp byte [rbx], 0x3c
lea rdx, [rbx + 1]
mov qword [rbp + 0x20], rax
movzx eax, byte [rdx]
cmove r9d, r8d
mov dword [rbp - 0x5c], r14d
mov r10d, r14d
cmp eax, 0x39
ja 0x14003fb90
movabs rcx, 0x3ff280000000000
bt rcx, rax
jae 0x14003fb90
movzx eax, byte [rbx + 2]
lea rcx, [rbx + 2]
cmp al, 0x30
jb 0x14003f68f
nop
cmp al, 0x39
ja 0x14003f68f
movzx eax, byte [rcx + 1]
inc rcx
cmp al, 0x30
jae 0x14003f680
cmp byte [rcx], r9b
jne 0x14004071c
mov r11d, dword [rbp - 0x60]
mov rbx, rdx
mov qword [rbp - 0x80], rdx
movzx r8d, byte [rbx]
cmp r8d, 0x2b
jne 0x14003f733
inc rbx
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
sub al, 0x30
cmp al, 9
ja 0x140040686
movzx edx, byte [rbx]
mov esi, r14d
cmp dl, 0x30
jb 0x14003f6fc
cmp dl, 0x39
ja 0x14003f6fc
cmp esi, 0xccccccb
jg 0x1400406e5
inc rbx
lea esi, [rsi + rsi*4]
movzx eax, dl
mov qword [rbp - 0x80], rbx
movzx edx, byte [rbx]
lea esi, [rsi - 0x18]
lea esi, [rax + rsi*2]
cmp dl, 0x30
jae 0x14003f6d0
cmp byte [rbx], r9b
jne 0x14003f53a
cmp r8d, 0x2d
jne 0x14003fb75
test esi, esi
je 0x140040711
mov eax, dword [r15 + 0x70]
sub eax, esi
lea esi, [rax + 1]
test esi, esi
jg 0x14003fd03
mov dword [rdi], SafeArrayGetLBound
jmp 0x140040815
cmp r8d, 0x2d
jne 0x14003f6c5
movzx eax, byte [rbx + 1]
lea rcx, [rbx + 1]
sub al, 0x30
cmp al, 9
ja 0x14003f758
mov rbx, rcx
mov qword [rbp - 0x80], rcx
jmp 0x14003f6c5
mov r10d, r14d
jmp 0x14003f75f
lea r9, [0x140000000]
mov eax, r14d
mov ecx, r14d
lea rdx, [rbp - 0x18]
mov dword [rbp - 0x38], eax
mov dword [rbp - 0x18], ecx
cmp r8b, 0x29
je 0x14003f7fd
nop dword [rax]
cmp r8b, 0x3a
je 0x14003f7f7
inc rbx
movzx eax, r8b
sub eax, 0x2d
mov qword [rbp - 0x80], rbx
cmp eax, 0x4b
ja case.0x14003f7b3.53
cdqe
movzx eax, byte [r9 + rax + 0x40a80]
mov ecx, dword [r9 + rax*4 + 0x40a5c]
add rcx, r9
jmp rcx
lea rdx, [rbp - 0x38]
jmp 0x14003f7ed
or dword [rdx], 0x80000
or dword [r15 + 0x94], 0x400
jmp 0x14003f7ed
or dword [rdx], 1
jmp 0x14003f7ed
or dword [rdx], 2
jmp 0x14003f7ed
or dword [rdx], 4
jmp 0x14003f7ed
or dword [rdx], 8
jmp 0x14003f7ed
or dword [rdx], 0x200
jmp 0x14003f7ed
or dword [rdx], 0x40
movzx r8d, byte [rbx]
cmp r8b, 0x29
jne 0x14003f780
mov ecx, dword [rbp - 0x18]
mov eax, dword [rbp - 0x38]
or ecx, r11d
not eax
and ecx, eax
cmp byte [rbx], 0x29
jne 0x14003f85a
mov r10, qword [rbp - 0x70]
mov edx, dword [rbp - 0x78]
mov r8, qword [rbp - 0x30]
mov rdi, qword [rbp + 0x128]
mov eax, ecx
mov r11d, ecx
shr eax, 9
mov dword [rbp - 0x60], ecx
mov r13, r14
and eax, 1
mov qword [rbp - 0x20], r14
mov dword [rbp + 0x78], eax
xor eax, 1
mov dword [rbp + 0x7c], eax
mov eax, ecx
and eax, 1
inc rbx
mov dword [rbp + 0x28], eax
mov rax, qword [rbp + 0x110]
mov qword [rbp - 0x80], rbx
mov dword [rax], ecx
mov rcx, qword [rbp - 0x50]
jmp 0x14003c267
mov esi, dword [rbp - 0x5c]
inc rbx
mov r13d, 0x83
mov qword [rbp - 0x80], rbx
jmp 0x14003f87a
mov r15, qword [rbp + 0x160]
mov r10d, dword [rbp - 0x64]
mov ecx, dword [rbp - 0x58]
mov rdx, qword [rbp - 0x70]
xor r9d, r9d
inc dword [r15 + 0x88]
cmp dword [r15 + 0x88], 0xfa
jg 0x1400406d3
lea eax, [r13 - 0x7d]
cmp eax, 3
ja 0x14003f8b9
cmp dword [r15 + 0xb0], 0
je 0x14003f8b9
mov qword [rbp - 0x20], r9
mov dword [r15 + 0xb0], r9d
jmp 0x14003f8c9
mov rax, qword [r15 + 0x40]
mov qword [rbp - 0x20], rdx
sub rax, qword [r15 + 0x20]
mov qword [rbp + 0x20], rax
mov r14, qword [rbp + 0x168]
mov byte [rdx], r13b
mov edi, dword [r15 + 0x98]
mov ebx, dword [r15 + 0x70]
mov r8d, r9d
mov qword [rbp + 0x10], rdx
mov edx, r9d
lea eax, [r13 - 0x7f]
mov dword [rbp + 0x2c], r9d
cmp eax, 1
lea rax, [rbp + 0x2c]
setbe r8b
test r14, r14
cmove rax, r9
cmp r13d, 0x87
mov qword [rsp + 0x70], rax
mov rax, qword [rbp + 0x150]
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x60], rax
sete dl
lea rax, [rbp + 0x38]
add edx, dword [rbp + 0x158]
mov qword [rsp + 0x58], rax
lea rax, [rbp + 0x68]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x3c]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x80]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x38], edx
mov dword [rsp + 0x30], esi
mov rsi, qword [rbp + 0x128]
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], r8d
lea r8, [rbp - 0x80]
lea rdx, [rbp + 0x10]
mov r9, rsi
call fcn.140040ad0
test eax, eax
je 0x1400404c0
dec dword [r15 + 0x88]
cmp r13d, 0x81
jne 0x14003fa07
mov r10, qword [rbp - 0x70]
cmp dword [r15 + 0x70], ebx
ja 0x14003f99e
mov byte [r10], 0x82
mov eax, dword [rbp + 0x38]
mov ecx, dword [rbp + 0x3c]
or r8d, 0xffffffff
mov rbx, qword [rbp - 0x80]
cmp byte [rbx], 0x29
jne 0x1400406c8
test r14, r14
je 0x14003faa1
mov r8d, dword [rbp + 0x2c]
mov edx, dword [r14]
mov ecx, 0x7fffffeb
lea eax, [r8 - 6]
sub ecx, edx
cmp ecx, eax
jl 0x1400406bd
mov r12d, dword [rbp - 0x28]
mov r13, qword [rbp - 0x20]
mov r11d, dword [rbp - 0x60]
lea eax, [r8 - 6]
add eax, edx
add r10, 6
mov dword [r14], eax
mov dword [r10 - 5], 0x780300
mov byte [r10 - 1], 3
mov qword [rbp - 0x70], r10
jmp 0x14004044e
lea eax, [r13 - 0x7d]
cmp eax, 3
ja 0x14003fa17
dec dword [r15 + 0x8c]
mov r10, qword [rbp - 0x70]
cmp r13d, 0x87
jne 0x14003f99e
test r14, r14
jne 0x14003f99e
xor eax, eax
mov rdx, r10
mov r8d, eax
nop dword [rax]
movzx eax, byte [rdx + 1]
inc r8d
shl eax, 8
movsxd rcx, eax
movzx eax, byte [rdx + 2]
or rcx, rax
add rdx, rcx
cmp byte [rdx], 0x78
jne 0x14003fa40
cmp byte [r10 + 3], 0x91
jne 0x14003fa78
cmp r8d, 1
jg 0x14004069f
mov r13d, 0x91
jmp 0x14003f99e
cmp r8d, 2
jg 0x1400406ae
cmp r8d, 1
jne 0x14003f99e
or r8d, 0xffffffff
mov eax, r8d
mov ecx, r8d
mov dword [rbp + 0x38], eax
mov dword [rbp + 0x3c], ecx
jmp 0x14003f9a8
mov r10, qword [rbp + 0x10]
xor r14d, r14d
mov qword [rbp - 0x70], r10
cmp r13d, 0x91
je 0x14003fb6f
mov edx, dword [rbp - 0xc]
mov r12d, dword [rbp - 0x10]
mov esi, dword [rbp - 0x48]
mov dword [rbp + 4], edx
mov edx, dword [rbp - 4]
mov dword [rbp - 0x28], r12d
mov dword [rbp - 8], esi
mov dword [rbp + 0x40], r14d
mov dword [rbp + 0x18], edx
cmp r13d, 0x81
jl 0x14003fb59
cmp esi, 0xfffffffe
jne 0x14003fb0c
test ecx, ecx
js 0x14003fb02
mov edx, dword [rbp + 0x80]
mov dword [rbp - 0x48], ecx
mov dword [rbp + 0x40], 1
mov dword [rbp - 4], edx
mov dword [rbp - 8], r8d
jmp 0x14003fb24
mov dword [rbp - 0x48], r8d
mov dword [rbp - 8], r8d
jmp 0x14003fb24
test ecx, ecx
js 0x14003fb24
test eax, eax
jns 0x14003fb28
mov eax, dword [rbp + 0x80]
mov dword [rbp + 0x68], eax
mov eax, ecx
or eax, edi
mov dword [rbp + 0x38], eax
test eax, eax
js 0x14003fb33
mov r9d, dword [rbp + 0x68]
mov dword [rbp - 0xc], r9d
mov dword [rbp - 0x10], eax
mov r13, qword [rbp - 0x20]
mov r11d, dword [rbp - 0x60]
mov edx, dword [rbp - 0x78]
mov r8, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x50]
mov rdi, qword [rbp + 0x128]
inc rbx
mov qword [rbp - 0x80], rbx
jmp 0x14003c267
cmp r13d, 0x7d
jne 0x14003fb33
test eax, eax
js 0x14003fb33
test ecx, ecx
js 0x14003fb33
mov ecx, dword [rbp + 0x68]
mov dword [rbp - 0xc], ecx
jmp 0x14003fb30
mov r12d, dword [rbp - 0x28]
jmp 0x14003fb33
cmp r8d, 0x2b
jne 0x14003fd03
test esi, esi
je 0x140040711
add esi, dword [r15 + 0x70]
jmp 0x14003fd03
mov r13d, 1
jmp 0x14003fbf0
cmp esi, 0x1c
jne 0x140040050
mov rbx, qword [rbp - 0x80]
movzx eax, byte [rbx + 1]
lea rcx, [rbx + 1]
cmp al, 0x3c
je 0x14003fbbd
cmp al, 0x27
je 0x14003fbbd
cmp al, 0x7b
jne 0x140040727
mov qword [rbp - 0x80], rcx
movzx eax, byte [rcx]
mov r13d, r14d
mov rbx, rcx
cmp al, 0x3c
jne 0x14003fbd9
mov r8d, IsNetDrive
mov r9d, r8d
jmp 0x14003fbf0
cmp al, 0x27
mov r9d, 0x7d
mov eax, 0x27
cmove r9d, eax
mov r8d, IsNetDrive
inc rbx
mov qword [rbp - 0x80], rbx
mov r12, rbx
movzx edx, byte [rbx]
lea eax, [rdx - 0x30]
cmp al, 9
jbe 0x1400405f5
mov rcx, qword [r15 + 0x18]
movzx eax, dl
test byte [rax + rcx], 0x10
je 0x14003fc30
nop word [rax + rax]
inc rbx
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
test byte [rax + rcx], 0x10
jne 0x14003fc20
mov rcx, qword [rbp + 0x168]
mov edi, ebx
sub edi, r12d
test rcx, rcx
je 0x14003fdc5
mov esi, r14d
test edi, edi
je 0x140040756
cmp byte [rbx], r9b
jne 0x140040744
cmp edi, 0x20
jg 0x140040732
test r13d, r13d
jne 0x14003fc6e
inc dword [r15 + 0x84]
add dword [rcx], 0xe
cmp dword [r15 + 0xac], 0
je 0x14003fc7e
add dword [rcx], 0xc
cmp dword [r15 + 0x60], 0
mov rbx, qword [r15 + 0x50]
jle 0x14003fcf6
mov rcx, qword [rbp + 0x160]
cmp edi, dword [rbx + 8]
jne 0x14003fce2
mov rdx, qword [rbx]
movsxd r8, edi
mov rcx, r12
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x14003fcdb
mov esi, dword [rbx + 0xc]
test r13d, r13d
jne 0x14003fcef
mov rcx, qword [rbp + 0x160]
mov rcx, qword [rcx + 0x48]
test rcx, rcx
je 0x14003fcdb
nop
movzx eax, word [rcx + 8]
cmp eax, esi
je 0x14003fcd2
mov rcx, qword [rcx]
test rcx, rcx
jne 0x14003fcc0
jmp 0x14003fcdb
mov eax, 1
mov word [rcx + 0xa], ax
mov rcx, qword [rbp + 0x160]
inc r14d
add rbx, 0x10
cmp r14d, dword [rcx + 0x60]
jl 0x14003fc90
mov r15, qword [rbp + 0x160]
mov r12, qword [rbp + 0x30]
test r13d, r13d
je 0x14003fef0
mov r10, qword [rbp - 0x70]
mov r14, qword [r15 + 0x40]
mov r11, qword [rbp + 0x168]
mov rdi, qword [r15 + 0x28]
sub r14, qword [r15 + 0x20]
mov r13, r10
mov qword [rbp - 0x20], r10
mov qword [rbp + 0x20], r14
test r11, r11
jne 0x14003fe9c
mov r14d, dword [rbp - 0x68]
mov byte [r10], r11b
test esi, esi
je 0x14003fd4f
mov rcx, qword [r15 + 0x28]
mov r8d, esi
mov edx, r14d
call fcn.140039b90
mov r10, qword [rbp - 0x70]
mov rdi, rax
test rdi, rdi
jne 0x14003fe34
cmp esi, dword [r15 + 0x74]
jg 0x140040765
movsxd rcx, dword [r15 + 0x6c]
movsxd rdi, esi
add rdi, qword [r15 + 0x28]
add rcx, 0xffffffffffffff9c
add rcx, qword [r15 + 0x20]
cmp qword [r15 + 0x40], rcx
jb 0x14003fd98
mov rcx, r15
call fcn.1400417c0
mov rcx, qword [rbp + 0x128]
mov dword [rcx], eax
test eax, eax
jne 0x1400404c0
mov r10, qword [rbp - 0x70]
mov rax, qword [r15 + 0x40]
mov ecx, r10d
sub ecx, dword [r15 + 0x28]
inc ecx
sar ecx, 8
mov byte [rax], cl
mov rax, qword [r15 + 0x40]
movzx ecx, r10b
sub cl, byte [r15 + 0x28]
inc cl
mov byte [rax + 1], cl
add qword [r15 + 0x40], 2
jmp 0x14003fe9c
cmp dword [r15 + 0x60], 0
mov rsi, qword [r15 + 0x58]
mov qword [rbp + 0x30], rsi
jle 0x14003fe11
movsxd rbx, edi
nop word [rax + rax]
lea rdx, [rsi + 2]
mov r8, rbx
mov rcx, r12
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x14003fdf9
cmp byte [rbx + rsi + 2], al
je 0x14003fe09
movsxd rax, dword [r15 + 0x64]
inc r14d
add rsi, rax
cmp r14d, dword [r15 + 0x60]
jl 0x14003fde0
mov rbx, qword [rbp - 0x80]
mov qword [rbp + 0x30], rsi
cmp r14d, dword [r15 + 0x60]
jge 0x1400405e3
mov r12, qword [rbp + 0x30]
movzx esi, byte [r12]
movzx eax, byte [r12 + 1]
shl esi, 8
or esi, eax
jmp 0x14003fcfa
movzx ecx, byte [rdi + 1]
movzx eax, byte [rdi + 2]
shl ecx, 8
or ecx, eax
jne 0x14003fe9c
cmp dword [rbp + 0x158], ecx
jg 0x14003fe9c
mov rax, qword [rbp + 0x150]
mov rbx, rax
test rax, rax
je 0x14004077b
nop
mov rcx, qword [rbx + 8]
cmp rcx, rdi
jb 0x14004077b
xor eax, eax
mov r9, r15
mov r8d, r14d
mov rdx, r10
mov qword [rsp + 0x20], rax
call fcn.1400410a0
test eax, eax
je 0x14003fe98
mov rbx, qword [rbx]
test rbx, rbx
je 0x14004077b
mov r10, qword [rbp - 0x70]
jmp 0x14003fe60
mov r10, qword [rbp - 0x70]
mov r8d, dword [rbp - 0x48]
mov r12d, dword [rbp - 0x28]
mov byte [r10], 0x75
mov eax, edi
add r10, 3
xor r14d, r14d
sub eax, dword [r15 + 0x28]
mov qword [rbp - 0x70], r10
mov dword [rbp + 0x40], r14d
sar eax, 8
mov byte [r10 - 2], al
sub dil, byte [r15 + 0x28]
mov eax, 0xffffffff
mov byte [r10 - 1], dil
mov rbx, qword [rbp - 0x80]
cmp r8d, 0xfffffffe
cmove r8d, eax
mov eax, dword [rbp - 4]
mov dword [rbp + 0x18], eax
mov dword [rbp - 0x48], r8d
mov dword [rbp - 8], r8d
jmp 0x14003fb37
mov r11, qword [rbp + 0x168]
test r11, r11
jne 0x14004005c
cmp dword [r15 + 0xa8], r11d
je 0x14004005c
movsxd rdi, dword [r15 + 0x64]
mov r10d, dword [r15 + 0x60]
mov ebx, r14d
inc r14d
add rdi, r12
lea r9d, [r11 + 1]
cmp r14d, r10d
jge 0x14004005c
lea r11, [r12 + 2]
lea r8, [rdi + 2]
mov rax, r11
sub r8, r11
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14003ff53
inc rax
test ecx, ecx
jne 0x14003ff40
test edx, edx
jne 0x14003ff69
movsxd rax, dword [r15 + 0x64]
inc r14d
inc r9d
add rdi, rax
cmp r14d, r10d
jl 0x14003ff30
cmp r9d, 1
jle 0x14004005c
mov r10, qword [rbp - 0x70]
mov rdx, qword [r15 + 0x40]
mov r8d, dword [rbp - 0x48]
mov r11d, dword [rbp - 0x60]
cmp r8d, 0xfffffffe
mov eax, 0xffffffff
cmove r8d, eax
sub rdx, qword [r15 + 0x20]
test r11b, 1
setne al
mov r13, r10
mov qword [rbp - 0x20], r10
add al, 0x73
add r10, 5
mov dword [rbp - 0x48], r8d
mov byte [r10 - 5], al
mov byte [r10 - 3], bl
mov eax, ebx
shr eax, 8
mov qword [rbp - 0x70], r10
mov qword [rbp + 0x20], rdx
mov byte [r10 - 4], al
mov eax, r9d
mov byte [r10 - 1], r9b
sar eax, 8
mov byte [r10 - 2], al
cmp r12, rdi
jae 0x140040047
nop dword [rax + rax]
movzx eax, byte [r12 + 1]
movzx edx, byte [r12]
mov r9d, 1
shl edx, 8
or edx, eax
mov eax, r9d
cmp edx, 0x20
jge 0x140040002
mov ecx, edx
shl eax, cl
or dword [r15 + 0x80], eax
cmp edx, dword [r15 + 0x7c]
jle 0x140040013
mov dword [r15 + 0x7c], edx
mov rcx, qword [r15 + 0x48]
test rcx, rcx
je 0x140040037
nop dword [rax]
movzx eax, word [rcx + 8]
cmp eax, edx
je 0x140040032
mov rcx, qword [rcx]
test rcx, rcx
jne 0x140040020
jmp 0x140040037
mov word [rcx + 0xa], r9w
movsxd rax, dword [r15 + 0x64]
add r12, rax
cmp r12, rdi
jb 0x14003ffe0
mov qword [rbp + 0x30], r12
mov r12d, dword [rbp - 0x28]
jmp 0x14004044e
test esi, esi
jns 0x140040107
neg esi
jmp 0x140040063
mov r12d, dword [rbp - 0x28]
xor r14d, r14d
cmp dword [rbp - 0x48], 0xfffffffe
jne 0x140040072
or eax, 0xffffffff
mov dword [rbp - 0x48], eax
mov dword [rbp - 8], eax
mov r10, qword [rbp - 0x70]
mov rax, qword [r15 + 0x40]
mov r11d, dword [rbp - 0x60]
sub rax, qword [r15 + 0x20]
test r11b, 1
mov r13, r10
mov qword [rbp + 0x20], rax
setne al
mov qword [rbp - 0x20], r10
add al, 0x71
add r10, 3
mov r9d, 1
mov byte [r10 - 3], al
mov eax, esi
mov byte [r10 - 1], sil
sar eax, 8
mov qword [rbp - 0x70], r10
mov byte [r10 - 2], al
mov eax, r9d
cmp esi, 0x20
jge 0x1400400c1
mov ecx, esi
shl eax, cl
or dword [r15 + 0x80], eax
cmp esi, dword [r15 + 0x7c]
jle 0x1400400d2
mov dword [r15 + 0x7c], esi
mov rcx, qword [r15 + 0x48]
test rcx, rcx
je 0x14004044e
nop
movzx eax, word [rcx + 8]
cmp eax, esi
je 0x1400400f9
mov rcx, qword [rcx]
test rcx, rcx
jne 0x1400400e0
mov rbx, qword [rbp - 0x80]
jmp 0x14003fb3b
mov word [rcx + 0xa], r9w
mov rbx, qword [rbp - 0x80]
jmp 0x14003fb3b
lea eax, [rsi - 0xf]
cmp eax, 1
jbe 0x1400401b6
lea eax, [rsi - 4]
cmp eax, 1
jbe 0x140040120
cmp esi, 1
jne 0x14004012f
cmp dword [r15 + 0x78], r14d
jne 0x14004012f
mov eax, 1
mov dword [r15 + 0x78], eax
mov r10, qword [rbp - 0x70]
lea eax, [rsi - 0x1d]
cmp eax, 5
ja 0x140040176
mov rcx, qword [rbp - 0x80]
mov r11d, dword [rbp - 0x60]
mov edx, dword [rbp - 0x78]
mov r8, qword [rbp - 0x30]
mov rdi, qword [rbp + 0x128]
inc rcx
lea rbx, [0x140000000]
mov qword [rbp - 0x50], rcx
mov rbx, qword [rbx + rsi*8 + 0x264f38]
dec rbx
inc rbx
mov qword [rbp - 0x80], rbx
jmp 0x14003c267
mov rcx, qword [r15 + 0x40]
lea eax, [rsi - 6]
mov r13, r14
cmp eax, 0x10
cmovbe r13, r10
sub rcx, qword [r15 + 0x20]
mov qword [rbp + 0x20], rcx
mov qword [rbp - 0x20], r13
cmp dword [rbp - 0x68], r14d
jne 0x1400401a3
cmp esi, 0xe
jne 0x1400401a3
mov esi, recvfrom
mov byte [r10], sil
mov rbx, qword [rbp - 0x80]
inc r10
mov qword [rbp - 0x70], r10
jmp 0x14003fb37
lea r9, [rbp - 0x38]
lea r8, [rbp - 0x18]
lea rdx, [rbp + 0x9c]
lea rcx, [rbp - 0x80]
mov dword [rbp - 0x18], r14d
mov dword [rbp - 0x38], r14d
mov qword [rsp + 0x20], rdi
call fcn.1400429a0
test eax, eax
je 0x1400404c0
mov r10, qword [rbp - 0x70]
mov rcx, qword [r15 + 0x40]
mov eax, r14d
sub rcx, qword [r15 + 0x20]
cmp esi, 0x10
mov r13, r10
sete al
mov qword [rbp - 0x20], r10
mov qword [rbp + 0x20], rcx
cmp eax, dword [rbp + 0x9c]
setne al
add al, 0xf
add r10, 3
mov byte [r10 - 3], al
movzx eax, byte [rbp - 0x18]
mov qword [rbp - 0x70], r10
mov byte [r10 - 2], al
movzx eax, byte [rbp - 0x38]
mov byte [r10 - 1], al
mov rbx, qword [rbp - 0x80]
jmp 0x14003fb37
movzx eax, byte [rbp + 0xa]
and eax, 0x3f
test r8b, 0x10
jne 0x140040261
movzx ecx, byte [rbp + 9]
and r8d, 0xf
and ecx, 0x3f
shl ecx, 6
or ecx, eax
mov eax, r8d
shl eax, 0xc
mov r8d, ecx
or r8d, eax
jmp 0x14004030f
test r8b, 8
jne 0x140040292
movzx ecx, byte [rbp + 9]
and r8d, 7
and ecx, 0x3f
shl ecx, 6
or ecx, eax
mov eax, r8d
shl eax, 0x12
shl ecx, 6
mov r8d, ecx
or r8d, eax
movzx eax, byte [rbp + 0xb]
and eax, 0x3f
or r8d, eax
jmp 0x14004030f
test r8b, 4
jne 0x1400402cf
movzx ecx, byte [rbp + 9]
and r8d, 3
and ecx, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [rbp + 0xb]
and eax, 0x3f
shl ecx, 6
or ecx, eax
mov eax, r8d
shl eax, 0x18
shl ecx, 6
mov r8d, ecx
or r8d, eax
movzx eax, byte [rbp + 0xc]
and eax, 0x3f
or r8d, eax
jmp 0x14004030f
movzx edx, byte [rbp + 9]
and r8d, 1
and edx, 0x3f
mov ecx, r8d
shl edx, 6
shl ecx, 0x1e
or edx, eax
movzx eax, byte [rbp + 0xb]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [rbp + 0xc]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [rbp + 0xd]
and eax, 0x3f
shl edx, 6
or edx, eax
mov r8d, edx
or r8d, ecx
mov eax, r8d
lea r8, [0x140000000]
cdq
and edx, 0x7f
add eax, edx
mov ecx, eax
and eax, 0x7f
sub eax, edx
sar ecx, 7
movsxd rcx, ecx
cdqe
movzx edx, byte [rcx + r8 + 0xd5eb0]
shl rdx, 7
add rdx, rax
movzx eax, word [r8 + rdx*2 + 0xd80b0]
movzx ecx, byte [r8 + rax*8 + 0xd4833]
test ecx, ecx
je 0x14004037e
mov word [r10], 0x910
mov byte [r10 + 2], cl
add r10, 3
cmp dword [rbp - 0x48], 0xfffffffe
mov qword [rbp - 0x70], r10
jne 0x14004044e
or edi, 0xffffffff
mov dword [rbp - 8], edi
mov dword [rbp - 0x48], edi
jmp 0x14004044e
test r11b, 1
setne al
inc r10
add al, 0x1d
mov qword [rbp - 0x70], r10
mov byte [r10 - 1], al
test r9d, r9d
je 0x1400403b7
lea rcx, [rbp + 8]
mov edx, r9d
nop
movzx eax, byte [rcx]
inc r10
lea rcx, [rcx + 1]
mov byte [r10 - 1], al
dec rdx
jne 0x1400403a0
mov qword [rbp - 0x70], r10
movzx eax, byte [rbp + 8]
cmp al, 0xd
je 0x1400403c3
cmp al, 0xa
jne 0x1400403ce
or dword [r15 + 0x94], 0x800
mov esi, dword [rbp - 0x48]
mov r12d, dword [rbp - 0x10]
mov dword [rbp - 0x28], r12d
cmp esi, 0xfffffffe
jne 0x14004041b
mov ecx, dword [rbp - 0xc]
or edi, 0xffffffff
mov dword [rbp + 4], ecx
mov dword [rbp - 8], edi
cmp r9d, 1
je 0x1400403fe
cmp dword [rbp + 0x28], 0
je 0x1400403fe
mov dword [rbp - 0x10], edi
mov dword [rbp - 0x48], edi
jmp 0x14004044e
movzx r14d, al
mov eax, dword [rbp + 0x28]
mov dword [rbp - 0x48], eax
mov dword [rbp - 4], r14d
cmp r9d, 1
je 0x14004044e
mov eax, dword [r15 + 0x98]
jmp 0x140040442
mov r14d, dword [rbp - 4]
mov eax, dword [rbp - 0xc]
mov dword [rbp - 8], esi
mov dword [rbp + 0x18], r14d
mov dword [rbp + 4], eax
cmp r9d, 1
je 0x140040438
cmp dword [rbp + 0x28], 0
jne 0x14004044e
mov eax, dword [r15 + 0x98]
or eax, dword [rbp + 0x28]
movzx r9d, byte [r10 - 1]
mov dword [rbp - 0x10], eax
mov dword [rbp - 0xc], r9d
mov rbx, qword [rbp - 0x80]
mov r8, qword [rbp - 0x30]
mov edx, dword [rbp - 0x78]
mov rcx, qword [rbp - 0x50]
mov rdi, qword [rbp + 0x128]
xor r14d, r14d
inc rbx
mov qword [rbp - 0x80], rbx
jmp 0x14003c267
mov dword [rdi], SafeArrayPutElement
jmp 0x140040815
movsxd rax, dword [r15 + 0x6c]
mov ecx, 0x57
add rax, qword [r15 + 0x20]
cmp r10, rax
mov eax, reloc.WS2_32.dll_gethostbyname
cmovae ecx, eax
mov dword [rdi], ecx
jmp 0x140040815
cmp byte [rbx + 1], 0x3a
mov eax, 0x1f
mov ecx, recvfrom
cmove eax, ecx
jmp 0x140040813
mov rax, qword [rbp + 0x128]
mov dword [rax], 0x1e
mov rbx, qword [rbp - 0x80]
jmp 0x140040815
mov rcx, qword [rbp + 0x128]
mov eax, 0x1f
mov dword [rcx], eax
jmp 0x140040815
mov dword [r14], 7
jmp 0x140040815
mov rbx, qword [rbp - 0x80]
mov dword [r14], 0x47
jmp 0x140040815
mov dword [r14], 0x53
jmp 0x140040815
mov dword [r14], 8
jmp 0x140040815
mov rax, qword [rbp + 0x128]
mov dword [rax], 6
jmp 0x140040815
mov rax, qword [rbp + 0x128]
mov dword [rax], SafeArrayPutElement
jmp 0x140040815
mov dword [rdi], 9
jmp 0x140040815
mov dword [rdi], 0x4b
jmp 0x140040815
mov rax, qword [rbp + 0x128]
mov rbx, qword [rbp - 0x80]
mov dword [rax], 0x3b
jmp 0x140040815
mov rax, qword [rbp + 0x128]
mov rbx, qword [rbp - 0x80]
mov dword [rax], reloc.SHELL32.dll_IsNetDrive
jmp 0x140040815
mov rax, qword [rbp + 0x128]
mov dword [rax], 0x3c
jmp 0x140040815
mov dword [rdi], 0x3c
jmp 0x140040815
mov dword [rdi], 0x1c
jmp 0x140040815
movzx eax, byte [rbx]
cmp al, 0x30
jb 0x1400405b7
cmp al, 0x39
ja 0x1400405b7
inc rbx
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
cmp al, 0x30
jae 0x1400405a5
mov dword [rdi], IsNetDrive
jmp 0x140040815
mov dword [rdi], 0x23
jmp 0x140040815
mov rax, qword [rbp + 0x128]
mov dword [rax], IsNetDrive
jmp 0x140040815
mov rbx, qword [rbp - 0x80]
mov rax, qword [rbp + 0x128]
mov dword [rax], SafeArrayGetLBound
jmp 0x140040815
mov dword [rdi], 0x54
jmp 0x140040815
inc rbx
mov dword [rdi], SafeArrayPutElement
jmp 0x140040815
mov dword [rdi], 0x26
jmp 0x140040815
mov eax, 0x27
jmp 0x140040813
mov dword [rdi], gethostbyaddr
jmp 0x140040815
mov rax, qword [rbp + 0x128]
mov rbx, qword [rbp - 0x80]
mov dword [rax], MsiGetActiveDatabase
jmp 0x140040815
mov rax, qword [rbp + 0x128]
mov rbx, qword [rbp - 0x80]
mov dword [rax], IsNetDrive
jmp 0x140040815
mov rax, qword [rbp + 0x128]
mov rbx, qword [rbp - 0x80]
mov dword [rax], SafeArrayPutElement
jmp 0x140040815
mov dword [rdi], gethostbyaddr
jmp 0x140040815
mov dword [rdi], MsiGetActiveDatabase
jmp 0x140040815
mov dword [rdi], IsNetDrive
jmp 0x140040815
mov dword [rdi], recvfrom
dec rbx
jmp 0x140040815
mov rbx, qword [rbp - 0x80]
mov dword [rsi], gethostname
jmp 0x140040815
mov rbx, qword [rbp - 0x80]
mov dword [rsi], 0x1b
jmp 0x140040815
mov dword [rsi], SafeArrayPutElement
jmp 0x140040815
mov dword [rsi], SafeArrayGetLBound
jmp 0x140040815
mov rax, qword [rbp + 0x128]
mov dword [rax], 0x52
jmp 0x140040815
movzx eax, byte [rbx]
cmp al, 0x30
jb 0x1400405b7
cmp al, 0x39
ja 0x1400405b7
inc rbx
mov qword [rbp - 0x80], rbx
movzx eax, byte [rbx]
cmp al, 0x30
jae 0x1400406f0
mov dword [rdi], IsNetDrive
jmp 0x140040815
mov dword [rdi], 0x3a
jmp 0x140040815
mov dword [rdi], reloc.WS2_32.dll_gethostname
jmp 0x140040815
mov dword [rdi], MsiGetPropertyW
jmp 0x140040815
mov rax, qword [rbp + 0x128]
mov dword [rax], gethostbyaddr
jmp 0x140040815
mov rax, qword [rbp + 0x128]
mov dword [rax], MsiGetActiveDatabase
jmp 0x140040815
mov rax, qword [rbp + 0x128]
mov dword [rax], r8d
jmp 0x140040815
mov rax, qword [rbp + 0x128]
mov rbx, qword [rbp - 0x80]
mov dword [rax], SafeArrayGetLBound
jmp 0x140040815
mov rax, qword [rbp + 0x128]
mov rbx, qword [rbp - 0x80]
mov dword [rax], MsiGetActiveDatabase
jmp 0x140040815
mov rax, qword [rbp + 0x130]
mov ecx, dword [rbp - 4]
mov r11, qword [rbp + 0x120]
mov dword [rax], ecx
mov rax, qword [rbp + 0x138]
mov ecx, dword [rbp - 0x48]
mov dword [rax], ecx
mov rax, qword [rbp + 0x140]
mov ecx, dword [rbp - 0xc]
mov dword [rax], ecx
mov rax, qword [rbp + 0x148]
mov ecx, dword [rbp - 0x10]
mov dword [rax], ecx
mov rax, qword [rbp + 0x118]
mov qword [rax], r10
mov qword [r11], rbx
test r9, r9
je 0x140040807
mov edx, dword [r9]
mov r8, qword [rbp + 0x70]
mov eax, 0x7fffffeb
sub eax, edx
movsxd rcx, eax
mov rax, r10
sub rax, r8
cmp rcx, rax
jge 0x1400407fe
mov dword [rdi], SafeArrayPutElement
jmp 0x14004081c
sub r10d, r8d
add r10d, edx
mov dword [r9], r10d
mov eax, 1
jmp 0x140040821
mov eax, reloc.WS2_32.dll_gethostbyname
mov dword [rdi], eax
mov r11, qword [rbp + 0x120]
mov qword [r11], rbx
xor eax, eax
add rsp, 0x1c8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret