Function at 0x14000cc40
Capabilities:
Access peb ldr_data
Encode data using xor
Generate random numbers using a mersenne twister
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x29e8]
mov eax, 0x2ac0
call fcn.14002a430
sub rsp, rax
mov rax, qword [0x140039010]
xor rax, rsp
mov qword [rbp + 0x29b8], rax
mov rbx, rcx
call fcn.1400059a8
mov rdx, rbx
lea rcx, [rbp + 0x2998]
call fcn.140023f58
nop
call fcn.1400059a8
xor r12d, r12d
mov qword [rbp + 0x28d0], r12
mov qword [rbp + 0x28e0], r12
mov qword [rbp + 0x28e8], 0xf
mov byte [rbp + 0x28d0], r12b
lea r9, [0x140030800]
or r14, 0xffffffffffffffff
mov rdi, r14
inc rdi
cmp byte [r9 + rdi], r12b
jne 0x14000cccb
lea rcx, [rbp + 0x28d0]
cmp rdi, 0xf
ja 0x14000ccfd
mov qword [rbp + 0x28e0], rdi
mov r8, rdi
mov rdx, r9
call sub.VCRUNTIME140.dll_memmove
mov byte [rbp + rdi + 0x28d0], r12b
jmp 0x14000cd06
mov rdx, rdi
call fcn.140005244
nop
or r15d, 0xffffffff
mov dword [rbp + 0x1534], r15d
mov edi, 0x44
mov dword [rbp + 0x1b4], edi
mov edx, edi
lea r13d, [rdi - 0x43]
mov ecx, r13d
mov esi, 0x270
mov eax, edx
shr eax, 0x1e
xor eax, edx
imul edx, eax, 0x6c078965
add edx, ecx
mov dword [rbp + rcx*4 + 0x1b4], edx
add rcx, r13
cmp rcx, rsi
jb 0x14000cd2a
mov dword [rbp + 0x1b0], esi
lea rcx, [rbp + 0x28d0]
mov rdx, qword [rbp + 0x28e0]
cmp qword [rbp + 0x28e8], 0x10
jb 0x14000cd72
mov rcx, qword [rbp + 0x28d0]
add rdx, rcx
jmp 0x14000cd7c
add rdx, rcx
lea rcx, [rbp + 0x28d0]
lea r8, [rbp + 0x1b0]
call fcn.1400258d8
lea rdx, [0x140039050]
lea rcx, [rbp + 0x2900]
call fcn.140023f58
nop
mov dword [rbp + 0x28c4], r15d
mov dword [rbp + 0x1544], edi
mov rcx, r13
mov eax, edi
shr eax, 0x1e
xor eax, edi
imul edi, eax, 0x6c078965
add edi, ecx
mov dword [rbp + rcx*4 + 0x1544], edi
add rcx, r13
cmp rcx, rsi
jb 0x14000cdac
mov dword [rbp + 0x1540], esi
lea rcx, [rbp + 0x2900]
mov rdx, qword [rbp + 0x2910]
cmp qword [rbp + 0x2918], 0x10
jb 0x14000cdf4
mov rcx, qword [rbp + 0x2900]
add rdx, rcx
jmp 0x14000cdfe
add rdx, rcx
lea rcx, [rbp + 0x2900]
lea r8, [rbp + 0x1540]
call fcn.1400258d8
lea r8, [rbp + 0x2900]
lea rdx, [rbp + 0x28d0]
lea rcx, [rbp + 0x2998]
call fcn.14000c9a4
xor ecx, ecx
call qword [sym.imp.libmysql.dll_mysql_init]
mov r15, rax
movups xmm0, xmmword [str.__Z____IRHX]
movups xmmword [rbp + 0x2920], xmm0
movups xmm1, xmmword [0x14002e968]
movups xmmword [rbp + 0x2930], xmm1
mov esi, 0x4ec4ec4f
mov r9b, 0x33
psrldq xmm1, 0xf
movd ecx, xmm1
test cl, cl
je 0x14000ce8d
mov edi, r12d
lea r8, [rbp + 0x2920]
mov eax, esi
mul edi
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x34
mov al, dil
sub al, cl
add al, r9b
xor byte [r8], al
add edi, r13d
add r8, r13
cmp edi, 0x20
jl 0x14000ce6a
movsd xmm0, qword [str.__Z____IRHX_]
movsd qword [rbp + 0x28f0], xmm0
mov eax, dword [0x14002ed90]
mov dword [rbp + 0x28f8], eax
cmp byte [0x14002ed93], r12b
je 0x14000cedf
mov edi, r12d
lea r8, [rbp + 0x28f0]
mov eax, esi
mul edi
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x34
mov al, dil
sub al, cl
add al, r9b
xor byte [r8], al
add edi, r13d
add r8, r13
cmp edi, 0xc
jl 0x14000cebc
lea rdx, [rbp + 0x120]
lea rax, [0x140000000]
lea rcx, [rax + 0x306d0]
movups xmm0, xmmword [rcx]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rdx + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rdx + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rdx + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rdx + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rdx + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rdx + 0x60], xmm0
mov eax, 0x80
add rdx, rax
movups xmm0, xmmword [rcx + 0x70]
movups xmmword [rdx - 0x10], xmm0
add rcx, rax
mov rax, qword [rcx]
mov qword [rdx], rax
mov eax, dword [rcx + 8]
mov dword [rdx + 8], eax
mov al, byte [rcx + 0xc]
mov byte [rdx + 0xc], al
mov edi, r12d
lea r8, [rbp + 0x120]
mov eax, esi
mul edi
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x34
mov al, dil
sub al, cl
add al, r9b
xor byte [r8], al
add edi, r13d
add r8, r13
cmp edi, 0x8d
jl 0x14000cf59
movups xmm0, xmmword [0x14002fcb0]
movups xmmword [rsp + 0x78], xmm0
mov al, byte [0x14002fcc0]
mov byte [rbp - 0x78], al
mov edi, r12d
lea r8, [rsp + 0x78]
mov eax, esi
mul edi
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x34
mov al, dil
sub al, cl
add al, r9b
xor byte [r8], al
add edi, r13d
add r8, r13
cmp edi, 0x11
jl 0x14000cf9c
mov dword [rsp + 0x38], r12d
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x120]
lea r8, [rbp + 0x28f0]
lea rdx, [rbp + 0x2920]
mov rcx, r15
call qword [sym.imp.libmysql.dll_mysql_real_connect]
test rax, rax
jne 0x14000d47b
movups xmm0, xmmword [str.__Z____IRHX]
movups xmmword [rbp - 0x70], xmm0
movups xmm1, xmmword [0x14002e968]
movups xmmword [rbp - 0x60], xmm1
psrldq xmm1, 0xf
movd eax, xmm1
test al, al
je 0x14000d04b
mov edi, r12d
lea r8, [rbp - 0x70]
mov eax, esi
mul edi
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x34
mov al, dil
sub al, cl
add al, 0x33
xor byte [r8], al
add edi, r13d
add r8, r13
cmp edi, 0x20
jl 0x14000d029
movsd xmm0, qword [str.__Z____IRHX_]
movsd qword [rsp + 0x50], xmm0
mov eax, dword [0x14002ed90]
mov dword [rsp + 0x58], eax
cmp byte [0x14002ed93], r12b
je 0x14000d096
mov edi, r12d
lea r8, [rsp + 0x50]
mov eax, esi
mul edi
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x34
mov al, dil
sub al, cl
add al, 0x33
xor byte [r8], al
add edi, r13d
add r8, r13
cmp edi, 0xc
jl 0x14000d074
lea rdx, [rbp + 0x90]
lea rcx, [0x140000000]
lea rcx, [rcx + 0x2ef70]
movups xmm0, xmmword [rcx]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rdx + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rdx + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rdx + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rdx + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rdx + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rdx + 0x60], xmm0
mov eax, 0x80
add rdx, rax
movups xmm1, xmmword [rcx + 0x70]
movups xmmword [rdx - 0x10], xmm1
add rcx, rax
mov rax, qword [rcx]
mov qword [rdx], rax
mov eax, dword [rcx + 8]
mov dword [rdx + 8], eax
mov edi, r12d
lea r8, [rbp + 0x90]
mov eax, esi
mul edi
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x34
mov al, dil
sub al, cl
add al, 0x33
xor byte [r8], al
add edi, r13d
add r8, r13
cmp edi, 0x8c
jl 0x14000d10a
movups xmm0, xmmword [0x14002fcb0]
movups xmmword [rsp + 0x60], xmm0
mov al, byte [0x14002fcc0]
mov byte [rsp + 0x70], al
mov edi, r12d
lea r8, [rsp + 0x60]
mov eax, esi
mul edi
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x34
mov al, dil
sub al, cl
add al, 0x33
xor byte [r8], al
add edi, r13d
add r8, r13
cmp edi, 0x11
jl 0x14000d14d
lea rax, [rbp - 0x70]
mov r8, r14
inc r8
cmp byte [rax + r8], r12b
jne 0x14000d176
xor edx, edx
lea rcx, [rbp - 0x70]
call sub.VCRUNTIME140.dll_memset
lea rax, [rsp + 0x50]
mov r8, r14
inc r8
cmp byte [rax + r8], r12b
jne 0x14000d192
xor edx, edx
lea rcx, [rsp + 0x50]
call sub.VCRUNTIME140.dll_memset
lea rax, [rbp + 0x90]
mov r8, r14
inc r8
cmp byte [rax + r8], r12b
jne 0x14000d1b1
xor edx, edx
lea rcx, [rbp + 0x90]
call sub.VCRUNTIME140.dll_memset
lea rax, [rsp + 0x60]
mov r8, r14
inc r8
cmp byte [rax + r8], r12b
jne 0x14000d1d0
xor edx, edx
lea rcx, [rsp + 0x60]
call sub.VCRUNTIME140.dll_memset
lea rax, [rbp - 0x70]
mov r8, r14
inc r8
cmp byte [rax + r8], r12b
jne 0x14000d1ec
xor edx, edx
lea rcx, [rbp - 0x70]
call sub.VCRUNTIME140.dll_memset
lea rax, [rsp + 0x50]
mov r8, r14
inc r8
cmp byte [rax + r8], r12b
jne 0x14000d208
xor edx, edx
lea rcx, [rsp + 0x50]
call sub.VCRUNTIME140.dll_memset
lea rax, [rbp + 0x90]
mov r8, r14
inc r8
cmp byte [rax + r8], r12b
jne 0x14000d227
xor edx, edx
lea rcx, [rbp + 0x90]
call sub.VCRUNTIME140.dll_memset
lea rax, [rsp + 0x60]
mov r8, r14
inc r8
cmp byte [rax + r8], r12b
jne 0x14000d246
xor edx, edx
lea rcx, [rsp + 0x60]
call sub.VCRUNTIME140.dll_memset
lea rax, [rbp + 0x90]
mov r10, r14
inc r10
cmp byte [rax + r10], r12b
jne 0x14000d265
lea rax, [rsp + 0x60]
mov r9, r14
inc r9
cmp byte [rax + r9], r12b
jne 0x14000d276
lea rax, [rsp + 0x50]
mov r8, r14
inc r8
cmp byte [rax + r8], r12b
jne 0x14000d287
lea rax, [rbp - 0x70]
mov rdx, r14
inc rdx
cmp byte [rax + rdx], r12b
jne 0x14000d297
lea rdi, [rbp + 0x90]
xor eax, eax
mov rcx, r10
rep stosb byte [rdi], al
lea rdi, [rsp + 0x60]
mov rcx, r9
rep stosb byte [rdi], al
lea rdi, [rsp + 0x50]
mov rcx, r8
rep stosb byte [rdi], al
lea rdi, [rbp - 0x70]
mov rcx, rdx
rep stosb byte [rdi], al
mov qword [rbp + 0x2968], r12
mov qword [rbp + 0x2970], r12
mov qword [rbp + 0x2978], r12
mov qword [rbp + 0x2980], r12
lea rdi, [rbp + 0x90]
mov rcx, r10
rep stosb byte [rdi], al
lea rdi, [rsp + 0x60]
mov rcx, r9
rep stosb byte [rdi], al
lea rdi, [rsp + 0x50]
mov rcx, r8
rep stosb byte [rdi], al
lea rdi, [rbp - 0x70]
mov rcx, rdx
rep stosb byte [rdi], al
lea rcx, [rbp - 0x70]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
lea rcx, [rsp + 0x50]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
lea rcx, [rbp + 0x90]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
lea rcx, [rsp + 0x60]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
call fcn.1400059a8
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rdi, qword [rax + 0x30]
movsxd rcx, dword [rdi + 0x3c]
mov r9d, dword [rcx + rdi + 0x88]
add r9, rdi
cmp r9, rdi
je 0x14000d3b8
mov r8d, dword [r9 + 0x18]
test r8d, r8d
je 0x14000d3b8
mov esi, dword [r9 + 0x20]
dec r8d
lea rcx, [rsi + r8*4]
mov edx, dword [rcx + rdi]
add rdx, rdi
mov r10d, 0x3ad3f6aa
mov cl, byte [rdx]
add rdx, r13
test cl, cl
je 0x14000d3b3
movsx ecx, cl
xor ecx, r10d
imul r10d, ecx, 0x1000193
mov cl, byte [rdx]
add rdx, r13
test cl, cl
jne 0x14000d394
cmp r10d, 0x98ea1ed
je 0x14000d3bd
test r8d, r8d
jne 0x14000d378
mov rax, qword [rax]
jmp 0x14000d353
mov ecx, dword [r9 + 0x1c]
add rcx, rdi
mov eax, dword [r9 + 0x24]
add rax, rdi
movzx eax, word [rax + r8*2]
mov edx, dword [rcx + rax*4]
add rdx, rdi
mov ecx, 0xfa0
call rdx
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rdi, qword [rax + 0x30]
movsxd rcx, dword [rdi + 0x3c]
mov r9d, dword [rcx + rdi + 0x88]
add r9, rdi
cmp r9, rdi
je 0x14000d453
mov r8d, dword [r9 + 0x18]
test r8d, r8d
je 0x14000d453
mov esi, dword [r9 + 0x20]
dec r8d
lea rcx, [rsi + r8*4]
mov edx, dword [rcx + rdi]
add rdx, rdi
mov r10d, 0x3be5415e
mov cl, byte [rdx]
add rdx, r13
test cl, cl
je 0x14000d44e
movsx ecx, cl
xor ecx, r10d
imul r10d, ecx, 0x1000193
mov cl, byte [rdx]
add rdx, r13
test cl, cl
jne 0x14000d42f
cmp r10d, 0x5022e4e6
je 0x14000d458
test r8d, r8d
jne 0x14000d413
mov rax, qword [rax]
jmp 0x14000d3ee
mov ecx, dword [r9 + 0x1c]
add rcx, rdi
mov eax, dword [r9 + 0x24]
add rax, rdi
movzx eax, word [rax + r8*2]
mov edx, dword [rcx + rax*4]
add rdx, rdi
mov ecx, r13d
call rdx
mov esi, 0x4ec4ec4f
call fcn.1400059a8
cmp qword [rbx + 0x10], 0x100
jne 0x14000d9c9
call fcn.1400059a8
mov rdx, rbx
mov rcx, r15
call fcn.14000bcc4
test al, al
jne 0x14000da14
call fcn.1400059a8
call fcn.140016ddc
call fcn.140016890
call fcn.14001735c
call fcn.1400195a8
call fcn.14000f804
call fcn.14000f9f8
call fcn.14000f73c
call fcn.140010ad0
call fcn.140019e9c
call fcn.140012b44
call fcn.140015a8c
call fcn.140019ba4
call fcn.14000fc20
call fcn.140011be8
call fcn.140011bfc
call fcn.140010d84
call fcn.14001140c
call fcn.14001155c
call fcn.140011910
call fcn.14001a778
call fcn.14000ff08
call fcn.140010504
call fcn.140011c1c
call fcn.14001a3e8
call fcn.140011f08
call fcn.1400059a8
movups xmm0, xmmword [0x14002f7c8]
movups xmmword [rbp - 0x10], xmm0
movups xmm1, xmmword [0x14002f7d8]
movups xmmword [rbp], xmm1
movzx eax, word [0x14002f7e8]
mov word [rbp + 0x10], ax
mov al, byte [0x14002f7ea]
mov byte [rbp + 0x12], al
mov edi, r12d
lea r8, [rbp - 0x10]
mov eax, esi
mul edi
shr edx, 4
movsx eax, dl
imul edx, eax, 0x34
mov al, dil
sub al, dl
add al, 0x33
xor byte [r8], al
add edi, r13d
add r8, r13
cmp edi, 0x23
jl 0x14000d55e
lea rdx, [rbp - 0x10]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400251f8
lea rdx, [0x1400259f0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rdi, qword [rax + 0x30]
movsxd rcx, dword [rdi + 0x3c]
mov r9d, dword [rcx + rdi + 0x88]
add r9, rdi
cmp r9, rdi
je 0x14000d61a
mov r8d, dword [r9 + 0x18]
test r8d, r8d
je 0x14000d61a
mov esi, dword [r9 + 0x20]
or r14d, 0xffffffff
add r8d, r14d
lea rcx, [rsi + r8*4]
mov edx, dword [rcx + rdi]
add rdx, rdi
mov r10d, 0x6f5edd35
mov cl, byte [rdx]
add rdx, r13
test cl, cl
je 0x14000d615
movsx ecx, cl
xor ecx, r10d
imul r10d, ecx, 0x1000193
mov cl, byte [rdx]
add rdx, r13
test cl, cl
jne 0x14000d5f6
cmp r10d, 0x78cc3e78
je 0x14000d61f
test r8d, r8d
jne 0x14000d5da
mov rax, qword [rax]
jmp 0x14000d5b1
mov ecx, dword [r9 + 0x1c]
add rcx, rdi
mov eax, dword [r9 + 0x24]
add rax, rdi
movzx eax, word [rax + r8*2]
mov edx, dword [rcx + rax*4]
add rdx, rdi
mov ecx, 0x3e8
call rdx
mov eax, dword [0x14002ea58]
mov dword [rsp + 0x44], eax
cmp byte [0x14002ea5b], r12b
je 0x14000d67f
mov edi, r12d
lea r8, [rsp + 0x44]
mov eax, 0x4ec4ec4f
mul edi
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x34
mov al, dil
sub al, cl
add al, 0x33
xor byte [r8], al
add edi, r13d
add r8, r13
cmp edi, 4
jl 0x14000d65a
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rdi, qword [rax + 0x30]
movsxd rcx, dword [rdi + 0x3c]
mov r9d, dword [rcx + rdi + 0x88]
add r9, rdi
cmp r9, rdi
je 0x14000d6f5
mov r8d, dword [r9 + 0x18]
test r8d, r8d
je 0x14000d6f5
mov esi, dword [r9 + 0x20]
add r8d, r14d
lea rcx, [rdi + r8*4]
mov edx, dword [rcx + rsi]
add rdx, rdi
mov r10d, 0x6a5c96bf
mov cl, byte [rdx]
add rdx, r13
test cl, cl
je 0x14000d6f0
movsx ecx, cl
xor ecx, r10d
imul r10d, ecx, 0x1000193
mov cl, byte [rdx]
add rdx, r13
test cl, cl
jne 0x14000d6d1
cmp r10d, 0xc9a0e81e
je 0x14000d6fa
test r8d, r8d
jne 0x14000d6b5
mov rax, qword [rax]
jmp 0x14000d690
mov ecx, dword [r9 + 0x1c]
add rcx, rdi
mov eax, dword [r9 + 0x24]
add rax, rdi
movzx eax, word [rax + r8*2]
mov edx, dword [rcx + rax*4]
add rdx, rdi
lea rcx, [rsp + 0x44]
call rdx
mov r8, rbx
mov rdx, r15
lea rcx, [rbp + 0x2920]
call fcn.14000c0c8
nop
call fcn.1400059a8
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x2940], xmm0
movups xmmword [rbp + 0x2950], xmm0
mov dword [rbp + 0x2960], eax
lea rdx, [rbp + 0x2940]
lea rcx, [rbp + 0x2920]
call fcn.14000bb18
test al, al
je 0x14000d97b
lea rcx, [rbp + 0x2940]
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__mktime64]
mov rdi, rax
lea rcx, [rbp + 0x28f0]
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov rdx, qword [rbp + 0x28f0]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__difftime64]
comisd xmm0, xmmword [0x140031688]
jbe 0x14000d97b
cvttsd2si r14d, xmm0
mov eax, 0x91a2b3c5
imul r14d
lea ebx, [r14 + rdx]
sar ebx, 0xb
mov eax, ebx
shr eax, 0x1f
add ebx, eax
imul eax, ebx, 0xe10
mov ecx, r14d
sub ecx, eax
mov edi, 0x88888889
mov eax, edi
imul ecx
lea esi, [rcx + rdx]
sar esi, 5
mov ecx, esi
shr ecx, 0x1f
add esi, ecx
mov eax, edi
imul r14d
add edx, r14d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x3c
sub r14d, eax
movsd xmm0, qword [str.g_XS]
movsd qword [rsp + 0x78], xmm0
mov eax, dword [0x14002ff08]
mov dword [rbp - 0x80], eax
cmp byte [0x14002ff0b], r12b
je 0x14000d842
mov edi, r12d
lea r8, [rsp + 0x78]
mov eax, 0x4ec4ec4f
mul edi
shr edx, 4
movsx eax, dl
imul edx, eax, 0x34
mov al, dil
sub al, dl
add al, 0x33
xor byte [r8], al
add edi, r13d
add r8, r13
cmp edi, 0xc
jl 0x14000d81d
lea rdx, [rsp + 0x78]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400251f8
mov edx, ebx
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
mov r9, rax
movzx ecx, word [0x140030564]
mov word [rsp + 0x48], cx
mov cl, byte [str.5zYXCYQMC]
mov byte [rsp + 0x4a], cl
mov edi, r12d
lea r8, [rsp + 0x48]
mov ebx, 0x4ec4ec4f
mov eax, ebx
mul edi
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x34
mov al, dil
sub al, cl
add al, 0x33
xor byte [r8], al
add edi, r13d
add r8, r13
cmp edi, 3
jl 0x14000d884
lea rdx, [rsp + 0x48]
mov rcx, r9
call fcn.1400251f8
mov edx, esi
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
mov r9, rax
movzx ecx, word [0x14002fc98]
mov word [rsp + 0x4c], cx
mov cl, byte [0x14002fc9a]
mov byte [rsp + 0x4e], cl
mov edi, r12d
lea r8, [rsp + 0x4c]
mov eax, ebx
mul edi
shr edx, 4
movsx ecx, dl
imul eax, ecx, 0x34
mov cl, dil
sub cl, al
add cl, 0x33
xor byte [r8], cl
add edi, r13d
add r8, r13
cmp edi, 3
jl 0x14000d8df
lea rdx, [rsp + 0x4c]
mov rcx, r9
call fcn.1400251f8
mov edx, r14d
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
mov r9, rax
movzx ecx, word [0x14002e74c]
mov word [rsp + 0x40], cx
cmp byte [0x14002e74d], r12b
je 0x14000d95d
mov edi, r12d
lea r8, [rsp + 0x40]
mov eax, ebx
mul edi
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x34
mov al, dil
sub al, cl
add al, 0x33
xor byte [r8], al
add edi, r13d
add r8, r13
cmp edi, 2
jl 0x14000d93b
lea rdx, [rsp + 0x40]
mov rcx, r9
call fcn.1400251f8
lea rdx, [0x1400259f0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
nop
mov rdx, qword [rbp + 0x2938]
cmp rdx, 0x10
jb 0x14000d9bf
inc rdx
mov rcx, qword [rbp + 0x2920]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000d9ba
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000d9ba
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140029564
mov rcx, r15
call qword [sym.imp.libmysql.dll_mysql_close]
nop
mov rdx, qword [rbp + 0x2918]
cmp rdx, 0x10
jb 0x14000dd98
inc rdx
mov rcx, qword [rbp + 0x2900]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000dd93
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000dd93
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
lea rdx, [0x14000c63c]
lea rcx, [rbp + 0x2988]
call fcn.140025a28
nop
call fcn.1400059a8
movaps xmm0, xmmword [0x140031290]
movaps xmmword [rbp + 0x20], xmm0
movaps xmm1, xmmword [0x1400312a0]
movaps xmmword [rbp + 0x30], xmm1
movaps xmm0, xmmword [0x1400312b0]
movaps xmmword [rbp + 0x40], xmm0
movaps xmm1, xmmword [0x1400312c0]
movaps xmmword [rbp + 0x50], xmm1
movaps xmm0, xmmword [0x1400312d0]
movaps xmmword [rbp + 0x60], xmm0
movaps xmm1, xmmword [0x1400312e0]
movaps xmmword [rbp + 0x70], xmm1
movsd xmm0, qword [0x1400312f0]
movsd qword [rbp + 0x80], xmm0
mov eax, dword [0x1400312f8]
mov dword [rbp + 0x88], eax
movzx eax, word [0x1400312fc]
mov word [rbp + 0x8c], ax
mov al, byte [0x1400312fe]
mov byte [rbp + 0x8e], al
mov edi, r12d
lea r8, [rbp + 0x20]
mov eax, esi
mul edi
shr edx, 4
movsx eax, dl
imul edx, eax, 0x34
mov al, dil
sub al, dl
add al, 0x33
xor byte [r8], al
add edi, r13d
add r8, r13
cmp edi, 0x6f
jl 0x14000dabd
lea rdx, [rbp + 0x20]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400251f8
lea rdx, [0x1400259f0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
movups xmm0, xmmword [0x14002e440]
movups xmmword [rbp - 0x30], xmm0
movsd xmm1, qword [0x14002e450]
movsd qword [rbp - 0x20], xmm1
mov eax, dword [0x14002e458]
mov dword [rbp - 0x18], eax
movzx eax, word [0x14002e45c]
mov word [rbp - 0x14], ax
mov al, byte [0x14002e45e]
mov byte [rbp - 0x12], al
mov edi, r12d
lea r8, [rbp - 0x30]
mov eax, esi
mul edi
shr edx, 4
movsx eax, dl
imul edx, eax, 0x34
mov al, dil
sub al, dl
add al, 0x33
xor byte [r8], al
add edi, r13d
add r8, r13
cmp edi, 0x1f
jl 0x14000db3b
lea rdx, [rbp - 0x30]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400251f8
mov rdx, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x14000db7a
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
mov rcx, rax
call fcn.140026fe4
lea rdx, [0x1400259f0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
call fcn.1400059a8
call fcn.140016ddc
call fcn.140016890
call fcn.14001735c
call fcn.1400195a8
call fcn.14000f804
call fcn.14000f9f8
call fcn.14000f73c
call fcn.140010ad0
call fcn.140019e9c
call fcn.140012b44
call fcn.140015a8c
call fcn.140019ba4
call fcn.14000fc20
call fcn.140011be8
call fcn.140011bfc
call fcn.140010d84
call fcn.14001140c
call fcn.14001155c
call fcn.140011910
call fcn.14001a778
call fcn.14000ff08
call fcn.140010504
call fcn.140011c1c
call fcn.14001a3e8
call fcn.140011f08
call fcn.1400059a8
mov rcx, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x14000dc2a
mov rcx, qword [rbx]
mov rdi, qword [rbx + 0x10]
add rdi, rcx
cmp qword [rbx + 0x18], 0x10
jb 0x14000dc3b
mov rbx, qword [rbx]
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x38], 7
mov word [rbp - 0x50], r12w
mov rdx, rdi
sub rdx, rbx
cmp rdx, 7
jbe 0x14000dc69
lea rcx, [rbp - 0x50]
call fcn.1400262d8
mov qword [rbp - 0x40], r12
mov r8, rdi
mov rdx, rbx
lea rcx, [rbp - 0x50]
call fcn.140028a5c
nop
lea rcx, [rbp - 0x50]
call fcn.14000c774
nop
lea rcx, [rbp - 0x50]
call fcn.1400042f8
call fcn.1400059a8
call fcn.1400054c8
call fcn.140005510
call fcn.14000606c
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x14000dcb9
movsxd rcx, dword [rax + 0x3c]
add dword [rcx + rax + 0x50], 0x100000
call fcn.14000546c
call fcn.1400059a8
mov dword [rsp + 0x44], r12d
mov eax, dword [rsp + 0x44]
add eax, r13d
mov dword [rsp + 0x44], eax
mov r8d, r14d
mov rdx, r13
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_istream_char__struct_std::char_traits_char__::ignore_long_long___int64___int____ptr64]
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rdi, qword [rax + 0x30]
movsxd rcx, dword [rdi + 0x3c]
mov r8d, dword [rcx + rdi + 0x88]
add r8, rdi
cmp r8, rdi
je 0x14000dd5c
mov r9d, dword [r8 + 0x18]
test r9d, r9d
je 0x14000dd5c
mov ebx, dword [r8 + 0x20]
dec r9d
lea rcx, [rdi + r9*4]
mov edx, dword [rcx + rbx]
add rdx, rdi
mov r10d, 0x98878cc8
mov cl, byte [rdx]
add rdx, r13
test cl, cl
je 0x14000dd57
movsx ecx, cl
xor ecx, r10d
imul r10d, ecx, 0x1000193
mov cl, byte [rdx]
add rdx, r13
test cl, cl
jne 0x14000dd38
cmp r10d, 0xdb49fb18
je 0x14000dd61
test r9d, r9d
jne 0x14000dd1c
mov rax, qword [rax]
jmp 0x14000dcf7
mov ecx, dword [r8 + 0x1c]
add rcx, rdi
mov eax, dword [r8 + 0x24]
add rax, rdi
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
add rdx, rdi
xor ecx, ecx
call rdx
nop
cmp dword [rbp + 0x2990], r12d
je 0x14000d9bf
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
nop
call fcn.140029564
mov qword [rbp + 0x2910], r12
mov edi, 0xf
mov qword [rbp + 0x2918], rdi
mov byte [rbp + 0x2900], r12b
mov rdx, qword [rbp + 0x28e8]
cmp rdx, 0x10
jb 0x14000ddf6
inc rdx
mov rcx, qword [rbp + 0x28d0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000ddf1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000ddf1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140029564
mov qword [rbp + 0x28e0], r12
mov qword [rbp + 0x28e8], rdi
mov byte [rbp + 0x28d0], r12b
mov rdx, qword [rbp + 0x29b0]
cmp rdx, 0x10
jb 0x14000de4f
inc rdx
mov rcx, qword [rbp + 0x2998]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000de4a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000de4a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140029564
mov rcx, qword [rbp + 0x29b8]
xor rcx, rsp
call fcn.140029500
lea r11, [rsp + 0x2ac0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret