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

Disassembly:
mov dword [rsp + 0x20], r9d
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, 0x108
mov rdi, qword [rcx + 0x10]
mov r13, rdx
mov r10, qword [rcx]
xor edx, edx
mov dword [rsp + 0x90], edx
mov rsi, rcx
mov dword [rsp + 0x8c], edx
mov dword [rsp + 0xa4], edx
mov byte [rsp + 0x60], dl
mov qword [rsp + 0x98], r10
test rdi, rdi
jne 0x14011636e
call fcn.1400d6160
mov r10, qword [rsp + 0x98]
mov rdi, rax
xor edx, edx
test byte [r13 + 0x48], 0x20
mov eax, 1
jne 0x140116381
mov qword [rsp + 0x70], rdx
jmp 0x1401163ab
mov rcx, qword [r13 + 0x10]
mov qword [rsp + 0x70], rcx
test rcx, rcx
je 0x1401163a7
nop
mov eax, dword [rcx + 0x64]
and al, 3
cmp al, 2
je 0x1401163a2
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x140116390
mov qword [rsp + 0x70], rcx
movzx eax, word [rcx + 0x5e]
movsx r12, word [r13 + 0x42]
mov ebp, edx
movzx ecx, byte [rsp + 0x190]
mov r15, rdx
mov dword [rsp + 0x80], eax
mov r8d, 2
test r12, r12
jle 0x140116630
mov r14, rdx
nop word [rax + rax]
movsx eax, word [r13 + 0x40]
cmp ebp, eax
je 0x140116614
mov rax, qword [rsp + 0x1a8]
test rax, rax
je 0x140116405
cmp dword [rax + r15*4], 0
jl 0x140116614
mov rax, qword [r13 + 8]
movzx ebx, byte [rax + r14 + 0x18]
test ebx, ebx
je 0x140116614
cmp cl, 0xa
je 0x1401164bb
movzx ebx, cl
cmp ebx, 5
jne 0x140116432
cmp qword [rax + r14 + 8], 0
cmove ebx, r8d
mov ecx, ebx
sub ecx, 1
je 0x140116526
sub ecx, 1
je 0x140116511
sub ecx, 1
je 0x140116526
cmp ecx, 1
mov rcx, rdi
je 0x1401164ec
mov ebx, dword [rsp + 0x178]
mov edx, 0x23
inc ebx
add ebx, ebp
mov r8d, ebx
call fcn.1401317d0
mov rdx, qword [r13 + 8]
mov r8d, ebx
mov rcx, qword [rsp + 0x150]
mov esi, eax
mov rdx, qword [rdx + r14 + 8]
call fcn.14010e740
mov edx, dword [rdi + 0xb8]
test esi, esi
jns 0x14011649b
lea esi, [rdx - 1]
mov rax, qword [rdi]
cmp byte [rax + 0x55], 0
je 0x1401164cc
mov r13, qword [rsp + 0x158]
lea rax, [0x1402865b8]
mov dword [rax + 8], edx
jmp 0x1401165fe
cmp ebx, 0xa
jne 0x140116423
mov ebx, r8d
jmp 0x140116432
mov r13, qword [rsp + 0x158]
movsxd rax, esi
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x68]
mov dword [rax + rcx*8 + 8], edx
lea rax, [rax + rcx*8]
jmp 0x1401165fe
mov r8d, dword [rsp + 0x178]
mov edx, 0x22
mov r9d, dword [rsp + 0x198]
inc r8d
add r8d, ebp
call fcn.140131840
jmp 0x140116606
mov rax, qword [rsi + 0xa0]
mov rcx, rsi
test rax, rax
cmovne rcx, rax
mov byte [rcx + 0x21], 1
mov r9, qword [r13 + 8]
lea rdx, str._s._s
mov r8, qword [r13]
mov rcx, r10
mov r9, qword [r9 + r14]
call fcn.14011d820
mov edx, dword [rsp + 0x178]
mov rsi, rax
mov rax, qword [rdi + 0x18]
inc edx
movsxd rcx, dword [rdi + 0xb8]
add edx, ebp
cmp dword [rax + 0x3c], ecx
jg 0x14011657b
mov dword [rsp + 0x20], edx
mov r9d, ebx
mov edx, 0x4a
mov r8d, 0x513
mov rcx, rdi
call fcn.1400eec90
jmp 0x1401165b0
lea eax, [rcx + 1]
mov dword [rdi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x68]
mov word [rax + rcx*8], 0x4a
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], 0x513
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], 0
mov rcx, qword [rdi]
cmp byte [rcx + 0x55], 0
je 0x1401165c6
mov r8, rsi
or edx, 0xffffffff
call fcn.1400eb850
jmp 0x1401165e2
mov eax, dword [rdi + 0xb8]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x68]
mov byte [rax + rcx*8 + 1], 0xff
mov qword [rax + rcx*8 + 0x10], rsi
mov eax, dword [rdi + 0xb8]
test eax, eax
jle 0x1401165fe
dec eax
movsxd rcx, eax
mov rax, qword [rdi + 0x68]
lea rdx, [rcx + rcx*2]
mov byte [rax + rdx*8 + 3], 1
mov rsi, qword [rsp + 0x150]
movzx ecx, byte [rsp + 0x190]
mov r8d, 2
mov r10, qword [rsp + 0x98]
inc ebp
inc r15
add r14, 0x20
cmp r15, r12
jl 0x1401163e0
xor edx, edx
mov r13, qword [r13 + 0x30]
movzx ebx, byte [rsp + 0x188]
mov r12, qword [rsp + 0x98]
mov r15d, dword [rsp + 0x178]
test r13, r13
je 0x140116863
test dword [r12 + 0x2c], 0x2000
jne 0x140116863
movzx ebp, cl
lea eax, [r15 + 1]
mov dword [rsi + 0x44], eax
cmp cl, 0xa
jne 0x140116676
mov ebp, r8d
cmp dword [r13], 0
mov r12d, edx
jle 0x14011685b
mov r15, rdx
lea rdx, [0x1400dc870]
nop
mov rax, qword [r13 + 8]
mov rcx, qword [rsp + 0x1a8]
mov r14, qword [r15 + rax]
test rcx, rcx
je 0x140116709
xor eax, eax
mov qword [rsp + 0xd0], rdx
mov qword [rsp + 0xe8], rax
mov byte [rsp + 0xec], al
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xf0], rcx
test r14, r14
je 0x1401166fb
mov rdx, r14
lea rcx, [rsp + 0xc8]
call fcn.14014ea20
movzx eax, byte [rsp + 0xec]
test bl, bl
jne 0x140116701
and al, 0xfd
test al, al
je 0x14011683b
mov rsi, qword [rdi + 0x18]
movsxd rbx, dword [rsi + 0x54]
lea eax, [rbx + 1]
mov dword [rsi + 0x54], eax
lea eax, [rbx - 1]
test ebx, eax
jne 0x14011673c
mov rdx, qword [rsi + 0x58]
lea eax, [rbx*2 + 1]
mov rcx, qword [rsi]
movsxd r8, eax
shl r8, 2
call fcn.14010b640
mov qword [rsi + 0x58], rax
mov rcx, qword [rsi + 0x58]
test rcx, rcx
je 0x14011674c
mov dword [rcx + rbx*4], 0xffffffff
mov rsi, qword [rsp + 0x150]
not ebx
mov r8d, ebx
mov rcx, rsi
mov r9d, 0x10
mov rdx, r14
call fcn.140112280
cmp ebp, 4
jne 0x1401167da
mov rax, qword [rdi + 0x18]
movsxd rcx, dword [rdi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14011679f
mov r9d, dword [rsp + 0x198]
lea edx, [rbp + 9]
xor r8d, r8d
mov dword [rsp + 0x20], 0
mov rcx, rdi
call fcn.1400eec90
jmp 0x140116818
mov edx, dword [rsp + 0x198]
lea eax, [rcx + 1]
mov dword [rdi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x68]
xor r8d, r8d
mov word [rax + rcx*8], 0xd
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
jmp 0x140116818
mov rax, qword [r13 + 8]
mov r9, qword [rax + r15 + 8]
test r9, r9
jne 0x1401167f3
mov rax, qword [rsp + 0x158]
mov r9, qword [rax]
cmp ebp, 5
mov byte [rsp + 0x28], 3
mov eax, 2
mov byte [rsp + 0x20], 0
cmove ebp, eax
mov edx, 0x113
mov r8d, ebp
mov rcx, rsi
call fcn.140119400
mov rax, qword [rdi + 0x18]
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x140116833
mov eax, dword [rdi + 0xb8]
not ebx
movsxd rcx, ebx
mov dword [rdx + rcx*4], eax
movzx ebx, byte [rsp + 0x188]
inc r12d
lea rdx, [0x1400dc870]
add r15, 0x28
cmp r12d, dword [r13]
jl 0x140116690
mov r15d, dword [rsp + 0x178]
mov r12, qword [rsp + 0x98]
mov r10d, 0x25
test bl, bl
je 0x140116e00
cmp qword [rsp + 0x70], 0
jne 0x140116e00
mov rbx, qword [rdi + 0x18]
movsxd rsi, dword [rbx + 0x54]
lea eax, [rsi + 1]
mov dword [rbx + 0x54], eax
lea eax, [rsi - 1]
test esi, eax
jne 0x1401168b6
mov rdx, qword [rbx + 0x58]
lea eax, [rsi*2 + 1]
mov rcx, qword [rbx]
movsxd r8, eax
shl r8, 2
call fcn.14010b640
mov qword [rbx + 0x58], rax
mov r10d, 0x25
mov rcx, qword [rbx + 0x58]
test rcx, rcx
je 0x1401168c6
mov dword [rcx + rsi*4], 0xffffffff
mov r14, qword [rsp + 0x158]
not esi
movzx ebp, byte [rsp + 0x190]
mov r13d, 2
movzx ebx, byte [r14 + 0x49]
cmp bpl, 0xa
je 0x1401168ef
movzx ebx, bpl
jmp 0x1401168f6
cmp ebx, 0xa
cmove ebx, r13d
mov edx, dword [rsp + 0x180]
test edx, edx
je 0x140116976
mov rax, qword [rdi + 0x18]
movsxd rcx, dword [rdi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x140116928
mov dword [rsp + 0x20], edx
mov r9d, esi
mov edx, r10d
mov r8d, r15d
mov rcx, rdi
call fcn.1400eec90
jmp 0x14011695a
lea eax, [rcx + 1]
mov dword [rdi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x68]
mov word [rax + rcx*8], 0x25
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], 0
mov eax, dword [rdi + 0xb8]
test eax, eax
jle 0x140116976
dec eax
movsxd rcx, eax
mov rax, qword [rdi + 0x68]
lea rdx, [rcx + rcx*2]
mov byte [rax + rdx*8 + 3], 0x90
cmp ebx, 5
jne 0x140116a0c
cmp bpl, bl
je 0x140116a0c
mov rcx, qword [r14 + 0x10]
test rcx, rcx
je 0x140116a0c
movzx eax, byte [rcx + 0x62]
sub al, 3
cmp al, 1
jbe 0x1401169a6
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x140116991
jmp 0x140116a0c
movsxd rdx, dword [rdi + 0xb8]
mov rax, qword [rdi + 0x18]
mov dword [rsp + 0x8c], edx
cmp dword [rax + 0x3c], edx
jg 0x1401169e0
xor r9d, r9d
mov dword [rsp + 0x20], 0
xor r8d, r8d
mov rcx, rdi
lea edx, [r9 + 0xd]
call fcn.1400eec90
mov dword [rsp + 0x8c], eax
jmp 0x140116a0c
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
xor edx, edx
mov dword [rdi + 0xb8], eax
mov rax, qword [rdi + 0x68]
mov word [rax + rcx*8], 0xd
mov byte [rax + rcx*8 + 3], 0
mov qword [rax + rcx*8 + 4], rdx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov rax, qword [rdi + 0x18]
movsxd rcx, dword [rdi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x140116a3e
mov r8d, dword [rsp + 0x168]
mov r9d, esi
mov edx, 0x21
mov dword [rsp + 0x20], r15d
mov rcx, rdi
call fcn.1400eec90
xor r9d, r9d
jmp 0x140116a76
mov edx, dword [rsp + 0x168]
lea eax, [rcx + 1]
mov dword [rdi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x68]
xor r9d, r9d
mov word [rax + rcx*8], 0x21
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r9
test ebx, ebx
je 0x140116c6b
cmp ebx, 3
jbe 0x140116c6e
cmp ebx, 4
je 0x140116bff
cmp ebx, 5
jne 0x140116c6b
test dword [r12 + 0x2c], 0x40000
mov rbp, r9
mov r13, qword [rsp + 0x150]
je 0x140116b03
mov rax, qword [r13]
mov ebx, r9d
mov r8, r9
test dword [rax + 0x2c], 0x1000000
je 0x140116ad3
mov rdx, r14
mov rcx, r13
call fcn.14012d300
mov r8, rax
xor r9d, r9d
mov rdx, r8
test r8, r8
je 0x140116af5
nop dword [rax + rax]
cmp byte [rdx + 0x10], 0x6d
jne 0x140116aec
movzx ecx, byte [rdx + 0x11]
or ebx, ecx
mov rdx, qword [rdx + 0x40]
test rdx, rdx
jne 0x140116ae0
test ebx, ebx
mov rbp, r9
cmovne rbp, r8
test rbp, rbp
jne 0x140116b3f
mov rax, qword [r13]
test dword [rax + 0x2c], 0x80000
je 0x140116bab
mov rcx, qword [r14 + 0x70]
lea r8, [rsp + 0x84]
mov rdx, qword [r14]
add rcx, 0x50
call fcn.1400e8a50
test rax, rax
je 0x140116b38
cmp qword [rax + 0x10], 0
jne 0x140116b3f
cmp qword [r14 + 0x20], 0
je 0x140116ba8
mov rax, qword [r13 + 0xa0]
mov rcx, r13
mov r9d, dword [rsp + 0x170]
test rax, rax
mov ebx, 1
mov r8, rbp
cmovne rcx, rax
mov rdx, r14
or eax, 0xffffffff
mov dword [rsp + 0x50], eax
mov byte [rsp + 0x48], 1
mov byte [rsp + 0x40], 5
mov byte [rsp + 0x38], 0
mov word [rsp + 0x30], bx
mov byte [rcx + 0x20], 1
mov rcx, r13
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r9d
mov r9d, dword [rsp + 0x168]
call fcn.140118070
mov dword [rsp + 0x90], ebx
jmp 0x140116d37
xor r9d, r9d
cmp qword [r14 + 0x10], 0
je 0x140116bee
mov rax, qword [r13 + 0xa0]
mov rcx, r13
mov r8d, dword [rsp + 0x168]
test rax, rax
mov rdx, r14
cmovne rcx, rax
or eax, 0xffffffff
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r9
mov r9d, dword [rsp + 0x170]
mov byte [rcx + 0x20], 1
mov rcx, r13
call fcn.1401185a0
mov ebx, 1
mov dword [rsp + 0x90], ebx
jmp 0x140116d37
mov rax, qword [rdi + 0x18]
movsxd rcx, dword [rdi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x140116c30
xor r8d, r8d
mov dword [rsp + 0x20], r9d
mov r9d, dword [rsp + 0x198]
mov rcx, rdi
lea edx, [r8 + 0xd]
call fcn.1400eec90
jmp 0x140116d37
mov edx, dword [rsp + 0x198]
lea eax, [rcx + 1]
mov dword [rdi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x68]
mov word [rax + rcx*8], 0xd
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r9d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
jmp 0x140116d3a
mov ebx, r13d
mov r13, qword [rsp + 0x150]
movzx eax, word [r14 + 0x40]
mov r8, qword [r14]
mov rcx, qword [r13]
test ax, ax
js 0x140116cab
mov r9, qword [r14 + 8]
lea rdx, str._s._s
movsx rax, ax
shl rax, 5
mov r9, qword [rax + r9]
call fcn.14011d820
mov r15d, 0x613
jmp 0x140116cbd
lea rdx, str._s.rowid
call fcn.14011d820
mov r15d, 0xa13
mov rbp, qword [r13 + 0x10]
mov r14, rax
test rbp, rbp
jne 0x140116cd4
mov rcx, r13
call fcn.1400d6160
mov rbp, rax
cmp ebx, 2
jne 0x140116cee
mov rcx, qword [r13 + 0xa0]
mov rdx, r13
test rcx, rcx
cmovne rdx, rcx
mov byte [rdx + 0x21], 1
or eax, 0xffffffff
mov r9d, ebx
mov dword [rsp + 0x30], eax
mov r8d, r15d
mov qword [rsp + 0x28], r14
mov rcx, rbp
mov dword [rsp + 0x20], 0
lea edx, [rax + 0x4c]
call fcn.140131930
mov eax, dword [rbp + 0xb8]
mov r15d, dword [rsp + 0x178]
test eax, eax
jle 0x140116d37
dec eax
movsxd rcx, eax
mov rax, qword [rbp + 0x68]
lea rdx, [rcx + rcx*2]
mov byte [rax + rdx*8 + 3], 2
xor r9d, r9d
mov rax, qword [rdi + 0x18]
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x140116d55
mov eax, dword [rdi + 0xb8]
not esi
movsxd rcx, esi
mov dword [rdx + rcx*4], eax
mov ebx, dword [rsp + 0x8c]
test ebx, ebx
je 0x140116e00
movsxd r8, dword [rdi + 0xb8]
mov rax, qword [rdi + 0x18]
mov dword [rsp + 0xa4], r8d
cmp dword [rax + 0x3c], r8d
jg 0x140116d9d
mov dword [rsp + 0x20], r9d
xor r8d, r8d
xor r9d, r9d
mov rcx, rdi
lea edx, [r9 + 0xd]
call fcn.1400eec90
mov dword [rsp + 0xa4], eax
jmp 0x140116dcd
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
mov dword [rdi + 0xb8], eax
mov rax, qword [rdi + 0x68]
mov word [rax + rcx*8], 0xd
mov byte [rax + rcx*8 + 3], 0
mov qword [rax + rcx*8 + 4], 0
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
mov edx, dword [rdi + 0xb8]
mov ecx, ebx
test ebx, ebx
jns 0x140116ddc
lea ecx, [rdx - 1]
mov rax, qword [rdi]
cmp byte [rax + 0x55], 0
je 0x140116dee
lea rax, [0x1402865b8]
jmp 0x140116dfd
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x68]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov rbx, qword [rsp + 0x158]
xor r11d, r11d
mov r14d, r11d
mov dword [rsp + 0xa0], r11d
mov r12, qword [rbx + 0x10]
mov qword [rsp + 0xb0], r12
test r12, r12
je 0x140117c3a
mov rax, qword [rsp + 0x160]
mov esi, r11d
mov qword [rsp + 0x78], r11
nop dword [rax + rax]
cmp dword [rax + rsi*4], 0
je 0x140117c05
cmp byte [rsp + 0x60], 0
jne 0x140116e65
lea r8d, [r15 + 1]
mov rdx, rbx
mov rcx, rdi
call fcn.14012cc60
mov byte [rsp + 0x60], 1
mov rbx, qword [rdi + 0x18]
mov ebp, dword [rsp + 0x170]
add ebp, r14d
mov dword [rsp + 0x84], ebp
movsxd r13, dword [rbx + 0x54]
lea eax, [r13 + 1]
mov dword [rbx + 0x54], eax
lea eax, [r13 - 1]
test r13d, eax
jne 0x140116ead
mov rdx, qword [rbx + 0x58]
lea eax, [r13*2 + 1]
mov rcx, qword [rbx]
movsxd r8, eax
shl r8, 2
call fcn.14010b640
mov qword [rbx + 0x58], rax
mov rcx, qword [rbx + 0x58]
test rcx, rcx
je 0x140116ebd
or edx, 0xffffffff
mov dword [rcx + r13*4], edx
cmp qword [r12 + 0x48], 0
not r13d
mov dword [rsp + 0x88], r13d
je 0x140116fa6
mov rax, qword [rsp + 0x160]
movsxd rcx, dword [rdi + 0xb8]
mov edx, dword [rax + rsi*4]
mov rax, qword [rdi + 0x18]
cmp dword [rax + 0x3c], ecx
jg 0x140116f0e
xor r8d, r8d
mov dword [rsp + 0x20], 0
mov r9d, edx
mov rcx, rdi
lea edx, [r8 + 0x4f]
call fcn.1400eec90
xor r8d, r8d
jmp 0x140116f40
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [rdi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x68]
mov word [rax + rcx*8], 0x4f
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
lea eax, [r15 + 1]
mov r15, qword [rsp + 0x150]
mov rsi, qword [r15]
mov dword [r15 + 0x44], eax
mov rdx, qword [r12 + 0x48]
test rdx, rdx
je 0x140116f70
xor r9d, r9d
xor r8d, r8d
mov rcx, rsi
call fcn.1400e7310
mov rbx, rax
jmp 0x140116f73
mov rbx, r8
cmp byte [rsi + 0x55], 0
jne 0x140116f8d
mov r9d, 0x10
mov r8d, r13d
mov rdx, rbx
mov rcx, r15
call fcn.140111d90
test rbx, rbx
je 0x140116f9d
mov rdx, rbx
mov rcx, rsi
call fcn.140111aa0
xor r11d, r11d
mov dword [r15 + 0x44], r11d
jmp 0x140116fb1
mov r15, qword [rsp + 0x150]
xor r11d, r11d
mov rbx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x160]
mov r14d, dword [rax + rbx*4]
inc r14d
mov dword [rsp + 0x68], r14d
cmp r11w, word [r12 + 0x60]
jae 0x140117226
mov esi, r14d
mov r12, r11
mov r13d, esi
mov r14, r11
neg r13d
nop word [rax + rax]
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rcx + 8]
movsx edx, word [r14 + rax]
cmp edx, 0xfffffffe
jne 0x14011714f
mov eax, dword [rsp + 0x178]
mov rbp, qword [r15]
inc eax
mov dword [r15 + 0x44], eax
mov rax, qword [rcx + 0x50]
mov rcx, qword [rax + 8]
mov rdx, qword [r12 + rcx]
test rdx, rdx
je 0x140117041
xor r9d, r9d
xor r8d, r8d
mov rcx, rbp
call fcn.1400e7310
mov rbx, rax
xor r11d, r11d
jmp 0x140117044
mov rbx, r11
cmp byte [rbp + 0x55], 0
jne 0x140117133
test rbx, rbx
je 0x1401170bd
cmp byte [rbx], 0x9d
jne 0x1401170bd
mov r10, qword [r15 + 0x10]
mov edx, dword [rbx + 0x2c]
mov rax, qword [r10 + 0x18]
movsxd rcx, dword [r10 + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14011708c
mov r8d, edx
mov dword [rsp + 0x20], r11d
mov edx, 0x54
mov r9d, esi
mov rcx, r10
call fcn.1400eec90
jmp 0x140117133
lea eax, [rcx + 1]
mov dword [r10 + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 0x68]
mov word [rax + rcx*8], 0x54
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], r11d
mov qword [rax + rcx*8 + 0x10], r11
jmp 0x140117133
mov r8d, esi
mov rdx, rbx
mov rcx, r15
call fcn.140110320
mov r10d, eax
cmp eax, esi
je 0x140117133
mov rcx, qword [r15 + 0x10]
test rcx, rcx
je 0x140117133
mov rdx, qword [rcx + 0x18]
movsxd r8, dword [rcx + 0xb8]
cmp dword [rdx + 0x3c], r8d
jg 0x140117102
xor eax, eax
mov r9d, esi
mov r8d, r10d
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x55]
call fcn.1400eec90
jmp 0x140117133
lea rdx, [r8 + r8*2]
lea eax, [r8 + 1]
mov dword [rcx + 0xb8], eax
mov rax, qword [rcx + 0x68]
xor ecx, ecx
mov word [rax + rdx*8], 0x55
mov byte [rax + rdx*8 + 3], 0
mov dword [rax + rdx*8 + 4], r10d
mov dword [rax + rdx*8 + 8], esi
mov dword [rax + rdx*8 + 0xc], ecx
mov qword [rax + rdx*8 + 0x10], rcx
test rbx, rbx
je 0x140117143
mov rdx, rbx
mov rcx, rbp
call fcn.140111aa0
xor r11d, r11d
mov dword [r15 + 0x44], r11d
jmp 0x1401171db
cmp edx, 0xffffffff
je 0x140117174
mov rax, qword [rsp + 0x158]
movsx eax, word [rax + 0x40]
cmp edx, eax
je 0x140117174
mov r8d, dword [rsp + 0x178]
inc r8d
add r8d, edx
jmp 0x14011717c
mov r8d, dword [rsp + 0x178]
mov rax, qword [rdi + 0x18]
movsxd rcx, dword [rdi + 0xb8]
sar edx, 0x1f
and edx, 1
add edx, 0x55
cmp dword [rax + 0x3c], ecx
jg 0x1401171aa
mov r9d, esi
mov dword [rsp + 0x20], r11d
mov rcx, rdi
call fcn.1400eec90
xor r11d, r11d
jmp 0x1401171db
lea eax, [rcx + 1]
mov dword [rdi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x68]
mov byte [rax + rcx*8], dl
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], r11d
mov qword [rax + rcx*8 + 0x10], r11
mov byte [rax + rcx*8 + 1], 0
mov rax, qword [rsp + 0xb0]
inc esi
add r14, 2
add r12, 0x28
movzx eax, word [rax + 0x60]
lea ecx, [rsi + r13]
cmp ecx, eax
jl 0x140116ff0
mov ebp, dword [rsp + 0x84]
mov r13d, dword [rsp + 0x88]
mov r12, qword [rsp + 0xb0]
mov r14d, dword [rsp + 0x68]
mov rbx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x160]
mov edx, dword [rax + rbx*4]
mov rax, qword [rdi + 0x18]
movsxd rcx, dword [rdi + 0xb8]
movzx r8d, word [r12 + 0x60]
cmp dword [rax + 0x3c], ecx
jg 0x14011725b
mov dword [rsp + 0x20], edx
mov r9d, r8d
mov r8d, r14d
mov edx, 0x63
mov rcx, rdi
call fcn.1400eec90
xor r11d, r11d
jmp 0x14011728a
lea eax, [rcx + 1]
mov dword [rdi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x68]
mov word [rax + rcx*8], 0x63
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r14d
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r11
cmp dword [rsp + 0x180], 0
mov rax, qword [rsp + 0x70]
je 0x1401172da
cmp rax, r12
jne 0x1401172da
cmp byte [rsp + 0x188], 0
jne 0x1401172da
mov rbx, qword [rsp + 0x158]
mov rax, qword [rdi + 0x18]
mov rsi, qword [rsp + 0x78]
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x140117bfd
mov eax, dword [rdi + 0xb8]
not r13d
movsxd rcx, r13d
mov dword [rdx + rcx*4], eax
jmp 0x140117bfd
movzx esi, byte [r12 + 0x62]
test esi, esi
je 0x1401172a8
movzx ecx, byte [rsp + 0x190]
cmp cl, 0xa
je 0x1401172f6
movzx esi, cl
jmp 0x140117301
cmp esi, 0xa
mov ecx, 2
cmove esi, ecx
mov dword [rsp + 0x84], esi
test rbx, rbx
jne 0x1401173e0
cmp qword [r12 + 0x28], rbx
jne 0x1401173e0
cmp rax, r12
jne 0x1401173e0
cmp esi, 5
jne 0x1401173e0
mov r9, qword [rsp + 0x98]
test dword [r9 + 0x2c], 0x40000
je 0x14011739b
mov rax, qword [r15]
mov ebx, r11d
mov r8, r11
test dword [rax + 0x2c], 0x1000000
je 0x140117370
mov rdx, qword [rsp + 0x158]
mov rcx, r15
call fcn.14012d300
mov r9, qword [rsp + 0x98]
mov r8, rax
xor r11d, r11d
mov rdx, r8
test r8, r8
je 0x14011738d
cmp byte [rdx + 0x10], 0x6d
jne 0x140117384
movzx ecx, byte [rdx + 0x11]
or ebx, ecx
mov rdx, qword [rdx + 0x40]
test rdx, rdx
jne 0x140117378
test ebx, ebx
mov rax, r11
cmovne rax, r8
test rax, rax
jne 0x1401173e0
test dword [r9 + 0x2c], 0x80000
mov rbx, qword [rsp + 0x158]
je 0x1401173d8
cmp qword [rbx + 0x20], 0
jne 0x1401173e0
mov rcx, qword [rbx + 0x70]
lea r8, [rsp + 0xa8]
mov rdx, qword [rbx]
add rcx, 0x50
call fcn.1400e8a50
test rax, rax
je 0x1401173d8
cmp qword [rax + 0x10], 0
jne 0x1401173e0
xor r11d, r11d
jmp 0x1401172b0
mov rax, qword [rdi + 0x18]
movsxd rdx, dword [rdi + 0xb8]
movzx ebx, word [r12 + 0x5e]
cmp dword [rax + 0x3c], edx
jg 0x140117415
mov r9d, r13d
mov dword [rsp + 0x20], r14d
mov r8d, ebp
mov edx, 0x1d
mov rcx, rdi
call fcn.1400eec90
mov edx, eax
xor r10d, r10d
jmp 0x140117447
lea rcx, [rdx + rdx*2]
xor r10d, r10d
lea eax, [rdx + 1]
mov dword [rdi + 0xb8], eax
mov rax, qword [rdi + 0x68]
mov word [rax + rcx*8], 0x1d
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], r14d
mov qword [rax + rcx*8 + 0x10], r10
mov rax, qword [rdi]
cmp byte [rax + 0x55], 0
jne 0x140117464
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x68]
mov byte [rax + rcx*8 + 1], 0xf5
mov dword [rax + rcx*8 + 0x10], ebx
mov rax, qword [rsp + 0x70]
cmp r12, rax
jne 0x140117475
mov dword [rsp + 0x64], r14d
jmp 0x1401174e0
mov edx, dword [rsp + 0x80]
cmp edx, 1
jne 0x1401174a7
movzx eax, byte [r15 + 0x1f]
test al, al
jne 0x140117494
inc dword [r15 + 0x38]
mov r14d, dword [r15 + 0x38]
jmp 0x1401174d6
dec al
movzx eax, al
mov byte [r15 + 0x1f], al
mov r14d, dword [r15 + rax*4 + 0x18c]
jmp 0x1401174d6
mov ecx, dword [r15 + 0x28]
mov r14d, dword [r15 + 0x2c]
mov dword [rsp + 0x64], r14d
cmp edx, ecx
jg 0x1401174c8
lea eax, [r14 + rdx]
sub ecx, edx
mov dword [r15 + 0x2c], eax
mov dword [r15 + 0x28], ecx
jmp 0x1401174db
mov eax, dword [r15 + 0x38]
lea r14d, [rax + 1]
add eax, edx
mov dword [r15 + 0x38], eax
mov dword [rsp + 0x64], r14d
mov rax, qword [rsp + 0x70]
mov ebx, dword [rsp + 0x180]
test ebx, ebx
jne 0x1401174f4
cmp esi, 5
jne 0x140117992
mov rcx, qword [rsp + 0x158]
test byte [rcx + 0x48], 0x20
jne 0x1401175f4
mov rax, qword [rdi + 0x18]
movsxd rcx, dword [rdi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x140117533
mov r9d, r14d
mov dword [rsp + 0x20], r10d
mov r8d, ebp
mov edx, 0x80
mov rcx, rdi
call fcn.1400eec90
xor r10d, r10d
jmp 0x140117562
lea eax, [rcx + 1]
mov dword [rdi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x68]
mov word [rax + rcx*8], 0x80
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r10
test ebx, ebx
je 0x140117992
mov rax, qword [rdi + 0x18]
movsxd rcx, dword [rdi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x140117593
mov r9d, r13d
mov dword [rsp + 0x20], ebx
mov r8d, r14d
mov edx, 0x25
mov rcx, rdi
call fcn.1400eec90
jmp 0x1401175c2
lea eax, [rcx + 1]
mov dword [rdi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x68]
mov word [rax + rcx*8], 0x25
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r14d
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], r10
mov eax, dword [rdi + 0xb8]
mov esi, dword [rsp + 0x64]
mov ebp, dword [rsp + 0x68]
mov r14, qword [rsp + 0x70]
test eax, eax
jle 0x140117930
dec eax
movsxd rcx, eax
mov rax, qword [rdi + 0x68]
lea rdx, [rcx + rcx*2]
mov byte [rax + rdx*8 + 3], 0x90
jmp 0x140117930
cmp r12, rax
je 0x1401176de
cmp r10w, word [rax + 0x5e]
jae 0x1401176de
mov r15, qword [rsp + 0x70]
mov ebx, r14d
neg r14d
mov rsi, r10
or r13d, 0xffffffff
nop word [rax + rax]
movzx edx, word [r12 + 0x60]
mov eax, r10d
test edx, edx
jle 0x140117650
mov rcx, qword [r15 + 8]
mov r8, qword [r12 + 8]
movzx r9d, word [rsi + rcx]
nop dword [rax + rax]
movsxd rcx, eax
cmp r9w, word [r8 + rcx*2]
je 0x140117654
inc eax
cmp eax, edx
jl 0x140117640
movzx eax, r13w
movsxd rcx, dword [rdi + 0xb8]
movsx edx, ax
mov rax, qword [rdi + 0x18]
cmp dword [rax + 0x3c], ecx
jg 0x140117683
mov r9d, edx
mov dword [rsp + 0x20], ebx
mov edx, 0x60
mov r8d, ebp
mov rcx, rdi
call fcn.1400eec90
xor r10d, r10d
jmp 0x1401176b0
lea eax, [rcx + 1]
mov dword [rdi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x68]
mov word [rax + rcx*8], 0x60
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], r10
movzx eax, word [r15 + 0x5e]
inc ebx
add rsi, 2
lea ecx, [r14 + rbx]
cmp ecx, eax
jl 0x140117620
mov r15, qword [rsp + 0x150]
mov r13d, dword [rsp + 0x88]
mov ebx, dword [rsp + 0x180]
mov r14, qword [rsp + 0x70]
mov esi, dword [rsp + 0x64]
mov ebp, dword [rsp + 0x68]
test ebx, ebx
je 0x140117930
movzx ecx, word [r14 + 0x5e]
mov eax, dword [r12 + 0x64]
mov r12d, r10d
mov edx, dword [rdi + 0xb8]
and al, 3
add edx, ecx
mov dword [rsp + 0xb8], 0x24
mov dword [rsp + 0xbc], edx
cmp al, 2
mov edx, esi
cmove edx, ebp
mov dword [rsp + 0xa8], edx
test ecx, ecx
je 0x140117928
mov qword [rsp + 0xc0], r10
mov r13, r10
nop dword [rax]
mov rax, qword [r14 + 0x40]
mov rbx, qword [r15]
mov rbp, qword [rax + r13]
movzx r14d, byte [rbx + 0x52]
movzx esi, byte [rbx + 0xa9]
test rbp, rbp
je 0x140117770
movzx r8d, sil
mov rdx, rbp
mov rcx, rbx
call fcn.1400e8930
mov rbx, rax
jmp 0x140117774
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x140117789
movzx eax, r14b
dec eax
cdqe
lea rcx, [rax + rax*4]
lea rbx, [rbx + rcx*8]
test sil, sil
jne 0x1401177af
test rbx, rbx
je 0x14011779a
cmp qword [rbx + 0x18], 0
jne 0x1401177af
mov r9, rbp
mov r8, rbx
movzx edx, r14b
mov rcx, r15
call fcn.140118760
mov rbx, rax
mov r14, qword [rsp + 0x70]
mov eax, 0x25
mov r11d, dword [rsp + 0xb8]
mov rsi, qword [rsp + 0xc0]
mov ebp, dword [rsp + 0x88]
movzx edx, word [r14 + 0x5e]
mov rcx, qword [r14 + 8]
dec edx
mov r10d, dword [rsp + 0x180]
cmp r12d, edx
movsxd r9, dword [rdi + 0xb8]
cmovne ebp, dword [rsp + 0xbc]
cmove r11d, eax
mov rax, qword [rdi + 0x18]
inc r10d
movsx r8d, word [rcx + rsi]
add r10d, r8d
mov dword [rsp + 0xb8], r11d
mov dword [rsp + 0xbc], ebp
cmp dword [rax + 0x3c], r9d
jg 0x140117841
mov eax, dword [rsp + 0xa8]
mov r9d, ebp
add eax, r12d
mov r8d, r10d
mov edx, r11d
mov dword [rsp + 0x20], eax
mov rcx, rdi
call fcn.1400eec90
mov r9d, eax
jmp 0x14011787e
lea eax, [r9 + 1]
mov dword [rdi + 0xb8], eax
lea rcx, [r9 + r9*2]
mov rax, qword [rdi + 0x68]
mov byte [rax + rcx*8], r11b
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r10d
lea rdx, [rax + rcx*8]
mov eax, dword [rsp + 0xa8]
add eax, r12d
mov dword [rdx + 8], ebp
mov dword [rdx + 0xc], eax
xor eax, eax
mov qword [rdx + 0x10], rax
mov byte [rdx + 1], al
mov rcx, qword [rdi]
cmp byte [rcx + 0x55], 0
je 0x140117896
mov r8, rbx
mov edx, 0xfffffffd
call fcn.1400eb850
jmp 0x1401178db
test r9d, r9d
jns 0x1401178a5
mov r9d, dword [rdi + 0xb8]
dec r9d
movsxd rax, r9d
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x68]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x1401178ce
mov r9d, 0xfffffffd
mov r8, rbx
mov rcx, rdi
call fcn.140147f80
jmp 0x1401178db
test rbx, rbx
je 0x1401178db
mov qword [rdx + 0x10], rbx
mov byte [rdx + 1], 0xfd
mov eax, dword [rdi + 0xb8]
test eax, eax
jle 0x1401178f7
dec eax
movsxd rcx, eax
mov rax, qword [rdi + 0x68]
lea rdx, [rcx + rcx*2]
mov byte [rax + rdx*8 + 3], 0x90
movzx eax, word [r14 + 0x5e]
add rsi, 2
inc r12d
mov qword [rsp + 0xc0], rsi
add r13, 8
cmp r12d, eax
jl 0x140117740
mov esi, dword [rsp + 0x64]
mov r13d, dword [rsp + 0x88]
mov ebp, dword [rsp + 0x68]
mov r12, qword [rsp + 0xb0]
mov edx, dword [rsp + 0x84]
test edx, edx
je 0x140117a0f
cmp edx, 3
jbe 0x1401179ef
cmp edx, 4
jne 0x140117a0f
mov rax, qword [rdi + 0x18]
movsxd rcx, dword [rdi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x1401179a1
mov r9d, dword [rsp + 0x198]
xor eax, eax
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, rdi
lea edx, [rax + 0xd]
call fcn.1400eec90
mov rbx, qword [rsp + 0x158]
mov r14d, dword [rsp + 0x80]
jmp 0x140117aec
mov esi, dword [rsp + 0x64]
mov ebp, dword [rsp + 0x68]
mov r14, qword [rsp + 0x70]
jmp 0x140117930
mov edx, dword [rsp + 0x198]
lea eax, [rcx + 1]
mov rbx, qword [rsp + 0x158]
lea rcx, [rcx + rcx*2]
mov r14d, dword [rsp + 0x80]
xor r11d, r11d
mov dword [rdi + 0xb8], eax
mov rax, qword [rdi + 0x68]
mov word [rax + rcx*8], 0xd
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r11d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r11d
mov qword [rax + rcx*8 + 0x10], r11
jmp 0x140117aef
mov r8, r12
mov rcx, r15
call fcn.14012d650
mov rbx, qword [rsp + 0x158]
mov r14d, dword [rsp + 0x80]
jmp 0x140117aec
mov rax, qword [r15 + 0xa0]
xor r10d, r10d
test rax, rax
mov rcx, r15
mov r8d, r10d
cmovne rcx, rax
mov rax, qword [rsp + 0x98]
mov byte [rcx + 0x20], 1
test dword [rax + 0x2c], 0x40000
je 0x140117a8e
mov rax, qword [r15]
mov ebx, r10d
mov r9d, r10d
test dword [rax + 0x2c], 0x1000000
je 0x140117a63
mov rdx, qword [rsp + 0x158]
mov rcx, r15
call fcn.14012d300
mov r9, rax
xor r10d, r10d
mov rdx, r9
test r9, r9
je 0x140117a85
nop dword [rax + rax]
cmp byte [rdx + 0x10], 0x6d
jne 0x140117a7c
movzx ecx, byte [rdx + 0x11]
or ebx, ecx
mov rdx, qword [rdx + 0x40]
test rdx, rdx
jne 0x140117a70
test ebx, ebx
mov r8, r10
cmovne r8, r9
mov rbx, qword [rsp + 0x158]
cmp r12, r14
mov r14d, dword [rsp + 0x80]
mov rdx, rbx
mov r9d, dword [rsp + 0x168]
sete al
or ecx, 0xffffffff
mov dword [rsp + 0x50], ecx
mov rcx, r15
mov byte [rsp + 0x48], al
mov eax, dword [rsp + 0x170]
mov byte [rsp + 0x40], 5
mov byte [rsp + 0x38], 0
mov word [rsp + 0x30], r14w
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], eax
call fcn.140118070
mov dword [rsp + 0x90], 1
xor r11d, r11d
mov rax, qword [rdi + 0x18]
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x140117b0b
mov eax, dword [rdi + 0xb8]
not r13d
movsxd rcx, r13d
mov dword [rdx + rcx*4], eax
cmp esi, ebp
je 0x140117bf8
cmp r14d, 1
jne 0x140117b70
test esi, esi
je 0x140117bf8
movzx r8d, byte [r15 + 0x1f]
cmp r8b, 8
jae 0x140117bf8
movzx edx, byte [r15 + 0x25]
lea rax, [r15 + 0xc4]
mov ecx, r11d
test edx, edx
je 0x140117b52
cmp dword [rax + 0xc], esi
je 0x140117b67
inc ecx
add rax, 0x14
cmp ecx, edx
jl 0x140117b43
movzx eax, r8b
mov dword [r15 + rax*4 + 0x18c], esi
inc byte [r15 + 0x1f]
jmp 0x140117bf8
mov byte [rax + 6], 1
jmp 0x140117bf8
cmp byte [r15 + 0x25], 0
mov r8d, r11d
jbe 0x140117bea
lea rdx, [r15 + 0xd0]
mov ecx, dword [rdx]
cmp ecx, esi
jl 0x140117bd9
lea eax, [rsi + r14]
cmp ecx, eax
jge 0x140117bd9
cmp byte [rdx - 6], 0
je 0x140117bad
movzx eax, byte [r15 + 0x1f]
cmp al, 8
jae 0x140117bad
movzx eax, al
mov dword [r15 + rax*4 + 0x18c], ecx
inc byte [r15 + 0x1f]
dec byte [r15 + 0x25]
movzx eax, byte [r15 + 0x25]
cmp r8d, eax
jge 0x140117be0
lea rcx, [rax + rax*4]
movups xmm0, xmmword [r15 + rcx*4 + 0xc4]
movups xmmword [rdx - 0xc], xmm0
mov eax, dword [r15 + rcx*4 + 0xd4]
mov dword [rdx + 4], eax
jmp 0x140117be0
inc r8d
add rdx, 0x14
movzx eax, byte [r15 + 0x25]
cmp r8d, eax
jl 0x140117b81
cmp r14d, dword [r15 + 0x28]
jle 0x140117bf8
mov dword [r15 + 0x28], r14d
mov dword [r15 + 0x2c], esi
mov rsi, qword [rsp + 0x78]
mov rax, qword [rsp + 0x160]
mov r12, qword [r12 + 0x28]
inc rsi
inc dword [rsp + 0xa0]
mov r15d, dword [rsp + 0x178]
mov r14d, dword [rsp + 0xa0]
mov qword [rsp + 0xb0], r12
mov qword [rsp + 0x78], rsi
test r12, r12
jne 0x140116e40
mov eax, dword [rsp + 0x8c]
test eax, eax
je 0x140117cde
movsxd rcx, dword [rdi + 0xb8]
lea r8d, [rax + 1]
mov rax, qword [rdi + 0x18]
cmp dword [rax + 0x3c], ecx
jg 0x140117c76
mov r9d, r8d
mov dword [rsp + 0x20], r11d
xor r8d, r8d
mov rcx, rdi
lea edx, [r8 + 0xd]
call fcn.1400eec90
jmp 0x140117ca6
lea eax, [rcx + 1]
mov dword [rdi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rdi + 0x68]
mov word [rax + rcx*8], 0xd
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r11d
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], r11d
mov qword [rax + rcx*8 + 0x10], r11
mov ecx, dword [rsp + 0xa4]
mov edx, dword [rdi + 0xb8]
test ecx, ecx
jns 0x140117cba
lea ecx, [rdx - 1]
mov rax, qword [rdi]
cmp byte [rax + 0x55], 0
je 0x140117ccc
lea rax, [0x1402865b8]
jmp 0x140117cdb
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x68]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov rax, qword [rsp + 0x1a0]
mov ecx, dword [rsp + 0x90]
mov dword [rax], ecx
add rsp, 0x108
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret