Function at 0x1400bfcf0
Capabilities:
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0x80]
mov rdi, rcx
mov eax, dword [0x1406cdc34]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406cdc30], 0xa
setl cl
or cl, al
nop dword [rax]
mov eax, reloc.WS2_32.dll_recv
call fcn.1401f8850
sub rsp, rax
mov rsi, rsp
mov eax, reloc.WS2_32.dll_recv
call fcn.1401f8850
sub rsp, rax
mov r15, rsp
mov eax, reloc.WS2_32.dll_recv
call fcn.1401f8850
sub rsp, rax
mov r13, rsp
mov eax, reloc.WLDAP32.dll_Ordinal_32
call fcn.1401f8850
sub rsp, rax
mov rbx, rsp
mov eax, reloc.WLDAP32.dll_Ordinal_32
call fcn.1401f8850
sub rsp, rax
mov r14, rsp
test cl, cl
je 0x1400bfd30
mov eax, reloc.WS2_32.dll_recv
call fcn.1401f8850
sub rsp, rax
mov qword [rbp - 0x18], rsp
mov eax, reloc.WLDAP32.dll_Ordinal_32
call fcn.1401f8850
sub rsp, rax
mov qword [rbp - 0x58], rsp
mov qword [rsi], r9
mov qword [r15], r8
sub rsp, 0x20
mov qword [rbp - 0x48], rdx
mov rcx, rdx
call fcn.1400c54a0
add rsp, 0x20
mov ecx, dword [0x1406cdc34]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete cl
cmp dword [0x1406cdc30], 0xa
mov r10, rax
setl al
or al, cl
test r10, r10
je 0x1400bfe42
test al, al
je 0x1400bfe40
movzx eax, word [r10 + 0x18]
cmp eax, 0x20b
jne 0x1400bfe46
mov qword [rbp - 0x68], rdi
mov r11d, dword [r10 + 0x50]
mov eax, dword [0x1406ce448]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406ce44c], 0xa
setl r8b
or r8b, al
mov edi, dword [0x1406cdea8]
mov r9d, dword [0x1406cdeac]
jne 0x1400bfe62
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
jmp 0x1400bfe8e
jmp 0x1400bfe40
test al, al
je 0x1400bfe60
xor eax, eax
lea rsp, [rbp + 0x18]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
jmp 0x1400bfe60
lea eax, [rdi - 1]
imul eax, edi
and eax, 1
sete dl
cmp r9d, 0xa
setl cl
or cl, dl
cmp cl, 1
jne 0x1400bfec4
mov rdx, qword gs:[0x60]
test cl, cl
je 0x1400bfec4
test r8b, r8b
jne 0x1400bfecf
mov rcx, qword gs:[0x60]
cmp r9d, 0xa
jl 0x1400bfe62
test eax, eax
je 0x1400bfe62
mov rax, qword gs:[0x60]
nop word [rax + rax]
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
jmp 0x1400bfeb0
mov rdx, qword gs:[0x60]
jmp 0x1400bfe7c
cmp dword [0x1406cde54], 0xa
jl 0x1400bfef2
mov eax, dword [0x1406cde50]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1400bfef2
nop dword [rax]
jmp 0x1400bfef0
mov rdx, qword [rdx + 0x18]
add rdx, 0x10
mov eax, dword [0x1406cde58]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406cde5c], 0xa
setl r8b
or r8b, al
mov eax, dword [0x1406ce450]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406ce454], 0xa
setl cl
or cl, al
mov byte [rbp], cl
mov eax, dword [0x1406cde88]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406cde8c], 0xa
setl cl
or cl, al
mov byte [rbp - 0x30], cl
mov eax, dword [0x1406cde80]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406cde84], 0xa
setl cl
or cl, al
mov byte [rbp + 0x14], cl
mov eax, dword [0x1406cdeb4]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x1406cdeb0], 0xa
setge al
and al, cl
mov byte [rbp - 0x20], al
mov qword [rbp - 8], r10
mov qword [rbp - 0x38], r11
mov byte [rbp - 0x40], r8b
mov rdx, qword [rdx]
mov qword [rbp - 0x10], rdx
mov r9, qword [rdx + 0x30]
test r8b, r8b
je 0x1400c00f8
cmp byte [rbp], 0
je 0x1400c0160
test r8b, r8b
je 0x1400c00f8
movsxd rax, dword [r9 + 0x3c]
mov ecx, dword [rax + r9 + 0x88]
mov rax, rcx
mov qword [rbp - 0x60], rcx
test rcx, rcx
je 0x1400c0104
mov rax, qword [rbp - 0x60]
mov ecx, dword [r9 + rax + 0x18]
lea rax, [r9 + 1]
mov qword [rbp - 0x28], rax
mov r11, rcx
jmp 0x1400c0013
mov r8d, 0x811c9dc5
mov rcx, r11
cmp r8d, 0x700da41
je 0x1400c0162
sub r11, 1
jb 0x1400c0104
cmp byte [rbp - 0x30], 0
je 0x1400c0120
mov eax, 0xffffffff
add rcx, rax
mov rax, qword [rbp - 0x60]
mov edx, dword [r9 + rax + 0x20]
add rdx, r9
mov eax, ecx
mov qword [rbp + 8], rax
mov ecx, dword [rdx + rax*4]
mov dl, byte [r9 + rcx]
test dl, dl
je 0x1400bfffd
add rcx, qword [rbp - 0x28]
mov r8d, 0x811c9dc5
jmp 0x1400c00aa
mov eax, edx
and eax, 0x7a066151
or eax, 0x84700820
mov edi, edx
and edi, 0x85f99eae
xor edi, eax
mov eax, r8d
xor eax, edi
xor edi, 0x7b8ff7df
or edi, r8d
xor eax, 0x84700820
and eax, edi
not r8d
and r8d, edx
or r8d, eax
imul r8d, r8d, 0x1000193
movzx edx, byte [rcx]
add rcx, 1
test dl, dl
je 0x1400c0003
movsx edx, dl
lea edi, [rdx - 0x41]
cmp dil, 0x19
ja 0x1400c0060
mov edi, edx
and edi, 0x20
mov r10d, edx
xor r10d, 0xffffffdf
mov r12d, edx
xor r12d, 0xc3fc3c3d
and r12d, r10d
or edx, 0xc3fc3c1d
xor edx, 0xc3fc3c3d
or edx, r12d
mov eax, edi
xor eax, 0x3c03c3e2
and eax, edx
or edi, 0xc3fc3c1d
not edx
and edx, edi
or edx, eax
jmp 0x1400c0060
cmp byte [rbp], 0
jne 0x1400bffc2
jmp 0x1400c0130
cmp byte [rbp + 0x14], 0
je 0x1400c0140
cmp byte [rbp - 0x20], 0
jne 0x1400c0150
mov rdx, qword [rbp - 0x10]
mov r8b, byte [rbp - 0x40]
jmp 0x1400bffa4
jmp 0x1400c0120
jmp 0x1400c0130
jmp 0x1400c0140
jmp 0x1400c0150
jmp 0x1400c0160
mov rcx, qword [rbp - 0x60]
mov eax, dword [r9 + rcx + 0x1c]
mov ecx, dword [r9 + rcx + 0x24]
add rax, r9
add rcx, r9
mov rdx, qword [rbp + 8]
movzx ecx, word [rcx + rdx*2]
mov edi, dword [rax + rcx*4]
add rdi, r9
sub rsp, 0x20
xor ecx, ecx
mov rdx, qword [rbp - 0x38]
mov r8d, 0x3000
mov r9d, 4
call rdi
add rsp, 0x20
mov edx, dword [0x1406cdc34]
mov edi, dword [0x1406cdc30]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
cmp edi, 0xa
jl 0x1400c01c2
test ecx, ecx
je 0x1400c01c2
nop
jmp 0x1400c01c0
xor r9d, r9d
test rax, rax
je 0x1400c070b
mov r8, qword [rbp - 8]
movzx edx, word [r8 + 0x14]
mov r8d, dword [r8 + rdx + 0x24]
cmp byte [rbp + 0x88], 0
cmovne r9d, r8d
mov rdx, qword [rbp - 0x38]
sub edx, r9d
mov qword [r13], 0
cmp byte [rbp + 0x90], 0
mov qword [rbp - 0x60], rax
je 0x1400c0212
cmp edi, 0xa
mov r12, qword [rbp - 0x68]
jl 0x1400c0262
test ecx, ecx
je 0x1400c0262
jmp 0x1400c0210
mov qword [rbp - 0x28], r8
mov qword [rbp], r9
mov qword [rbp - 0x38], rdx
mov r8d, edx
sub rsp, 0x20
mov rcx, qword [rbp - 0x68]
xor edx, edx
call fcn.1400b2030
add rsp, 0x20
mov edx, dword [0x1406cdc34]
mov edi, dword [0x1406cdc30]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
cmp edi, 0xa
jl 0x1400c02c3
test ecx, ecx
je 0x1400c02c3
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x1400c0260
mov qword [rbp - 0x28], r8
mov qword [rbp], r9
mov qword [rbp - 0x38], rdx
mov edx, edx
sub rsp, 0x20
mov rcx, r12
mov qword [rbp - 0x30], rdx
mov r8, r13
call fcn.1400bf8f0
add rsp, 0x20
mov edx, dword [0x1406cdc34]
mov edi, dword [0x1406cdc30]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
cmp edi, 0xa
jl 0x1400c02c3
test ecx, ecx
je 0x1400c02c3
sub rsp, 0x20
mov rcx, r12
mov rdi, qword [rbp - 0x30]
mov rdx, rdi
mov r8, r13
call fcn.1400bf8f0
mov rcx, r12
mov rdx, rdi
jmp 0x1400c027b
cmp edi, 0xa
jl 0x1400c02d2
test ecx, ecx
je 0x1400c02d2
nop dword [rax]
jmp 0x1400c02d0
test rax, rax
je 0x1400c0385
mov qword [rbp + 8], rax
mov rax, qword [rbp - 8]
mov r8d, dword [rax + 0x54]
sub rsp, 0x20
mov r12, qword [rbp - 0x60]
mov rcx, r12
mov rdx, qword [rbp - 0x48]
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov r9d, dword [0x1406cdc34]
mov r8d, dword [0x1406cdc30]
cmp r8d, 0xa
jl 0x1400c038c
lea eax, [r9 - 1]
imul eax, r9d
and eax, 1
mov r11, qword [rbp - 8]
je 0x1400c0390
mov rdi, qword [rbp - 0x48]
mov r8d, dword [r11 + 0x54]
sub rsp, 0x20
mov rcx, r12
mov rdx, rdi
mov r12, r11
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov r8d, dword [r12 + 0x54]
mov r12, qword [rbp - 0x60]
sub rsp, 0x20
mov rcx, r12
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov r9d, dword [0x1406cdc34]
mov r8d, dword [0x1406cdc30]
cmp r8d, 0xa
jl 0x1400c038c
lea eax, [r9 - 1]
imul eax, r9d
and eax, 1
mov r11, qword [rbp - 8]
jne 0x1400c0328
jmp 0x1400c0390
xor esi, esi
jmp 0x1400c060b
mov r11, qword [rbp - 8]
cmp word [r11 + 6], 0
je 0x1400c0489
mov rax, r11
add rax, 0x18
movzx ecx, word [r11 + 0x14]
add rcx, rax
mov qword [rbp - 0x30], rcx
xor ecx, ecx
lea edx, [r9 - 1]
imul edx, r9d
and edx, 1
sete r10b
cmp r8d, 0xa
setl al
or al, r10b
jne 0x1400c03d6
xor edi, edi
test dil, 1
mov edi, eax
je 0x1400c03ce
mov r12, rcx
lea r10, [rcx + rcx*4]
mov rax, qword [rbp - 0x30]
mov ecx, dword [rax + r10*8 + 0x24]
mov edi, ecx
and edi, 0x3bc505fc
or edi, 0x418d202
and ecx, 0xc43afa03
xor ecx, edi
mov edi, ecx
xor edi, 0xfbe72d7d
mov eax, ecx
xor eax, 0xfbe72dfd
and eax, edi
xor ecx, 0x418d282
or ecx, eax
cmp ecx, 0xffffffff
jne 0x1400c045f
mov rax, qword [rbp - 0x30]
mov ecx, dword [rax + r10*8 + 0xc]
mov r8d, dword [rax + r10*8 + 0x10]
add rcx, qword [rbp - 0x60]
mov edx, dword [rax + r10*8 + 0x14]
add rdx, qword [rbp - 0x48]
sub rsp, 0x20
call sub.VCRUNTIME140.dll_memcpy
mov r11, qword [rbp - 8]
add rsp, 0x20
mov r9d, dword [0x1406cdc34]
mov r8d, dword [0x1406cdc30]
lea edx, [r9 - 1]
imul edx, r9d
and edx, 1
test edx, edx
sete cl
cmp r8d, 0xa
setl al
or al, cl
nop dword [rax]
test al, al
je 0x1400c0470
mov rcx, r12
add rcx, 1
movzx eax, word [r11 + 6]
cmp rcx, rax
jb 0x1400c03b1
mov rdi, qword [rbp + 8]
cmp byte [rbp + 0x88], 0
mov r12, qword [rbp - 0x60]
je 0x1400c04c2
mov rdi, qword [rbp + 8]
sub rdi, qword [rbp - 0x28]
cmp r8d, 0xa
jl 0x1400c04c2
lea eax, [r9 - 1]
imul eax, r9d
and eax, 1
je 0x1400c04c2
nop word cs:[rax + rax]
nop
jmp 0x1400c04c0
mov qword [rbp - 0x48], rdi
sub rdi, qword [r11 + 0x30]
sub rsp, 0x20
mov rcx, rbx
mov rdx, r12
call fcn.1400c54d0
mov rcx, rbx
mov rdx, rdi
call fcn.1400c22f0
mov rcx, r14
mov rdx, r12
call fcn.1400c59b0
mov rdi, qword [rbp - 0x68]
mov rcx, rdi
mov rdx, r14
call fcn.1400c2650
add rsp, 0x20
mov ebx, 2
test al, al
je 0x1400c05d7
mov r14d, dword [rbp - 0x38]
mov r8d, dword [rbp]
add r8, r12
sub rsp, 0x20
mov rcx, rdi
mov rdx, qword [rbp + 8]
mov r9, r14
call fcn.1400a03e0
add rsp, 0x20
test al, al
je 0x1400c05d7
mov eax, dword [0x1406cdc34]
mov edx, dword [0x1406cdc30]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
sete bl
cmp edx, 0xa
setl al
or al, bl
test al, al
je 0x1400c0559
mov rax, qword [rbp - 8]
mov r12d, dword [rax + 0x28]
mov rbx, qword [rbp + 0xa0]
test rbx, rbx
je 0x1400c05ae
mov rax, qword [r13]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
mov rcx, r15
mov rdx, rsi
mov r8, qword [rbp + 8]
mov r9, r14
call rbx
add rsp, 0x30
mov edi, dword [0x1406cdc34]
mov edx, dword [0x1406cdc30]
lea ecx, [rdi - 1]
imul ecx, edi
and ecx, 1
test al, al
je 0x1400c06df
add r12, qword [rbp - 0x48]
cmp edx, 0xa
mov rdi, qword [rbp - 0x68]
mov rbx, qword [rbp - 0x18]
mov r14b, byte [rbp + 0x98]
jl 0x1400c0722
test ecx, ecx
jne 0x1400c0774
jmp 0x1400c0722
mov rax, qword [rbp + 8]
mov rsi, rax
mov edx, dword [0x1406cdc34]
mov edi, dword [0x1406cdc30]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
cmp edi, 0xa
jl 0x1400c0602
test ecx, ecx
je 0x1400c0602
nop dword [rax]
jmp 0x1400c0600
cmp ebx, 2
jne 0x1400c070d
cmp edi, 0xa
jl 0x1400c08ac
test ecx, ecx
je 0x1400c08ac
mov qword [rbp - 0x78], rsi
mov eax, dword [0x1406cdc60]
mov ecx, dword [0x1406cdc64]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
mov dword [rbp - 0x48], edx
cmp ecx, 0xa
setl al
mov edx, dword [0x1406ce558]
mov qword [rbp + 8], rdx
mov edx, dword [0x1406ce55c]
mov dword [rbp - 0x18], edx
mov edx, dword [0x1406ce448]
mov qword [rbp - 0x58], rdx
mov edx, dword [0x1406ce44c]
mov dword [rbp - 0x30], edx
mov r8d, dword [0x1406cdea8]
mov r13d, dword [0x1406cdeac]
mov dword [rbp - 0x6c], ecx
cmp ecx, 0xa
jl 0x1400c1e0c
cmp dword [rbp - 0x48], 0
je 0x1400c1e0c
xor al, byte [rbp - 0x48]
je 0x1400c1e0c
mov rax, qword [rbp + 8]
lea r11d, [rax - 1]
imul r11d, eax
and r11d, 1
test r11d, r11d
sete cl
mov r9d, dword [rbp - 0x18]
cmp r9d, 0xa
setl al
mov edx, eax
and dl, cl
xor dl, 1
xor al, cl
cmp al, dl
mov rsi, qword [rbp - 0x58]
mov r10d, dword [rbp - 0x30]
je 0x1400c06d1
xor al, 1
or dl, al
jne 0x1400c2247
lea eax, [rsi - 1]
imul eax, esi
and eax, 1
jmp 0x1400c083c
cmp edx, 0xa
jl 0x1400c06fa
mov rax, qword [rbp + 8]
mov rsi, rax
test ecx, ecx
mov ebx, 2
je 0x1400c05de
jmp 0x1400c06f8
mov rax, qword [rbp + 8]
mov rsi, rax
mov ebx, 2
jmp 0x1400c05de
xor eax, eax
cmp edi, 0xa
jl 0x1400bfe48
test ecx, ecx
je 0x1400bfe48
nop
jmp 0x1400c0720
mov dword [rbx], 0
mov rax, qword [rsi]
mov r9, qword [rbp + 8]
test r14b, r14b
jne 0x1400c0737
mov r9, qword [r15]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
mov rcx, rdi
mov rdx, rbx
mov r8, r12
call fcn.1400c2ec0
add rsp, 0x30
mov edi, dword [0x1406cdc34]
mov ecx, dword [0x1406cdc30]
lea edx, [rdi - 1]
imul edx, edi
mov rdi, qword [rbp - 0x68]
and edx, 1
cmp ecx, 0xa
jl 0x1400c07a9
test edx, edx
je 0x1400c07a9
mov dword [rbx], 0
mov rax, qword [rsi]
mov r9, qword [rbp + 8]
test r14b, r14b
jne 0x1400c0789
mov r9, qword [r15]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
mov rcx, rdi
mov rdx, rbx
mov r8, r12
call fcn.1400c2ec0
add rsp, 0x30
jmp 0x1400c0722
mov ebx, 2
mov rsi, qword [rbp + 8]
test al, al
je 0x1400c12ec
mov rbx, qword [rbp + 0xa8]
test rbx, rbx
je 0x1400c07e8
mov rax, qword [rbp - 0x18]
mov eax, dword [rax]
mov dword [rbx], eax
cmp dword [0x1406cdc30], 0xa
jl 0x1400c07e8
mov ecx, dword [0x1406cdc34]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x1400c07cc
movups xmm0, xmmword [0x140263496]
mov rax, qword [rbp - 0x58]
movups xmmword [rax + 0xa], xmm0
movups xmm0, xmmword [0x14026348c]
movups xmmword [rax], xmm0
mov eax, dword [0x1406cdc50]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
sete dl
cmp dword [0x1406cdc54], 0xa
setl r8b
setge bl
or r8b, dl
and cl, bl
test cl, cl
jne 0x1400c0826
test r8b, r8b
mov rdx, qword [rbp - 0x58]
je 0x1400c0a1f
jmp 0x1400c09da
test eax, eax
sete cl
cmp r10d, 0xa
setl al
or al, cl
jne 0x1400c086a
lea edx, [r8 - 1]
imul edx, r8d
and edx, 1
mov rcx, qword gs:[0x60]
cmp r13d, 0xa
jl 0x1400c086a
test edx, edx
jne 0x1400c088f
lea edx, [r8 - 1]
imul edx, r8d
and edx, 1
sete cl
cmp r13d, 0xa
setl bl
or bl, cl
cmp bl, 1
jne 0x1400c226b
jmp 0x1400c2217
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
jmp 0x1400c0898
mov qword [rbp - 0x78], rsi
mov eax, dword [0x1406cdc60]
mov ecx, dword [0x1406cdc64]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
mov dword [rbp - 0x48], edx
cmp ecx, 0xa
setl al
mov edx, dword [0x1406ce558]
mov qword [rbp + 8], rdx
mov edx, dword [0x1406ce55c]
mov dword [rbp - 0x18], edx
mov edx, dword [0x1406ce448]
mov qword [rbp - 0x58], rdx
mov edx, dword [0x1406ce44c]
mov dword [rbp - 0x30], edx
mov r8d, dword [0x1406cdea8]
mov r13d, dword [0x1406cdeac]
mov dword [rbp - 0x6c], ecx
cmp ecx, 0xa
jl 0x1400c16f2
cmp dword [rbp - 0x48], 0
je 0x1400c16f2
xor al, byte [rbp - 0x48]
je 0x1400c16f2
mov rax, qword [rbp + 8]
lea r11d, [rax - 1]
imul r11d, eax
and r11d, 1
test r11d, r11d
sete cl
mov r9d, dword [rbp - 0x18]
cmp r9d, 0xa
setl al
mov edx, eax
and dl, cl
xor dl, 1
xor al, cl
cmp al, dl
mov rsi, qword [rbp - 0x58]
mov r10d, dword [rbp - 0x30]
je 0x1400c0961
xor al, 1
or dl, al
jne 0x1400c1b59
lea eax, [rsi - 1]
imul eax, esi
and eax, 1
test eax, eax
sete cl
cmp r10d, 0xa
setl al
or al, cl
jne 0x1400c0998
lea edx, [r8 - 1]
imul edx, r8d
and edx, 1
mov rcx, qword gs:[0x60]
cmp r13d, 0xa
jl 0x1400c0998
test edx, edx
jne 0x1400c09bd
lea edx, [r8 - 1]
imul edx, r8d
and edx, 1
sete cl
cmp r13d, 0xa
setl bl
or bl, cl
cmp bl, 1
jne 0x1400c1b7d
jmp 0x1400c1b29
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
jmp 0x1400c09c6
mov edi, 0xffc6
xor ebx, ebx
movzx r9d, word [rdx + rbx*2]
mov ecx, edi
or ecx, r9d
not ecx
mov esi, edi
and esi, 0xb63a
lea eax, [rbx + 0x39]
and eax, 0x49c5
or eax, esi
xor eax, 0x49c5
and eax, r9d
or eax, ecx
mov word [rdx + rbx*2], ax
add rbx, 1
add edi, 0xffffffff
cmp rbx, 0xd
jne 0x1400c09e1
test r8b, r8b
jne 0x1400c0a66
mov ebx, 0xffc6
xor eax, eax
movzx r9d, word [rdx + rax*2]
mov ecx, ebx
or ecx, r9d
not ecx
mov edi, ebx
and edi, 0xb63a
lea esi, [rax + 0x39]
and esi, 0x49c5
or esi, edi
xor esi, 0x49c5
and esi, r9d
or esi, ecx
mov word [rdx + rax*2], si
add rax, 1
add ebx, 0xffffffff
cmp rax, 0xd
jne 0x1400c0a26
jmp 0x1400c09da
sub rsp, 0x20
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call fcn.14009ff90
add rsp, 0x20
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
mov edx, 0xfffff1ff
and edx, dword [rcx + rax + 0x18]
or edx, 0x800
mov dword [rcx + rax + 0x18], edx
cmp dword [0x1406cdc48], 0xa
jl 0x1400c0ab0
mov ecx, dword [0x1406cdc4c]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x1400c0ab0
jmp 0x1400c0aae
mov rcx, qword [rbp - 0x18]
mov edx, dword [rcx]
sub rsp, 0x20
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___long_int____ptr64]
mov rcx, rax
call fcn.1400a01e0
add rsp, 0x20
mov r14d, dword [0x1406cdc34]
mov eax, dword [0x1406cdc30]
mov dword [rbp - 0x58], eax
cmp eax, 0xa
jl 0x1400c0af3
lea eax, [r14 - 1]
imul eax, r14d
and eax, 1
je 0x1400c0af3
jmp 0x1400c0af1
cmp byte [rbp + 0x80], 0
je 0x1400c0c6e
cmp byte [rbp + 0x90], 0
je 0x1400c0b6b
mov r8, qword [r13]
sub rsp, 0x20
mov rdi, qword [rbp - 0x68]
mov rcx, rdi
mov rdx, qword [rbp + 8]
call fcn.1400aed70
add rsp, 0x20
mov eax, dword [0x1406cdc34]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete dl
cmp dword [0x1406cdc30], 0xa
mov rsi, qword [r13]
setl al
mov ecx, eax
and cl, dl
xor cl, 1
xor al, dl
mov edx, eax
xor dl, 1
or dl, cl
cmp dl, 1
jne 0x1400c0bfc
xor al, cl
jne 0x1400c0c45
jmp 0x1400c0bfc
sub rsp, 0x20
mov rcx, qword [rbp - 0x68]
mov rdx, qword [rbp + 8]
call fcn.1400b3130
add rsp, 0x20
mov r14d, dword [0x1406cdc34]
mov eax, dword [0x1406cdc30]
mov dword [rbp - 0x58], eax
cmp eax, 0xa
jl 0x1400c0c6e
lea eax, [r14 - 1]
imul eax, r14d
and eax, 1
mov rsi, qword [rbp - 0x68]
je 0x1400c0c6e
mov rdi, qword [rbp + 8]
sub rsp, 0x20
mov rcx, rsi
mov rdx, rdi
call fcn.1400b3130
mov rcx, rsi
mov rdx, rdi
call fcn.1400b3130
add rsp, 0x20
mov r14d, dword [0x1406cdc34]
mov eax, dword [0x1406cdc30]
mov dword [rbp - 0x58], eax
cmp eax, 0xa
jl 0x1400c0c6e
lea eax, [r14 - 1]
imul eax, r14d
and eax, 1
mov rsi, qword [rbp - 0x68]
jne 0x1400c0bb2
jmp 0x1400c0c6e
sub rsp, 0x20
mov rcx, rdi
mov rdx, rsi
call fcn.1400b0710
add rsp, 0x20
mov rdx, qword [r13]
sub rsp, 0x20
mov rcx, rdi
call fcn.1400b3130
add rsp, 0x20
mov r14d, dword [0x1406cdc34]
mov eax, dword [0x1406cdc30]
mov dword [rbp - 0x58], eax
cmp eax, 0xa
jl 0x1400c0c6e
lea eax, [r14 - 1]
imul eax, r14d
and eax, 1
je 0x1400c0c6e
sub rsp, 0x20
mov rcx, rdi
mov rdx, rsi
call fcn.1400b0710
add rsp, 0x20
mov rdx, qword [r13]
sub rsp, 0x20
mov rcx, rdi
call fcn.1400b3130
add rsp, 0x20
jmp 0x1400c0bfc
mov eax, dword [0x1406cdc60]
mov edx, dword [0x1406cdc64]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov dword [rbp + 0x14], ecx
cmp edx, 0xa
setl cl
mov eax, dword [0x1406ce558]
mov qword [rbp - 8], rax
mov eax, dword [0x1406ce55c]
mov dword [rbp - 0x10], eax
mov eax, dword [0x1406ce448]
mov qword [rbp - 0x28], rax
mov eax, dword [0x1406ce44c]
mov dword [rbp - 0x30], eax
mov r15d, dword [0x1406cdea8]
mov eax, dword [0x1406cdeac]
mov dword [rbp - 0x18], eax
mov dword [rbp - 0x6c], edx
cmp edx, 0xa
jl 0x1400c0f14
cmp dword [rbp + 0x14], 0
je 0x1400c0f14
xor cl, byte [rbp + 0x14]
je 0x1400c0f14
mov rax, qword [rbp - 8]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov dword [rbp - 0x20], ecx
cmp dword [rbp - 0x20], 0
sete dl
cmp dword [rbp - 0x10], 0xa
setl cl
mov eax, ecx
and al, dl
xor al, 1
xor cl, dl
cmp cl, al
je 0x1400c0d41
xor cl, 1
or al, cl
je 0x1400c0d41
mov rax, qword [rbp - 0x28]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
sete al
cmp dword [rbp - 0x30], 0xa
setl cl
or cl, al
jne 0x1400c146e
lea edi, [r15 - 1]
imul edi, r15d
and edi, 1
jmp 0x1400c1494
mov rax, qword [rbp - 0x28]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
test ebx, ebx
sete al
cmp dword [rbp - 0x30], 0xa
setl bl
or bl, al
jne 0x1400c0d7c
lea ecx, [r15 - 1]
imul ecx, r15d
and ecx, 1
mov rax, qword gs:[0x60]
cmp dword [rbp - 0x18], 0xa
jl 0x1400c0d7c
test ecx, ecx
jne 0x1400c0da0
lea ecx, [r15 - 1]
imul ecx, r15d
and ecx, 1
sete dl
cmp dword [rbp - 0x18], 0xa
setl al
or al, dl
cmp al, 1
jne 0x1400c1460
jmp 0x1400c1380
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
jmp 0x1400c0da9
cmp byte [rbp], 0
je 0x1400c0ee3
cmp byte [rbp - 0x20], 0
je 0x1400c0f78
cmp byte [rbp], 0
je 0x1400c0ee3
movsxd rax, dword [r9 + 0x3c]
mov esi, dword [rax + r9 + 0x88]
test rsi, rsi
je 0x1400c0ef2
mov edi, dword [r9 + rsi + 0x18]
lea r11, [r9 + 1]
mov r12, rdi
jmp 0x1400c0e14
mov r10d, 0x811c9dc5
mov rdi, r12
cmp r10d, 0x6bcbc4b2
je 0x1400c0f14
sub r12, 1
jb 0x1400c0ef2
test r8b, r8b
je 0x1400c0f70
mov eax, 0xffffffff
add rdi, rax
mov eax, dword [r9 + rsi + 0x20]
add rax, r9
mov edx, edi
mov edi, dword [rax + rdx*4]
mov bl, byte [r9 + rdi]
test bl, bl
je 0x1400c0dfe
add rdi, r11
mov r10d, 0x811c9dc5
jmp 0x1400c0e99
mov eax, ebx
and eax, 0x7a066151
or eax, 0x84700820
mov edx, ebx
and edx, 0x85f99eae
xor edx, eax
mov eax, r10d
xor eax, edx
xor edx, 0x7b8ff7df
or edx, r10d
xor eax, 0x84700820
and eax, edx
not r10d
and r10d, ebx
or r10d, eax
imul r10d, r10d, 0x1000193
movzx ebx, byte [rdi]
add rdi, 1
test bl, bl
je 0x1400c0e04
movsx ebx, bl
lea eax, [rbx - 0x41]
cmp al, 0x19
ja 0x1400c0e4f
mov eax, ebx
and eax, 0x20
mov edx, ebx
xor edx, 0xffffffdf
mov r13d, ebx
xor r13d, 0xc3fc3c3d
and r13d, edx
or ebx, 0xc3fc3c1d
xor ebx, 0xc3fc3c3d
or ebx, r13d
mov edx, eax
xor edx, 0x3c03c3e2
and edx, ebx
or eax, 0xc3fc3c1d
not ebx
and ebx, eax
or ebx, edx
jmp 0x1400c0e4f
cmp byte [rbp - 0x20], 0
jne 0x1400c0dd1
jmp 0x1400c0f72
cmp byte [rbp - 0x38], 0
je 0x1400c0f74
cmp byte [rbp - 0x78], 0
jne 0x1400c0f76
mov rcx, qword [rcx]
cmp rcx, qword [rbp - 0x40]
je 0x1400c0f14
mov r9, qword [rcx + 0x30]
test r9, r9
jne 0x1400c0dbd
mov rax, qword [rbp - 8]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov dword [rbp - 0x20], ecx
sete bl
cmp dword [rbp - 0x10], 0xa
setl cl
mov eax, ecx
and al, bl
xor al, 1
xor cl, bl
cmp cl, al
je 0x1400c0f7a
xor cl, 1
or al, cl
je 0x1400c0f7a
mov rax, qword [rbp - 0x28]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
sete al
cmp dword [rbp - 0x30], 0xa
setl cl
or cl, al
jne 0x1400c130d
lea edi, [r15 - 1]
imul edi, r15d
and edi, 1
jmp 0x1400c1333
jmp 0x1400c0f70
jmp 0x1400c0f72
jmp 0x1400c0f74
jmp 0x1400c0f76
jmp 0x1400c0f78
mov rax, qword [rbp - 0x28]
lea ebx, [rax - 1]
imul ebx, eax
and ebx, 1
test ebx, ebx
sete al
cmp dword [rbp - 0x30], 0xa
setl bl
or bl, al
jne 0x1400c0fb5
lea ecx, [r15 - 1]
imul ecx, r15d
and ecx, 1
mov rax, qword gs:[0x60]
cmp dword [rbp - 0x18], 0xa
jl 0x1400c0fb5
test ecx, ecx
jne 0x1400c0fd6
lea ecx, [r15 - 1]
imul ecx, r15d
and ecx, 1
sete dl
cmp dword [rbp - 0x18], 0xa
setl al
or al, dl
cmp al, 1
jne 0x1400c1246
jmp 0x1400c0ff3
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
jmp 0x1400c0fdf
mov rdi, qword gs:[0x60]
test al, al
je 0x1400c1246
test bl, bl
je 0x1400c0fa2
mov rax, qword [rdi + 0x18]
mov rax, qword [rax + 0x10]
mov qword [rbp - 0x38], rax
cmp dword [rbp - 0x10], 0xa
jl 0x1400c1024
cmp dword [rbp - 0x20], 0
jne 0x1400c0f41
mov eax, dword [0x1406cde58]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406cde5c], 0xa
setl cl
or cl, al
mov byte [rbp], cl
mov eax, dword [0x1406ce450]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406ce454], 0xa
setl cl
or cl, al
mov byte [rbp - 0x40], cl
mov eax, dword [0x1406cde88]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406cde8c], 0xa
setl r9b
or r9b, al
mov eax, dword [0x1406cde80]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406cde84], 0xa
setl cl
or cl, al
mov byte [rbp - 0x4a], cl
mov eax, dword [0x1406cdeb4]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x1406cdeb0], 0xa
setge al
and al, cl
mov byte [rbp - 0x49], al
mov rcx, qword [rbp - 0x38]
mov r12, qword [rcx + 0x30]
xor eax, eax
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], rcx
cmp byte [rbp], 0
je 0x1400c1200
cmp byte [rbp - 0x40], 0
je 0x1400c1244
cmp byte [rbp], 0
je 0x1400c1200
movsxd rax, dword [r12 + 0x3c]
mov r11d, dword [rax + r12 + 0x88]
test r11, r11
je 0x1400c120c
mov ebx, dword [r12 + r11 + 0x18]
lea rcx, [r12 + 1]
mov r8, rbx
jmp 0x1400c112b
mov edi, 0x811c9dc5
mov rbx, r8
cmp edi, 0x6bcbc4b2
je 0x1400c1254
sub r8, 1
jb 0x1400c120c
test r9b, r9b
je 0x1400c123c
mov eax, 0xffffffff
add rbx, rax
mov eax, dword [r12 + r11 + 0x20]
add rax, r12
mov esi, ebx
mov r10d, dword [rax + rsi*4]
mov bl, byte [r12 + r10]
test bl, bl
je 0x1400c1117
add r10, rcx
mov edi, 0x811c9dc5
jmp 0x1400c11ae
mov eax, r13d
and eax, 0x7a066151
or eax, 0x84700820
mov edx, r13d
and edx, 0x85f99eae
xor edx, eax
mov eax, edi
xor eax, edx
xor edx, 0x7b8ff7df
or edx, edi
xor eax, 0x84700820
and eax, edx
not edi
and edi, r13d
or edi, eax
imul edi, edi, 0x1000193
movzx ebx, byte [r10]
add r10, 1
test bl, bl
je 0x1400c111c
movsx r13d, bl
lea eax, [r13 - 0x41]
cmp al, 0x19
ja 0x1400c1166
mov eax, r13d
and eax, 0x20
mov edx, r13d
xor edx, 0xffffffdf
mov ebx, r13d
xor ebx, 0xc3fc3c3d
and ebx, edx
or r13d, 0xc3fc3c1d
xor r13d, 0xc3fc3c3d
or r13d, ebx
mov edx, eax
xor edx, 0x3c03c3e2
and edx, r13d
or eax, 0xc3fc3c1d
not r13d
and r13d, eax
or r13d, edx
jmp 0x1400c1166
cmp byte [rbp - 0x40], 0
jne 0x1400c10e8
jmp 0x1400c123e
cmp byte [rbp - 0x4a], 0
je 0x1400c1240
cmp byte [rbp - 0x49], 0
jne 0x1400c1242
mov rax, qword [rbp - 0x78]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
cmp rax, qword [rbp - 0x38]
je 0x1400c1272
mov rax, qword [rbp - 0x78]
mov r12, qword [rax + 0x30]
test r12, r12
jne 0x1400c10d4
jmp 0x1400c1272
jmp 0x1400c123c
jmp 0x1400c123e
jmp 0x1400c1240
jmp 0x1400c1242
jmp 0x1400c1244
mov rdx, qword gs:[0x60]
jmp 0x1400c0ff3
mov eax, dword [r12 + r11 + 0x1c]
mov ecx, dword [r12 + r11 + 0x24]
add rax, r12
add rcx, r12
movzx ecx, word [rcx + rsi*2]
mov eax, dword [rax + rcx*4]
add rax, r12
mov qword [rbp - 0x80], rax
cmp dword [rbp - 0x6c], 0xa
jl 0x1400c1282
cmp dword [rbp + 0x14], 0
jne 0x1400c0cf1
cmp dword [rbp - 0x58], 0xa
jl 0x1400c1295
lea eax, [r14 - 1]
imul eax, r14d
and eax, 1
jne 0x1400c12cf
sub rsp, 0x20
mov rcx, qword [rbp - 0x60]
xor edx, edx
mov r8d, 0x8000
call qword [rbp - 0x80]
add rsp, 0x20
mov eax, dword [0x1406cdc34]
mov ecx, dword [0x1406cdc30]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
mov ebx, 1
cmp ecx, 0xa
jl 0x1400c12e8
test edx, edx
je 0x1400c12e8
sub rsp, 0x20
mov rcx, qword [rbp - 0x60]
xor edx, edx
mov r8d, 0x8000
call qword [rbp - 0x80]
add rsp, 0x20
jmp 0x1400c1295
mov rsi, qword [rbp - 0x48]
test edx, edx
setne al
sete dl
cmp ecx, 0xa
setge cl
xor dl, cl
or al, cl
and al, dl
test al, al
jne 0x1400c1300
mov rax, qword [rbp + 8]
jmp 0x1400c05de
lea edi, [r15 - 1]
imul edi, r15d
and edi, 1
mov rax, qword gs:[0x60]
cmp dword [rbp - 0x18], 0xa
jl 0x1400c132b
test edi, edi
jne 0x1400c1363
test cl, cl
jne 0x1400c0f87
mov rax, qword gs:[0x60]
cmp dword [rbp - 0x18], 0xa
jl 0x1400c130d
test edi, edi
je 0x1400c130d
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
jmp 0x1400c134f
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
jmp 0x1400c136c
mov rdi, qword gs:[0x60]
test al, al
je 0x1400c1460
test bl, bl
je 0x1400c0d69
mov rax, qword [rdi + 0x18]
mov rax, qword [rax + 0x10]
mov qword [rbp - 0x40], rax
cmp dword [rbp - 0x10], 0xa
jl 0x1400c13b5
cmp dword [rbp - 0x20], 0
jne 0x1400c0d12
mov eax, dword [0x1406cde58]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406cde5c], 0xa
setl cl
or cl, al
mov byte [rbp], cl
mov eax, dword [0x1406ce450]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406ce454], 0xa
setl cl
or cl, al
mov byte [rbp - 0x20], cl
mov eax, dword [0x1406cde88]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406cde8c], 0xa
setl r8b
or r8b, al
mov eax, dword [0x1406cde80]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406cde84], 0xa
setl cl
or cl, al
mov byte [rbp - 0x38], cl
mov eax, dword [0x1406cdeb4]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x1406cdeb0], 0xa
setge al
and al, cl
mov byte [rbp - 0x78], al
mov rcx, qword [rbp - 0x40]
mov r9, qword [rcx + 0x30]
jmp 0x1400c0dbd
mov rdx, qword gs:[0x60]
jmp 0x1400c1380
lea edi, [r15 - 1]
imul edi, r15d
and edi, 1
mov rax, qword gs:[0x60]
cmp dword [rbp - 0x18], 0xa
jl 0x1400c148c
test edi, edi
jne 0x1400c14c4
test cl, cl
jne 0x1400c0d4e
mov rax, qword gs:[0x60]
cmp dword [rbp - 0x18], 0xa
jl 0x1400c146e
test edi, edi
je 0x1400c146e
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
jmp 0x1400c14b0
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
jmp 0x1400c14cd
mov eax, dword [0x1406cde58]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406cde5c], 0xa
setl cl
or cl, al
mov byte [rbp + 0x14], cl
mov eax, dword [0x1406ce450]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406ce454], 0xa
setl cl
or cl, al
mov byte [rbp], cl
mov eax, dword [0x1406cde88]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406cde8c], 0xa
setl r14b
or r14b, al
mov eax, dword [0x1406cde80]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406cde84], 0xa
setl cl
or cl, al
mov byte [rbp - 0x20], cl
mov eax, dword [0x1406cdeb4]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x1406cdeb0], 0xa
setge al
and al, cl
mov byte [rbp - 0x40], al
mov r12, qword [rdx + 0x30]
mov qword [rbp - 8], rdx
mov qword [rbp - 0x10], rdx
mov al, byte [rbp + 0x14]
test al, al
je 0x1400c16b8
cmp byte [rbp], 0
je 0x1400c1742
test al, al
je 0x1400c16b8
movsxd rax, dword [r12 + 0x3c]
mov r11d, dword [rax + r12 + 0x88]
test r11, r11
je 0x1400c16c4
mov eax, dword [r12 + r11 + 0x18]
lea rcx, [r12 + 1]
mov qword [rbp - 0x28], rcx
mov r15, rax
jmp 0x1400c15e7
mov r10d, 0x811c9dc5
mov rax, r15
cmp r10d, 0x6bcbc4b2
je 0x1400c16f2
sub r15, 1
jb 0x1400c16c4
test r14b, r14b
je 0x1400c173a
mov ecx, 0xffffffff
add rax, rcx
mov edx, dword [r12 + r11 + 0x20]
add rdx, r12
mov eax, eax
mov edx, dword [rdx + rax*4]
mov al, byte [r12 + rdx]
test al, al
je 0x1400c15d1
add rdx, qword [rbp - 0x28]
mov r10d, 0x811c9dc5
jmp 0x1400c1670
mov ecx, eax
and ecx, 0x7a066151
or ecx, 0x84700820
mov ebx, eax
and ebx, 0x85f99eae
xor ebx, ecx
mov ecx, r10d
xor ecx, ebx
xor ebx, 0x7b8ff7df
or ebx, r10d
xor ecx, 0x84700820
and ecx, ebx
not r10d
and r10d, eax
or r10d, ecx
imul r10d, r10d, 0x1000193
movzx eax, byte [rdx]
add rdx, 1
test al, al
je 0x1400c15d7
movsx eax, al
lea r9d, [rax - 0x41]
cmp r9b, 0x19
ja 0x1400c1623
mov ecx, eax
and ecx, 0x20
mov esi, eax
xor esi, 0xffffffdf
mov edi, eax
xor edi, 0xc3fc3c3d
and edi, esi
or eax, 0xc3fc3c1d
xor eax, 0xc3fc3c3d
or eax, edi
mov ebx, ecx
xor ebx, 0x3c03c3e2
and ebx, eax
or ecx, 0xc3fc3c1d
not eax
and eax, ecx
or eax, ebx
jmp 0x1400c1623
cmp byte [rbp], 0
jne 0x1400c15a0
jmp 0x1400c173c
cmp byte [rbp - 0x20], 0
je 0x1400c173e
cmp byte [rbp - 0x40], 0
jne 0x1400c1740
mov rax, qword [rbp - 0x10]
mov rax, qword [rax]
mov qword [rbp - 0x10], rax
cmp rax, qword [rbp - 8]
je 0x1400c16f2
mov rax, qword [rbp - 0x10]
mov r12, qword [rax + 0x30]
test r12, r12
jne 0x1400c158b
mov rax, qword [rbp + 8]
lea r11d, [rax - 1]
imul r11d, eax
and r11d, 1
sete bl
mov r9d, dword [rbp - 0x18]
cmp r9d, 0xa
setl al
mov edx, eax
and dl, bl
xor dl, 1
xor al, bl
cmp al, dl
mov rsi, qword [rbp - 0x58]
mov r10d, dword [rbp - 0x30]
je 0x1400c172f
xor al, 1
or dl, al
jne 0x1400c17d1
lea eax, [rsi - 1]
imul eax, esi
and eax, 1
jmp 0x1400c1744
jmp 0x1400c173a
jmp 0x1400c173c
jmp 0x1400c173e
jmp 0x1400c1740
jmp 0x1400c1742
test eax, eax
sete dl
cmp r10d, 0xa
setl al
or al, dl
jne 0x1400c1772
lea edx, [r8 - 1]
imul edx, r8d
and edx, 1
mov rcx, qword gs:[0x60]
cmp r13d, 0xa
jl 0x1400c1772
test edx, edx
jne 0x1400c1790
lea edx, [r8 - 1]
imul edx, r8d
and edx, 1
sete cl
cmp r13d, 0xa
setl bl
or bl, cl
cmp bl, 1
jne 0x1400c17fc
jmp 0x1400c17ad
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
jmp 0x1400c1799
mov rdi, qword gs:[0x60]
test bl, bl
je 0x1400c17fc
test al, al
je 0x1400c175f
mov rax, qword [rdi + 0x18]
mov rdi, qword [rax + 0x10]
cmp r9d, 0xa
jl 0x1400c1807
test r11d, r11d
je 0x1400c1807
lea eax, [rsi - 1]
imul eax, esi
and eax, 1
sete cl
cmp r10d, 0xa
setl dl
or dl, cl
jne 0x1400c1ab6
lea edi, [r8 - 1]
imul edi, r8d
and edi, 1
jmp 0x1400c1adc
mov rcx, qword gs:[0x60]
jmp 0x1400c17ad
mov eax, dword [0x1406cde58]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406cde5c], 0xa
setl bl
or bl, al
mov eax, dword [0x1406ce450]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406ce454], 0xa
setl dl
or dl, al
mov eax, dword [0x1406cde88]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406cde8c], 0xa
setl sil
or sil, al
mov eax, dword [0x1406cde80]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406cde84], 0xa
setl cl
or cl, al
mov byte [rbp - 0x10], cl
mov eax, dword [0x1406cdeb4]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x1406cdeb0], 0xa
setge al
and al, cl
mov byte [rbp + 0x14], al
mov r9, qword [rdi + 0x30]
xor eax, eax
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x20], rdi
mov byte [rbp - 0x40], bl
mov byte [rbp - 8], dl
test bl, bl
je 0x1400c19ed
test dl, dl
je 0x1400c1a2d
test bl, bl
je 0x1400c19ed
mov qword [rbp], rdi
movsxd rax, dword [r9 + 0x3c]
mov edi, dword [rax + r9 + 0x88]
test rdi, rdi
je 0x1400c19f7
mov eax, dword [r9 + rdi + 0x18]
lea rcx, [r9 + 1]
mov qword [rbp - 0x28], rcx
mov r15, rax
jmp 0x1400c190c
mov r10d, 0x811c9dc5
mov rax, r15
cmp r10d, 0x6bcbc4b2
je 0x1400c1a2f
sub r15, 1
jb 0x1400c19f7
test sil, sil
je 0x1400c1a25
mov ecx, 0xffffffff
add rax, rcx
mov edx, dword [r9 + rdi + 0x20]
add rdx, r9
mov r12d, eax
mov eax, dword [rdx + r12*4]
mov dl, byte [r9 + rax]
test dl, dl
je 0x1400c18f6
add rax, qword [rbp - 0x28]
mov r10d, 0x811c9dc5
jmp 0x1400c1999
mov ecx, r14d
and ecx, 0x7a066151
or ecx, 0x84700820
mov edx, r14d
and edx, 0x85f99eae
xor edx, ecx
mov ecx, r10d
xor ecx, edx
xor edx, 0x7b8ff7df
or edx, r10d
xor ecx, 0x84700820
and ecx, edx
not r10d
and r10d, r14d
or r10d, ecx
imul r10d, r10d, 0x1000193
movzx edx, byte [rax]
add rax, 1
test dl, dl
je 0x1400c18fc
movsx r14d, dl
lea edx, [r14 - 0x41]
cmp dl, 0x19
ja 0x1400c194a
mov edx, r14d
and edx, 0x20
mov ecx, r14d
xor ecx, 0xffffffdf
mov ebx, r14d
xor ebx, 0xc3fc3c3d
and ebx, ecx
or r14d, 0xc3fc3c1d
xor r14d, 0xc3fc3c3d
or r14d, ebx
mov ecx, edx
xor ecx, 0x3c03c3e2
and ecx, r14d
or edx, 0xc3fc3c1d
not r14d
and r14d, edx
or r14d, ecx
jmp 0x1400c194a
test dl, dl
jne 0x1400c18c3
jmp 0x1400c1a27
cmp byte [rbp - 0x10], 0
je 0x1400c1a29
cmp byte [rbp + 0x14], 0
jne 0x1400c1a2b
mov rdi, qword [rbp]
mov rdi, qword [rdi]
cmp rdi, qword [rbp - 0x20]
je 0x1400c1a4e
mov r9, qword [rdi + 0x30]
test r9, r9
mov bl, byte [rbp - 0x40]
mov dl, byte [rbp - 8]
jne 0x1400c18b3
jmp 0x1400c1a4e
jmp 0x1400c1a25
jmp 0x1400c1a27
jmp 0x1400c1a29
jmp 0x1400c1a2b
jmp 0x1400c1a2d
mov eax, dword [r9 + rdi + 0x1c]
mov ecx, dword [r9 + rdi + 0x24]
add rax, r9
add rcx, r9
movzx ecx, word [rcx + r12*2]
mov eax, dword [rax + rcx*4]
add rax, r9
mov qword [rbp - 0x38], rax
cmp dword [rbp - 0x6c], 0xa
jl 0x1400c1a5e
cmp dword [rbp - 0x48], 0
jne 0x1400c0931
sub rsp, 0x20
mov rcx, qword [rbp - 0x60]
xor edx, edx
mov r8d, 0x8000
call qword [rbp - 0x38]
mov rcx, qword [rbp - 0x68]
mov rdx, qword [rbp - 0x78]
call fcn.1400b3130
add rsp, 0x20
mov edx, dword [0x1406cdc34]
mov edi, dword [0x1406cdc30]
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
cmp edi, 0xa
jl 0x1400c070b
test ecx, ecx
mov eax, 0
mov rsi, qword [rbp - 0x78]
jne 0x1400c061c
jmp 0x1400c070d
lea edi, [r8 - 1]
imul edi, r8d
and edi, 1
mov rcx, qword gs:[0x60]
cmp r13d, 0xa
jl 0x1400c1ad4
test edi, edi
jne 0x1400c1b0c
test dl, dl
jne 0x1400c1744
mov rcx, qword gs:[0x60]
cmp r13d, 0xa
jl 0x1400c1ab6
test edi, edi
je 0x1400c1ab6
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
jmp 0x1400c1af8
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
jmp 0x1400c1b15
mov rdi, qword gs:[0x60]
test bl, bl
je 0x1400c1b7d
test al, al
je 0x1400c0985
mov rax, qword [rdi + 0x18]
mov rdx, qword [rax + 0x10]
cmp r9d, 0xa
jl 0x1400c14e1
test r11d, r11d
je 0x1400c14e1
lea eax, [rsi - 1]
imul eax, esi
and eax, 1
sete cl
cmp r10d, 0xa
setl dl
or dl, cl
jne 0x1400c1b88
lea edi, [r8 - 1]
imul edi, r8d
and edi, 1
jmp 0x1400c1bae
mov rcx, qword gs:[0x60]
jmp 0x1400c1b29
lea edi, [r8 - 1]
imul edi, r8d
and edi, 1
mov rcx, qword gs:[0x60]
cmp r13d, 0xa
jl 0x1400c1ba6
test edi, edi
jne 0x1400c1bde
test dl, dl
jne 0x1400c096a
mov rcx, qword gs:[0x60]
cmp r13d, 0xa
jl 0x1400c1b88
test edi, edi
je 0x1400c1b88
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
jmp 0x1400c1bca
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
jmp 0x1400c1be7
mov eax, dword [0x1406cde58]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406cde5c], 0xa
setl cl
or cl, al
mov byte [rbp + 0x14], cl
mov eax, dword [0x1406ce450]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406ce454], 0xa
setl cl
or cl, al
mov byte [rbp], cl
mov eax, dword [0x1406cde88]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406cde8c], 0xa
setl r14b
or r14b, al
mov eax, dword [0x1406cde80]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406cde84], 0xa
setl cl
or cl, al
mov byte [rbp - 0x20], cl
mov eax, dword [0x1406cdeb4]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x1406cdeb0], 0xa
setge al
and al, cl
mov byte [rbp - 0x40], al
mov r12, qword [rdx + 0x30]
mov qword [rbp - 8], rdx
mov qword [rbp - 0x10], rdx
mov al, byte [rbp + 0x14]
test al, al
je 0x1400c1dd2
cmp byte [rbp], 0
je 0x1400c1e5c
test al, al
je 0x1400c1dd2
movsxd rax, dword [r12 + 0x3c]
mov r11d, dword [rax + r12 + 0x88]
test r11, r11
je 0x1400c1dde
mov eax, dword [r12 + r11 + 0x18]
lea rcx, [r12 + 1]
mov qword [rbp - 0x28], rcx
mov r15, rax
jmp 0x1400c1d01
mov r10d, 0x811c9dc5
mov rax, r15
cmp r10d, 0x6bcbc4b2
je 0x1400c1e0c
sub r15, 1
jb 0x1400c1dde
test r14b, r14b
je 0x1400c1e54
mov ecx, 0xffffffff
add rax, rcx
mov edx, dword [r12 + r11 + 0x20]
add rdx, r12
mov eax, eax
mov edx, dword [rdx + rax*4]
mov al, byte [r12 + rdx]
test al, al
je 0x1400c1ceb
add rdx, qword [rbp - 0x28]
mov r10d, 0x811c9dc5
jmp 0x1400c1d8a
mov ecx, eax
and ecx, 0x7a066151
or ecx, 0x84700820
mov ebx, eax
and ebx, 0x85f99eae
xor ebx, ecx
mov ecx, r10d
xor ecx, ebx
xor ebx, 0x7b8ff7df
or ebx, r10d
xor ecx, 0x84700820
and ecx, ebx
not r10d
and r10d, eax
or r10d, ecx
imul r10d, r10d, 0x1000193
movzx eax, byte [rdx]
add rdx, 1
test al, al
je 0x1400c1cf1
movsx eax, al
lea r9d, [rax - 0x41]
cmp r9b, 0x19
ja 0x1400c1d3d
mov ecx, eax
and ecx, 0x20
mov esi, eax
xor esi, 0xffffffdf
mov edi, eax
xor edi, 0xc3fc3c3d
and edi, esi
or eax, 0xc3fc3c1d
xor eax, 0xc3fc3c3d
or eax, edi
mov ebx, ecx
xor ebx, 0x3c03c3e2
and ebx, eax
or ecx, 0xc3fc3c1d
not eax
and eax, ecx
or eax, ebx
jmp 0x1400c1d3d
cmp byte [rbp], 0
jne 0x1400c1cba
jmp 0x1400c1e56
cmp byte [rbp - 0x20], 0
je 0x1400c1e58
cmp byte [rbp - 0x40], 0
jne 0x1400c1e5a
mov rax, qword [rbp - 0x10]
mov rax, qword [rax]
mov qword [rbp - 0x10], rax
cmp rax, qword [rbp - 8]
je 0x1400c1e0c
mov rax, qword [rbp - 0x10]
mov r12, qword [rax + 0x30]
test r12, r12
jne 0x1400c1ca5
mov rax, qword [rbp + 8]
lea r11d, [rax - 1]
imul r11d, eax
and r11d, 1
sete bl
mov r9d, dword [rbp - 0x18]
cmp r9d, 0xa
setl al
mov edx, eax
and dl, bl
xor dl, 1
xor al, bl
cmp al, dl
mov rsi, qword [rbp - 0x58]
mov r10d, dword [rbp - 0x30]
je 0x1400c1e49
xor al, 1
or dl, al
jne 0x1400c1eeb
lea eax, [rsi - 1]
imul eax, esi
and eax, 1
jmp 0x1400c1e5e
jmp 0x1400c1e54
jmp 0x1400c1e56
jmp 0x1400c1e58
jmp 0x1400c1e5a
jmp 0x1400c1e5c
test eax, eax
sete dl
cmp r10d, 0xa
setl al
or al, dl
jne 0x1400c1e8c
lea edx, [r8 - 1]
imul edx, r8d
and edx, 1
mov rcx, qword gs:[0x60]
cmp r13d, 0xa
jl 0x1400c1e8c
test edx, edx
jne 0x1400c1eaa
lea edx, [r8 - 1]
imul edx, r8d
and edx, 1
sete cl
cmp r13d, 0xa
setl bl
or bl, cl
cmp bl, 1
jne 0x1400c1f16
jmp 0x1400c1ec7
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
jmp 0x1400c1eb3
mov rdi, qword gs:[0x60]
test bl, bl
je 0x1400c1f16
test al, al
je 0x1400c1e79
mov rax, qword [rdi + 0x18]
mov rdi, qword [rax + 0x10]
cmp r9d, 0xa
jl 0x1400c1f21
test r11d, r11d
je 0x1400c1f21
lea eax, [rsi - 1]
imul eax, esi
and eax, 1
sete cl
cmp r10d, 0xa
setl dl
or dl, cl
jne 0x1400c21a4
lea edi, [r8 - 1]
imul edi, r8d
and edi, 1
jmp 0x1400c21ca
mov rcx, qword gs:[0x60]
jmp 0x1400c1ec7
mov eax, dword [0x1406cde58]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406cde5c], 0xa
setl bl
or bl, al
mov eax, dword [0x1406ce450]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406ce454], 0xa
setl dl
or dl, al
mov eax, dword [0x1406cde88]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406cde8c], 0xa
setl sil
or sil, al
mov eax, dword [0x1406cde80]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406cde84], 0xa
setl cl
or cl, al
mov byte [rbp - 0x10], cl
mov eax, dword [0x1406cdeb4]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x1406cdeb0], 0xa
setge al
and al, cl
mov byte [rbp + 0x14], al
mov r9, qword [rdi + 0x30]
xor eax, eax
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x20], rdi
mov byte [rbp - 0x40], bl
mov byte [rbp - 8], dl
test bl, bl
je 0x1400c2107
test dl, dl
je 0x1400c2147
test bl, bl
je 0x1400c2107
mov qword [rbp], rdi
movsxd rax, dword [r9 + 0x3c]
mov edi, dword [rax + r9 + 0x88]
test rdi, rdi
je 0x1400c2111
mov eax, dword [r9 + rdi + 0x18]
lea rcx, [r9 + 1]
mov qword [rbp - 0x28], rcx
mov r15, rax
jmp 0x1400c2026
mov r10d, 0x811c9dc5
mov rax, r15
cmp r10d, 0x6bcbc4b2
je 0x1400c2149
sub r15, 1
jb 0x1400c2111
test sil, sil
je 0x1400c213f
mov ecx, 0xffffffff
add rax, rcx
mov edx, dword [r9 + rdi + 0x20]
add rdx, r9
mov r12d, eax
mov eax, dword [rdx + r12*4]
mov dl, byte [r9 + rax]
test dl, dl
je 0x1400c2010
add rax, qword [rbp - 0x28]
mov r10d, 0x811c9dc5
jmp 0x1400c20b3
mov ecx, r14d
and ecx, 0x7a066151
or ecx, 0x84700820
mov edx, r14d
and edx, 0x85f99eae
xor edx, ecx
mov ecx, r10d
xor ecx, edx
xor edx, 0x7b8ff7df
or edx, r10d
xor ecx, 0x84700820
and ecx, edx
not r10d
and r10d, r14d
or r10d, ecx
imul r10d, r10d, 0x1000193
movzx edx, byte [rax]
add rax, 1
test dl, dl
je 0x1400c2016
movsx r14d, dl
lea edx, [r14 - 0x41]
cmp dl, 0x19
ja 0x1400c2064
mov edx, r14d
and edx, 0x20
mov ecx, r14d
xor ecx, 0xffffffdf
mov ebx, r14d
xor ebx, 0xc3fc3c3d
and ebx, ecx
or r14d, 0xc3fc3c1d
xor r14d, 0xc3fc3c3d
or r14d, ebx
mov ecx, edx
xor ecx, 0x3c03c3e2
and ecx, r14d
or edx, 0xc3fc3c1d
not r14d
and r14d, edx
or r14d, ecx
jmp 0x1400c2064
test dl, dl
jne 0x1400c1fdd
jmp 0x1400c2141
cmp byte [rbp - 0x10], 0
je 0x1400c2143
cmp byte [rbp + 0x14], 0
jne 0x1400c2145
mov rdi, qword [rbp]
mov rdi, qword [rdi]
cmp rdi, qword [rbp - 0x20]
je 0x1400c2168
mov r9, qword [rdi + 0x30]
test r9, r9
mov bl, byte [rbp - 0x40]
mov dl, byte [rbp - 8]
jne 0x1400c1fcd
jmp 0x1400c2168
jmp 0x1400c213f
jmp 0x1400c2141
jmp 0x1400c2143
jmp 0x1400c2145
jmp 0x1400c2147
mov eax, dword [r9 + rdi + 0x1c]
mov ecx, dword [r9 + rdi + 0x24]
add rax, r9
add rcx, r9
movzx ecx, word [rcx + r12*2]
mov eax, dword [rax + rcx*4]
add rax, r9
mov qword [rbp - 0x38], rax
cmp dword [rbp - 0x6c], 0xa
jl 0x1400c2178
cmp dword [rbp - 0x48], 0
jne 0x1400c06a1
sub rsp, 0x20
mov rcx, qword [rbp - 0x60]
xor edx, edx
mov r8d, 0x8000
call qword [rbp - 0x38]
mov rcx, qword [rbp - 0x68]
mov rsi, qword [rbp - 0x78]
mov rdx, rsi
call fcn.1400b3130
add rsp, 0x20
jmp 0x1400c08ac
lea edi, [r8 - 1]
imul edi, r8d
and edi, 1
mov rcx, qword gs:[0x60]
cmp r13d, 0xa
jl 0x1400c21c2
test edi, edi
jne 0x1400c21fa
test dl, dl
jne 0x1400c1e5e
mov rcx, qword gs:[0x60]
cmp r13d, 0xa
jl 0x1400c21a4
test edi, edi
je 0x1400c21a4
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
jmp 0x1400c21e6
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
jmp 0x1400c2203
mov rdi, qword gs:[0x60]
test bl, bl
je 0x1400c226b
test al, al
je 0x1400c0857
mov rax, qword [rdi + 0x18]
mov rdx, qword [rax + 0x10]
cmp r9d, 0xa
jl 0x1400c1bfb
test r11d, r11d
je 0x1400c1bfb
lea eax, [rsi - 1]
imul eax, esi
and eax, 1
sete cl
cmp r10d, 0xa
setl dl
or dl, cl
jne 0x1400c2276
lea edi, [r8 - 1]
imul edi, r8d
and edi, 1
jmp 0x1400c229c
mov rcx, qword gs:[0x60]
jmp 0x1400c2217
lea edi, [r8 - 1]
imul edi, r8d
and edi, 1
mov rcx, qword gs:[0x60]
cmp r13d, 0xa
jl 0x1400c2294
test edi, edi
jne 0x1400c22cc
test dl, dl
jne 0x1400c083c
mov rcx, qword gs:[0x60]
cmp r13d, 0xa
jl 0x1400c2276
test edi, edi
je 0x1400c2276
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
jmp 0x1400c22b8
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
jmp 0x1400c22d5