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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x98
mov rax, qword [rcx + 0x10]
xor r14d, r14d
xor r15b, r15b
mov qword [rsp + 0x60], r14
mov byte [rsp + 0x44], r15b
mov edi, r14d
mov dword [rsp + 0x70], r14d
mov rbp, r8
mov qword [rsp + 0x88], rax
mov rbx, rdx
mov rsi, rcx
call fcn.1400ec180
mov r8d, dword [rsi + 0x5c]
lea edx, [r14 + 0x2c]
xor r9d, r9d
mov dword [rsp + 0x20], r14d
lea ecx, [r8 + 1]
mov dword [rsi + 0x5c], ecx
mov rcx, rax
call fcn.1401089e0
movsxd rcx, dword [rbx + 0x14]
mov r11d, r14d
mov r12, qword [rbx + 0x20]
mov ebx, r14d
mov rdx, qword [rbp + 0x20]
mov dword [rsp + 0x74], eax
imul rax, rcx, 0x38
mov rcx, qword [rsp + 0x100]
add rax, r12
mov dword [rsp + 0x40], r14d
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x78], rax
mov r13, qword [rcx + 0x48]
movabs rcx, 0x8000000000000000
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x48], rbx
cmp r12, rax
jae 0x14007bd15
nop dword [rax]
cmp qword [r13], 0
jne 0x14007babd
test byte [r12 + 0x1c], 2
jne 0x14007babd
mov rbx, qword [r12]
test byte [rbx + 4], 1
jne 0x14007bab8
mov r8d, dword [rbp + 0x48]
mov edx, 3
mov rcx, rbx
call fcn.140082420
test eax, eax
je 0x14007bab3
mov rcx, qword [rsi]
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
call fcn.140081ca0
mov rbx, qword [rsi]
mov rbp, rax
test rdi, rdi
jne 0x14007b5e7
mov rdi, rax
mov qword [rsp + 0x60], rax
jmp 0x14007bab3
test rbp, rbp
je 0x14007bab3
mov rcx, rdi
call fcn.14007fd70
test eax, eax
jne 0x14007b889
mov rcx, rbp
call fcn.14007fd70
test eax, eax
jne 0x14007b889
test rbx, rbx
je 0x14007b6da
cmp byte [rbx + 0x51], al
je 0x14007b679
mov rsi, r14
test dword [rdi + 4], 0x4000
jne 0x14007b764
mov rdx, qword [rdi + 0x10]
mov rcx, rbx
call fcn.1400dcc80
mov rdx, qword [rdi + 0x18]
mov rcx, rbx
call fcn.1400dcc80
mov eax, dword [rdi + 4]
bt eax, 0x10
jae 0x14007b65e
mov rdx, qword [rdi + 8]
mov rcx, rbx
call fcn.1400d6010
mov eax, dword [rdi + 4]
mov rdx, qword [rdi + 0x20]
mov rcx, rbx
bt eax, 0xb
jae 0x14007b75f
call fcn.140100730
jmp 0x14007b764
cmp byte [rbx + 0x152], 0
mov eax, 0x48
je 0x14007b6df
cmp ax, word [rbx + 0x150]
jbe 0x14007b698
inc dword [rbx + 0x160]
jmp 0x14007b6df
mov rsi, qword [rbx + 0x168]
test rsi, rsi
jne 0x14007b6ac
inc dword [rbx + 0x164]
jmp 0x14007b6df
mov rax, qword [rsi]
mov qword [rbx + 0x168], rax
mov eax, dword [rbx + 0x154]
inc eax
mov dword [rbx + 0x154], eax
inc dword [rbx + 0x15c]
cmp eax, dword [rbx + 0x158]
jle 0x14007b701
mov dword [rbx + 0x158], eax
jmp 0x14007b701
mov eax, 0x48
mov rcx, rax
call fcn.1400f1360
mov rsi, rax
test rax, rax
jne 0x14007b701
test rbx, rbx
je 0x14007b6f8
mov byte [rbx + 0x51], 1
test rax, rax
je 0x14007b621
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov rcx, rsi
movups xmmword [rsi + 0x10], xmm0
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x30], xmm0
mov qword [rsi + 0x40], rax
mov eax, 0xffffffff
mov word [rsi + 0x32], ax
mov byte [rsi], 0x48
mov dword [rsi + 0x28], 1
mov qword [rsi + 0x18], rbp
mov eax, dword [rbp + 4]
and eax, 0x200100
mov qword [rsi + 0x10], rdi
or dword [rsi + 4], eax
mov eax, dword [rdi + 4]
and eax, 0x200100
or dword [rsi + 4], eax
call fcn.1400827f0
mov rdi, rsi
mov qword [rsp + 0x60], rsi
jmp 0x14007baab
call fcn.1400dda80
test dword [rdi + 4], 0x8000
jne 0x14007b816
test rbx, rbx
je 0x14007b7bb
cmp qword [rbx + 0x328], 0
je 0x14007b790
mov rdx, rdi
mov rcx, rbx
call fcn.1400ae450
jmp 0x14007b816
cmp rdi, qword [rbx + 0x170]
jb 0x14007b7bb
cmp rdi, qword [rbx + 0x178]
jae 0x14007b7bb
mov rax, qword [rbx + 0x168]
mov qword [rdi], rax
dec dword [rbx + 0x154]
mov qword [rbx + 0x168], rdi
jmp 0x14007b816
cmp dword [0x1402fd010], 0
je 0x14007b80d
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x14007b7d6
call qword [0x1402fd098]
mov rcx, rdi
call qword [0x1402fd050]
dec qword [0x140303428]
movsxd rcx, eax
sub qword [0x1403033e0], rcx
mov rcx, rdi
call qword [0x1402fd040]
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x14007b816
call qword [0x1402fd0a8]
jmp 0x14007b816
mov rcx, rdi
call qword [0x1402fd040]
test dword [rbp + 4], 0x4000
jne 0x14007b868
mov rdx, qword [rbp + 0x10]
mov rcx, rbx
call fcn.1400dcc80
mov rdx, qword [rbp + 0x18]
mov rcx, rbx
call fcn.1400dcc80
mov eax, dword [rbp + 4]
bt eax, 0x10
jae 0x14007b84f
mov rdx, qword [rbp + 8]
mov rcx, rbx
call fcn.1400d6010
mov eax, dword [rbp + 4]
mov rdx, qword [rbp + 0x20]
mov rcx, rbx
bt eax, 0xb
jae 0x14007b863
call fcn.140100730
jmp 0x14007b868
call fcn.1400dda80
test dword [rbp + 4], 0x8000
jne 0x14007b87c
mov rdx, rbp
mov rcx, rbx
call fcn.1400d6010
mov rdi, rsi
mov qword [rsp + 0x60], rsi
jmp 0x14007baab
test dword [rdi + 4], 0x4000
jne 0x14007b8db
mov rdx, qword [rdi + 0x10]
mov rcx, rbx
call fcn.1400dcc80
mov rdx, qword [rdi + 0x18]
mov rcx, rbx
call fcn.1400dcc80
mov eax, dword [rdi + 4]
bt eax, 0x10
jae 0x14007b8c2
mov rdx, qword [rdi + 8]
mov rcx, rbx
call fcn.1400d6010
mov eax, dword [rdi + 4]
mov rdx, qword [rdi + 0x20]
mov rcx, rbx
bt eax, 0xb
jae 0x14007b8d6
call fcn.140100730
jmp 0x14007b8db
call fcn.1400dda80
test dword [rdi + 4], 0x8000
jne 0x14007b98d
test rbx, rbx
je 0x14007b932
cmp qword [rbx + 0x328], 0
je 0x14007b907
mov rdx, rdi
mov rcx, rbx
call fcn.1400ae450
jmp 0x14007b98d
cmp rdi, qword [rbx + 0x170]
jb 0x14007b932
cmp rdi, qword [rbx + 0x178]
jae 0x14007b932
mov rax, qword [rbx + 0x168]
mov qword [rdi], rax
dec dword [rbx + 0x154]
mov qword [rbx + 0x168], rdi
jmp 0x14007b98d
cmp dword [0x1402fd010], 0
je 0x14007b984
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x14007b94d
call qword [0x1402fd098]
mov rcx, rdi
call qword [0x1402fd050]
dec qword [0x140303428]
movsxd rcx, eax
sub qword [0x1403033e0], rcx
mov rcx, rdi
call qword [0x1402fd040]
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x14007b98d
call qword [0x1402fd0a8]
jmp 0x14007b98d
mov rcx, rdi
call qword [0x1402fd040]
mov rdx, rbp
mov rcx, rbx
call fcn.1400dcc80
lea rdx, [rsp + 0x50]
mov dword [rsp + 0x50], r14d
lea rcx, [0x1402d10ec]
call fcn.1400eb550
test eax, eax
mov ebp, r14d
mov eax, 2
cmove ebp, eax
mov esi, ebp
add rsi, 0x48
test rbx, rbx
je 0x14007b9f4
cmp byte [rbx + 0x51], 0
je 0x14007b9d9
mov rdi, r14
mov qword [rsp + 0x60], r14
jmp 0x14007baab
cmp byte [rbx + 0x152], 0
je 0x14007b9f4
movzx eax, word [rbx + 0x150]
cmp rsi, rax
jbe 0x14007ba48
inc dword [rbx + 0x160]
mov rcx, rsi
call fcn.1400f1360
mov qword [rsp + 0x60], rax
mov rdi, rax
test rax, rax
jne 0x14007ba1b
test rbx, rbx
je 0x14007ba12
mov byte [rbx + 0x51], 1
test rax, rax
je 0x14007baab
mov r8, rsi
xor edx, edx
mov rcx, rdi
call fcn.14020dff0
mov byte [rdi], 0x84
mov eax, 0xffffffff
mov word [rdi + 0x32], ax
test ebp, ebp
jne 0x14007ba8f
mov eax, dword [rsp + 0x50]
or dword [rdi + 4], 0x400
mov dword [rdi + 8], eax
jmp 0x14007baa4
mov rdi, qword [rbx + 0x168]
mov qword [rsp + 0x60], rdi
test rdi, rdi
jne 0x14007ba61
inc dword [rbx + 0x164]
jmp 0x14007b9f4
mov rax, qword [rdi]
mov qword [rbx + 0x168], rax
mov eax, dword [rbx + 0x154]
inc eax
mov dword [rbx + 0x154], eax
inc dword [rbx + 0x15c]
cmp eax, dword [rbx + 0x158]
jle 0x14007ba1b
mov dword [rbx + 0x158], eax
jmp 0x14007ba1b
lea rcx, [rdi + 0x48]
mov qword [rdi + 8], rcx
movzx eax, byte [0x1402d10ec]
mov byte [rcx], al
mov byte [rcx + 1], 0
mov dword [rdi + 0x28], 1
mov rsi, qword [rsp + 0xe0]
mov r11d, dword [rsp + 0x40]
mov rbx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0xf0]
mov eax, dword [rcx + 0x48]
cmp dword [r12 + 0xc], eax
jne 0x14007bce9
test byte [r12 + 0x1a], 2
je 0x14007bce9
mov rax, qword [rsp + 0xf8]
test qword [r12 + 0x28], rax
jne 0x14007bce9
movsxd rax, dword [r12 + 0x10]
test eax, eax
js 0x14007bce9
lea rdx, [rax + rax*2]
mov rax, qword [rcx + 0x20]
add rdx, rdx
mov rcx, qword [rax + 8]
movzx ebx, byte [rcx + rdx*8 + 0x29]
mov rcx, qword [r12]
call fcn.14007ada0
movsx ecx, al
sub ecx, 0x41
je 0x14007bb42
mov eax, r14d
cmp ecx, 1
je 0x14007bb34
cmp bl, 0x43
setge al
jmp 0x14007bb3a
cmp bl, 0x42
sete al
test eax, eax
je 0x14007bcdf
movsxd rcx, dword [r12 + 0x10]
cmp ecx, 0x40
jl 0x14007bb58
movabs rbp, 0x8000000000000000
jmp 0x14007bb60
mov ebp, 1
shl rbp, cl
test r15b, r15b
jne 0x14007bb92
mov rax, qword [rsp + 0x68]
lea rcx, [rcx + rcx*2]
add rcx, rcx
lea rdx, str.automatic_index_on__s__s_
mov r9, qword [rax + 8]
mov r8, qword [rax]
mov r9, qword [r9 + rcx*8]
mov ecx, 0x11c
call fcn.14006be40
mov byte [rsp + 0x44], 1
mov rbx, qword [rsp + 0x48]
test rbx, rbp
jne 0x14007bce4
mov r9, qword [rsp + 0x58]
mov r13d, dword [rsp + 0x40]
mov rbx, qword [rsi]
inc r13d
movzx eax, word [r9 + 0x30]
cmp eax, r13d
jl 0x14007bbc3
mov r14, qword [r9 + 0x38]
jmp 0x14007bc6c
lea r15d, [r13 + 7]
and r15d, 0xfffffff8
movsxd rcx, r15d
shl rcx, 3
test rbx, rbx
je 0x14007bc00
cmp byte [rbx + 0x51], 0
jne 0x14007c54b
cmp byte [rbx + 0x152], 0
je 0x14007bc00
movzx eax, word [rbx + 0x150]
cmp rcx, rax
jbe 0x14007bc94
inc dword [rbx + 0x160]
call fcn.1400f1360
mov r14, rax
test rax, rax
jne 0x14007bc16
test rbx, rbx
je 0x14007bc16
mov byte [rbx + 0x51], 1
mov rsi, rax
test rax, rax
je 0x14007c543
mov r9, qword [rsp + 0x58]
movzx r8d, word [r9 + 0x30]
mov rcx, rsi
mov rdx, qword [r9 + 0x38]
shl r8, 3
call fcn.14020d920
mov r9, qword [rsp + 0x58]
mov rdx, qword [r9 + 0x38]
lea rax, [r9 + 0x48]
cmp rdx, rax
je 0x14007bc5b
mov rcx, rbx
call fcn.1400d6010
mov r9, qword [rsp + 0x58]
mov qword [r9 + 0x38], rsi
mov rsi, qword [rsp + 0xe0]
mov word [r9 + 0x30], r15w
movsxd rax, dword [rsp + 0x40]
mov r11d, r13d
mov rbx, qword [rsp + 0x48]
or rbx, rbp
mov dword [rsp + 0x40], r13d
mov r13, qword [rsp + 0x58]
mov qword [r14 + rax*8], r12
xor r14d, r14d
mov qword [rsp + 0x48], rbx
jmp 0x14007bce9
mov rsi, qword [rbx + 0x168]
test rsi, rsi
jne 0x14007bcab
inc dword [rbx + 0x164]
jmp 0x14007bc00
mov rax, qword [rsi]
mov qword [rbx + 0x168], rax
mov eax, dword [rbx + 0x154]
inc eax
mov dword [rbx + 0x154], eax
inc dword [rbx + 0x15c]
cmp eax, dword [rbx + 0x158]
jle 0x14007bcd7
mov dword [rbx + 0x158], eax
mov r14, rsi
jmp 0x14007bc27
mov rbx, qword [rsp + 0x48]
mov r11d, dword [rsp + 0x40]
movzx r15d, byte [rsp + 0x44]
add r12, 0x38
mov rbp, qword [rsp + 0xf0]
cmp r12, qword [rsp + 0x78]
jb 0x14007b580
mov rdx, qword [rsp + 0x68]
movabs rcx, 0x8000000000000000
mov word [r13 + 0x2c], r11w
not rbx
mov word [r13 + 0x18], r11w
or rbx, rcx
mov dword [r13 + 0x28], 0x4241
mov r13d, 0x3f
mov r9, qword [rbp + 0x60]
movsx r8d, word [rdx + 0x3e]
and rbx, r9
mov qword [rsp + 0x48], rbx
cmp r13w, r8w
jge 0x14007bd54
mov r10d, r13d
mov dword [rsp + 0x50], r13d
jmp 0x14007bd62
mov dword [rsp + 0x50], r8d
mov r10d, r8d
cmp r14w, r8w
jge 0x14007bd8c
mov edx, r14d
nop word [rax + rax]
mov ecx, r11d
mov eax, edx
inc r11d
bt rbx, rax
cmovae r11d, ecx
inc edx
cmp edx, r10d
jl 0x14007bd70
mov dword [rsp + 0x40], r11d
test r9, r9
jns 0x14007bd9d
add r11d, 0xffffffc1
add r11d, r8d
mov dword [rsp + 0x40], r11d
mov rbx, qword [rsp + 0xe0]
lea esi, [r11 + 1]
movsx rbp, si
movsx r12d, si
mov rbx, qword [rbx]
lea eax, [r12 + rbp]
lea ecx, [rax*2 + 9]
add ecx, ebp
lea eax, [rbp + 0xc]
and ecx, 0xfffffff8
lea eax, [rcx + rax*8]
movsxd r15, eax
test rbx, rbx
je 0x14007bdfb
cmp byte [rbx + 0x51], 0
jne 0x14007c543
cmp byte [rbx + 0x152], 0
je 0x14007bdfb
movzx eax, word [rbx + 0x150]
cmp r15, rax
jbe 0x14007bf28
inc dword [rbx + 0x160]
mov rcx, r15
call fcn.1400f1360
mov r14, rax
test rax, rax
jne 0x14007be1d
test rbx, rbx
je 0x14007be14
mov byte [rbx + 0x51], 1
test rax, rax
je 0x14007c543
mov r8, r15
xor edx, edx
mov rcx, r14
call fcn.14020dff0
mov r11, qword [rsp + 0x68]
lea rax, [r14 + 0x60]
mov qword [r14 + 0x40], rax
lea rdx, [rax + rbp*8]
lea eax, [r12 + 1]
mov word [r14 + 0x58], si
mov rsi, qword [rsp + 0xe8]
lea rbx, str.BINARY
movsxd rcx, eax
xor r12d, r12d
mov qword [r14 + 0x10], rdx
mov qword [rsp + 0x80], r12
lea rax, [rdx + rcx*2]
mov qword [r14 + 8], rax
lea rax, [rax + rbp*2]
mov qword [r14 + 0x38], rax
mov ebp, r12d
mov eax, dword [rsp + 0x40]
mov word [r14 + 0x56], ax
mov rax, qword [rsp + 0x58]
mov qword [rax + 0x20], r14
lea rax, str.auto_index
mov qword [r14], rax
mov qword [r14 + 0x18], r11
mov rsi, qword [rsi + 0x20]
cmp rsi, qword [rsp + 0x78]
jae 0x14007c05b
mov rdi, qword [rsp + 0xe0]
mov r15d, r12d
mov rcx, qword [rsp + 0xf0]
xor r13d, r13d
nop
mov eax, dword [rcx + 0x48]
cmp dword [rsi + 0xc], eax
jne 0x14007c039
test byte [rsi + 0x1a], 2
je 0x14007c039
mov rax, qword [rsp + 0xf8]
test qword [rsi + 0x28], rax
jne 0x14007c039
movsxd rax, dword [rsi + 0x10]
test eax, eax
js 0x14007c039
lea rdx, [rax + rax*2]
mov rax, qword [rcx + 0x20]
add rdx, rdx
mov rcx, qword [rax + 8]
movzx ebx, byte [rcx + rdx*8 + 0x29]
mov rcx, qword [rsi]
call fcn.14007ada0
movsx ecx, al
sub ecx, 0x41
je 0x14007bf82
mov eax, r13d
cmp ecx, 1
je 0x14007bf74
cmp bl, 0x43
setge al
jmp 0x14007bf7a
mov r14, qword [rbx + 0x168]
test r14, r14
jne 0x14007bf3f
inc dword [rbx + 0x164]
jmp 0x14007bdfb
mov rax, qword [r14]
mov qword [rbx + 0x168], rax
mov eax, dword [rbx + 0x154]
inc eax
mov dword [rbx + 0x154], eax
inc dword [rbx + 0x15c]
cmp eax, dword [rbx + 0x158]
jle 0x14007be1d
mov dword [rbx + 0x158], eax
jmp 0x14007be1d
cmp bl, 0x42
sete al
test eax, eax
je 0x14007c02a
mov edx, dword [rsi + 0x10]
cmp edx, 0x40
jl 0x14007bf96
movabs rax, 0x8000000000000000
jmp 0x14007bfa0
mov ecx, edx
mov eax, 1
shl rax, cl
mov r8, qword [rsp + 0x80]
test r8, rax
jne 0x14007c02a
mov rcx, qword [rsi]
or r8, rax
mov rax, qword [r14 + 8]
mov qword [rsp + 0x80], r8
mov word [r12 + rax], dx
mov rdx, qword [rcx + 0x10]
mov rbx, qword [rcx + 0x18]
test dword [rdx + 4], 0x100
jne 0x14007bff3
test rbx, rbx
je 0x14007bfe3
test dword [rbx + 4], 0x100
jne 0x14007bff0
mov rcx, rdi
call fcn.1400dc920
test rax, rax
jne 0x14007c00c
mov rdx, rbx
mov rcx, rdi
call fcn.1400dc920
test rax, rax
jne 0x14007c00c
lea rbx, str.BINARY
mov rcx, rbx
jmp 0x14007c016
mov rcx, qword [rax]
lea rbx, str.BINARY
mov rax, qword [r14 + 0x40]
inc ebp
add r12, 2
mov qword [r15 + rax], rcx
add r15, 8
jmp 0x14007c031
lea rbx, str.BINARY
mov rcx, qword [rsp + 0xf0]
add rsi, 0x38
cmp rsi, qword [rsp + 0x78]
jb 0x14007bec0
mov rdi, qword [rsp + 0x60]
mov r13d, 0x3f
mov r11, qword [rsp + 0x68]
xor r12d, r12d
mov r9d, dword [rsp + 0x50]
mov ecx, r12d
test r9d, r9d
jle 0x14007c0aa
mov r10, qword [rsp + 0x48]
movsxd rax, ebp
lea rdx, [rax*8]
lea r8, [rax + rax]
nop dword [rax]
mov eax, ecx
bt r10, rax
jae 0x14007c0a3
mov rax, qword [r14 + 8]
inc ebp
mov word [r8 + rax], cx
add r8, 2
mov rax, qword [r14 + 0x40]
mov qword [rdx + rax], rbx
add rdx, 8
inc ecx
cmp ecx, r9d
jl 0x14007c080
mov rax, qword [rsp + 0xf0]
cmp qword [rax + 0x60], 0
jge 0x14007c0fa
cmp r13w, word [r11 + 0x3e]
jge 0x14007c0fa
movsxd rax, ebp
lea rcx, [rax*8]
lea rdx, [rax + rax]
nop
mov rax, qword [r14 + 8]
lea rdx, [rdx + 2]
inc ebp
lea rcx, [rcx + 8]
mov word [rdx + rax - 2], r13w
inc r13d
mov rax, qword [r14 + 0x40]
mov qword [rcx + rax - 8], rbx
movsx eax, word [r11 + 0x3e]
cmp r13d, eax
jl 0x14007c0d0
mov rax, qword [r14 + 8]
mov edx, 0xffffffff
mov r13, qword [rsp + 0x100]
mov r15, qword [rsp + 0x88]
movsxd rcx, ebp
mov rbp, qword [rsp + 0xe0]
mov word [rax + rcx*2], dx
mov rax, qword [r14 + 0x40]
mov qword [rax + rcx*8], rbx
mov eax, dword [rbp + 0x50]
mov dword [r13 + 8], eax
inc dword [rbp + 0x50]
movsxd rbx, dword [r15 + 0x3c]
mov rax, qword [r15 + 0x30]
mov ecx, ebx
mov esi, dword [r13 + 8]
cmp dword [rax + 0x60], ebx
jg 0x14007c15c
mov edx, 1
mov rcx, r15
call fcn.1400aad80
test eax, eax
jne 0x14007c18f
mov ecx, dword [r15 + 0x3c]
lea eax, [rcx + 1]
mov dword [r15 + 0x3c], eax
lea rcx, [rbx + rbx*2]
mov rax, qword [r15 + 8]
mov word [rax + rcx*8], 0x38
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], esi
lea rdx, [rax + rcx*8]
mov eax, dword [rsp + 0x40]
inc eax
mov dword [rdx + 0xc], r12d
mov dword [rdx + 8], eax
mov qword [rdx + 0x10], r12
mov rsi, qword [rbp + 0x10]
mov rdx, r14
mov rcx, rbp
call fcn.1400efa20
mov rcx, qword [rsi + 8]
mov rbx, rax
mov rax, qword [rsi]
test rcx, rcx
je 0x14007c1f0
cmp byte [rax + 0x51], 0
jne 0x14007c1f0
movsxd rdx, dword [rsi + 0x3c]
lea r8, [rdx + rdx*2]
movsx edx, byte [rcx + r8*8 - 0x17]
lea rsi, [rcx + r8*8]
mov rcx, rax
mov r8, qword [rsi - 8]
call fcn.140087680
test rbx, rbx
jne 0x14007c1e2
mov qword [rsi - 8], r12
mov byte [rsi - 0x17], bl
jmp 0x14007c25f
mov qword [rsi - 8], rbx
mov byte [rsi - 0x17], 0xfa
jmp 0x14007c25f
test rbx, rbx
je 0x14007c25f
cmp qword [rax + 0x328], 0
jne 0x14007c25f
add dword [rbx], 0xffffffff
jne 0x14007c25f
cmp dword [0x1402fd010], 0
je 0x14007c256
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x14007c21f
call qword [0x1402fd098]
mov rcx, rbx
call qword [0x1402fd050]
dec qword [0x140303428]
movsxd rcx, eax
sub qword [0x1403033e0], rcx
mov rcx, rbx
call qword [0x1402fd040]
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x14007c25f
call qword [0x1402fd0a8]
jmp 0x14007c25f
mov rcx, rbx
call qword [0x1402fd040]
inc dword [rbp + 0x70]
movsxd rsi, dword [r15 + 0x3c]
mov rax, qword [r15 + 0x30]
mov ecx, esi
mov ebx, dword [r13 + 4]
cmp dword [rax + 0x60], esi
jg 0x14007c291
mov edx, 1
mov rcx, r15
call fcn.1400aad80
test eax, eax
je 0x14007c28d
mov esi, 1
jmp 0x14007c2bd
mov ecx, dword [r15 + 0x3c]
lea eax, [rcx + 1]
mov dword [r15 + 0x3c], eax
lea rcx, [rsi + rsi*2]
mov rax, qword [r15 + 8]
mov word [rax + rcx*8], WSASetLastError
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], ebx
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r12
test rdi, rdi
je 0x14007c339
mov rbx, qword [r15 + 0x30]
movsxd r13, dword [rbx + 0x78]
lea eax, [r13 + 1]
mov dword [rbx + 0x78], eax
lea eax, [r13 - 1]
test r13d, eax
jne 0x14007c2ff
mov rdx, qword [rbx + 0x80]
lea eax, [r13*2 + 1]
mov rcx, qword [rbx]
movsxd r8, eax
shl r8, 2
call fcn.1400d6470
mov qword [rbx + 0x80], rax
mov rcx, qword [rbx + 0x80]
test rcx, rcx
je 0x14007c314
mov edx, 0xffffffff
mov dword [rcx + r13*4], edx
not r13d
mov r9d, reloc.WS2_32.dll_recv
mov r8d, r13d
mov rdx, rdi
mov rcx, rbp
call fcn.1400dcda0
mov rax, qword [rsp + 0x58]
or dword [rax + 0x28], 0x20000
jmp 0x14007c33e
mov r13d, dword [rsp + 0x70]
movzx eax, byte [rbp + 0x1f]
test al, al
jne 0x14007c34e
inc dword [rbp + 0x54]
mov ebx, dword [rbp + 0x54]
jmp 0x14007c35a
dec al
movzx eax, al
mov byte [rbp + 0x1f], al
mov ebx, dword [rbp + rax*4 + 0x24]
mov rcx, qword [rsp + 0x100]
mov r9d, ebx
mov dword [rsp + 0x38], r12d
mov rdx, r14
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r12
mov r8d, dword [rcx + 4]
mov rcx, rbp
mov dword [rsp + 0x20], r12d
call fcn.1400ea960
mov rax, qword [rsp + 0x100]
movsxd rbp, dword [r15 + 0x3c]
mov ecx, ebp
mov r14d, dword [rax + 8]
mov rax, qword [r15 + 0x30]
cmp dword [rax + 0x60], ebp
jg 0x14007c3b8
mov edx, 1
mov rcx, r15
call fcn.1400aad80
test eax, eax
jne 0x14007c3ec
mov ecx, dword [r15 + 0x3c]
lea eax, [rcx + 1]
mov dword [r15 + 0x3c], eax
lea rcx, [rbp*2]
mov rax, qword [r15 + 8]
add rcx, rbp
mov word [rax + rcx*8], WSASetLastError
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r14d
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r12d
mov qword [rax + rcx*8 + 0x10], r12
mov rdx, qword [r15 + 8]
test rdx, rdx
je 0x14007c402
movsxd rax, dword [r15 + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 0x10
test rdi, rdi
je 0x14007c433
mov r8, qword [r15 + 0x30]
not r13d
test r13d, r13d
js 0x14007c429
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x14007c429
mov eax, dword [r15 + 0x3c]
movsxd rcx, r13d
mov dword [rdx + rcx*4], eax
mov eax, dword [r15 + 0x3c]
dec eax
mov dword [r8 + 0x64], eax
mov rax, qword [rsp + 0x100]
movsxd rbp, dword [r15 + 0x3c]
mov ecx, ebp
mov r14d, dword [rax + 4]
mov rax, qword [r15 + 0x30]
cmp dword [rax + 0x60], ebp
jg 0x14007c463
mov edx, 1
mov rcx, r15
call fcn.1400aad80
test eax, eax
jne 0x14007c49b
mov ecx, dword [r15 + 0x3c]
lea eax, [rcx + 1]
mov dword [r15 + 0x3c], eax
lea rcx, [rbp*2]
mov rax, qword [r15 + 8]
add rcx, rbp
mov word [rax + rcx*8], 9
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r14d
lea rdx, [rax + rcx*8]
lea eax, [rsi + 1]
mov dword [rdx + 0xc], r12d
mov dword [rdx + 8], eax
mov qword [rdx + 0x10], r12
mov rdx, qword [r15 + 8]
test rdx, rdx
je 0x14007c4b1
movsxd rax, dword [r15 + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 3
mov edx, dword [r15 + 0x3c]
cmp edx, esi
jbe 0x14007c4cb
mov eax, esi
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 8]
mov dword [rax + rcx*8 + 8], edx
mov edx, dword [r15 + 0x3c]
mov rax, qword [r15 + 0x30]
lea ecx, [rdx - 1]
mov rsi, qword [rsp + 0xe0]
mov dword [rax + 0x64], ecx
test ebx, ebx
je 0x14007c510
movzx ecx, byte [rsi + 0x1f]
cmp cl, 8
jae 0x14007c510
lea rax, [rsi + 0x88]
cmp dword [rax + 0xc], ebx
je 0x14007c50c
inc r12d
add rax, 0x14
cmp r12d, 0xa
jl 0x14007c4f1
mov dword [rsi + rcx*4 + 0x24], ebx
inc byte [rsi + 0x1f]
jmp 0x14007c510
mov byte [rax + 6], 1
mov rcx, rsi
call fcn.1400da2b0
mov eax, dword [rsp + 0x74]
mov r9d, dword [r15 + 0x3c]
cmp r9d, eax
jbe 0x14007c536
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 8]
mov dword [rax + rcx*8 + 8], r9d
mov r9d, dword [r15 + 0x3c]
mov rax, qword [r15 + 0x30]
lea ecx, [r9 - 1]
mov dword [rax + 0x64], ecx
jmp 0x14007c54b
mov rsi, qword [rsp + 0xe0]
mov rbx, qword [rsi]
test rdi, rdi
je 0x14007c709
test dword [rdi + 4], 0x4000
jne 0x14007c657
mov rdx, qword [rdi + 0x10]
mov rcx, rbx
call fcn.1400dcc80
mov rdx, qword [rdi + 0x18]
mov rcx, rbx
call fcn.1400dcc80
test dword [rdi + 4], 0x10000
je 0x14007c63b
mov rsi, qword [rdi + 8]
test rsi, rsi
je 0x14007c63b
test rbx, rbx
je 0x14007c5e0
cmp qword [rbx + 0x328], 0
je 0x14007c5b5
mov rdx, rsi
mov rcx, rbx
call fcn.1400ae450
jmp 0x14007c63b
cmp rsi, qword [rbx + 0x170]
jb 0x14007c5e0
cmp rsi, qword [rbx + 0x178]
jae 0x14007c5e0
mov rax, qword [rbx + 0x168]
mov qword [rsi], rax
dec dword [rbx + 0x154]
mov qword [rbx + 0x168], rsi
jmp 0x14007c63b
cmp dword [0x1402fd010], 0
je 0x14007c632
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x14007c5fb
call qword [0x1402fd098]
mov rcx, rsi
call qword [0x1402fd050]
dec qword [0x140303428]
movsxd rcx, eax
sub qword [0x1403033e0], rcx
mov rcx, rsi
call qword [0x1402fd040]
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x14007c63b
call qword [0x1402fd0a8]
jmp 0x14007c63b
mov rcx, rsi
call qword [0x1402fd040]
test dword [rdi + 4], 0x800
mov rcx, rbx
mov rdx, qword [rdi + 0x20]
je 0x14007c652
call fcn.140100730
jmp 0x14007c657
call fcn.1400dda80
test dword [rdi + 4], 0x8000
jne 0x14007c709
test rbx, rbx
je 0x14007c6ae
cmp qword [rbx + 0x328], 0
je 0x14007c683
mov rdx, rdi
mov rcx, rbx
call fcn.1400ae450
jmp 0x14007c709
cmp rdi, qword [rbx + 0x170]
jb 0x14007c6ae
cmp rdi, qword [rbx + 0x178]
jae 0x14007c6ae
mov rax, qword [rbx + 0x168]
mov qword [rdi], rax
dec dword [rbx + 0x154]
mov qword [rbx + 0x168], rdi
jmp 0x14007c709
cmp dword [0x1402fd010], 0
je 0x14007c700
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x14007c6c9
call qword [0x1402fd098]
mov rcx, rdi
call qword [0x1402fd050]
dec qword [0x140303428]
movsxd rcx, eax
sub qword [0x1403033e0], rcx
mov rcx, rdi
call qword [0x1402fd040]
mov rcx, qword [0x140303640]
test rcx, rcx
je 0x14007c709
call qword [0x1402fd0a8]
jmp 0x14007c709
mov rcx, rdi
call qword [0x1402fd040]
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret