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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x148
movaps xmmword [rsp + 0x120], xmm6
movaps xmmword [rsp + 0x130], xmm7
mov r12d, 7
mov rax, qword [rcx]
mov rax, qword [rax]
mov qword [rsp + 0x70], rax
mov rax, qword [rax]
mov r13, rcx
mov r14, rdx
mov word [rsp + 0x56], r9w
mov rdi, r8
mov ebp, r9d
cmp byte [rax + 0x67], 0
mov qword [rsp + 0x88], rax
jne 0x140059e4d
mov rsi, qword [rcx + 0x10]
mov eax, dword [rsi + 0x30]
movzx ebx, word [rsi + 0x1c]
movd xmm7, dword [rsi + 0x34]
movd xmm6, dword [rsi + 0x18]
mov dword [rsp + 0x44], eax
and eax, 0x20
cmp eax, 1
mov word [rsp + 0x5e], bx
mov rbx, qword [rsi + 0x16]
pextrw r9d, xmm6, 0
sbb edx, edx
mov dword [rsp + 0x50], r9d
and edx, 0x1a7
mov qword [rsp + 0x90], rbx
pextrw ebx, xmm7, 1
add edx, 0x18
cmp eax, 1
mov dword [rsp + 0x84], ebx
pextrw ebx, xmm7, 0
sbb eax, eax
mov dword [rsp + 0xac], ebx
mov r15d, ebx
mov rbx, qword [rsi]
and eax, 0x183
test byte [r8 + 0x63], 4
cmove eax, edx
mov qword [rsp + 0x48], rbx
movzx ebx, word [rsi + 0x16]
mov rdx, qword [rcx + 8]
mov qword [rsp + 0x28], r8
mov dword [rsp + 0x20], eax
mov r8d, dword [r14 + 0x40]
mov word [rsp + 0x54], bx
lea rbx, [rsp + 0xb0]
mov rcx, rbx
mov qword [rsp + 0x30], rbx
call fcn.1400598a0
xor r9d, r9d
xor r10d, r10d
mov word [rsi + 0x12], r9w
mov rbx, rax
mov rax, qword [rdi + 0x10]
mov word [rsp + 0x42], r10w
movsx rax, word [rax]
mov word [rsp + 0x5c], ax
cmp ax, 0xa
jg 0x14005a380
test rbx, rbx
je 0x14005a4cf
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0xa0], ebp
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x78], rax
add rax, rax
mov qword [rsp + 0x38], rax
movsx eax, word [rsp + 0x42]
mov qword [rsp + 0x60], 0
mov dword [rsp + 0x58], eax
add eax, 0x31
mov dword [rsp + 0x80], eax
nop word cs:[rax + rax]
movzx r12d, word [rbx + 0x14]
cmp r12w, 0x100
je 0x140059b23
test byte [rbx + 0x12], 0x80
je 0x140059b45
mov rax, qword [rdi + 8]
mov rcx, qword [rsp + 0x38]
movsx rdx, word [rax + rcx]
mov rax, rdx
test edx, edx
jns 0x140059dd8
cmp edx, 0xffffffff
je 0x140059df0
mov rax, qword [rbx + 0x28]
and rax, qword [rsi + 8]
jne 0x140059df0
test byte [rbx + 0x13], 1
je 0x140059b64
cmp r12w, 0x10
je 0x140059df0
movzx eax, byte [r14 + 0x3c]
test al, 0x58
je 0x140059b98
mov rdx, qword [rbx]
mov ecx, dword [rdx + 4]
test cl, 3
je 0x140059df0
mov r10d, dword [r14 + 0x40]
cmp dword [rdx + 0x34], r10d
jne 0x140059df0
test al, 0x18
jne 0x14005a118
nop word [rax + rax]
cmp byte [rdi + 0x62], 0
movzx eax, byte [r13 + 0x20]
je 0x140059bb4
movzx edx, word [rdi + 0x5e]
sub edx, 1
cmp dword [rsp + 0x50], edx
je 0x14005a1f8
or eax, 1
mov byte [r13 + 0x20], al
mov eax, dword [rsp + 0x44]
mov word [rsi + 0x34], r15w
mov dword [rsi + 0x30], eax
movzx eax, word [rsp + 0x5e]
movd dword [rsi + 0x18], xmm6
mov word [rsi + 0x1c], ax
movzx eax, word [rsi + 0x38]
cmp r15w, ax
jae 0x140059fd0
mov rbp, qword [rsi + 0x40]
movzx eax, r15w
lea edx, [rax + 1]
mov r10d, r12d
mov word [rsi + 0x34], dx
mov qword [rbp + rax*8], rbx
mov rdx, qword [rsi + 8]
mov rax, qword [rsp + 0x48]
or rax, qword [rbx + 0x28]
not rdx
and rax, rdx
mov qword [rsi], rax
and r10w, 1
je 0x140059e78
movzx edx, byte [rdi + 0x63]
mov r8, qword [rbx]
shr dl, 7
cmp word [rsp + 0x42], 9
setg al
and edx, eax
test byte [r8 + 5], 0x10
jne 0x14005a200
mov rax, qword [r8 + 0x20]
test rax, rax
je 0x140059c4f
movsxd rax, dword [rax]
test eax, eax
jne 0x14005a148
test dl, dl
jne 0x14005a478
mov eax, dword [rsi + 0x30]
xor r10d, r10d
mov r9d, eax
and eax, 2
or r9d, 4
mov dword [rsi + 0x30], r9d
movzx ecx, word [rsi + 0x16]
mov edx, ecx
test eax, eax
jne 0x140059f08
movzx eax, word [rsi + 0x18]
add eax, 1
mov word [rsi + 0x18], ax
movzx edx, word [rbx + 0x10]
test dx, dx
jle 0x14005a060
mov rdx, qword [rdi + 0x10]
movzx eax, ax
add cx, word [rdx + rax*2]
sub cx, word [rdx + rax*2 - 2]
test r12w, 0x100
je 0x140059cac
add ecx, 0xa
mov ebx, ecx
mov eax, ecx
mov word [rsi + 0x16], ax
movsx edx, word [rdi + 0x5c]
movzx r11d, word [rsp + 0x42]
mov eax, edx
shl eax, 4
sub eax, edx
mov rdx, qword [r14 + 0x20]
movsx r8d, word [rdx + 0x3c]
cdq
idiv r8d
add eax, ecx
lea edx, [rax + 1]
movsx r8d, dx
cmp r11w, dx
jl 0x140059fa0
mov ebp, dword [rsp + 0x58]
lea eax, [r8 + 0x31]
mov edx, r11d
cmp eax, ebp
jl 0x140059d08
lea eax, [r8 + 0x1f]
lea edx, [r11 + 1]
cmp eax, ebp
jge 0x14005a0f8
nop dword [rax]
and r9d, 0x140
mov eax, edx
jne 0x140059d48
lea eax, [rcx + 0x10]
movsx r9d, dx
movsx r8d, ax
cmp ax, dx
jg 0x14005a0b0
mov eax, edx
lea edx, [r8 + 0x31]
cmp edx, r9d
jl 0x140059d48
lea edx, [r8 + 0x1f]
cmp edx, r9d
jge 0x14005a3c2
add eax, 1
nop word [rax + rax]
movzx edx, word [rsp + 0x56]
movsx r8d, word [rsp + 0x5c]
lea ebp, [rdx + r10]
mov rdx, rsi
add eax, ebp
add ecx, ebp
mov word [rsi + 0x14], ax
mov word [rsi + 0x16], cx
mov rcx, qword [r13 + 8]
call fcn.14001c450
mov rdx, rsi
mov rcx, r13
call fcn.1400297e0
mov r12d, eax
mov eax, dword [rsi + 0x30]
test al, 2
cmovne bx, word [rsp + 0x54]
mov word [rsi + 0x16], bx
test al, 0x10
jne 0x140059dc0
movzx eax, word [rsi + 0x18]
cmp ax, word [rdi + 0x60]
jae 0x140059dc0
cmp ax, word [rdi + 0x5e]
jb 0x140059dab
movzx eax, byte [rdi + 0x63]
and eax, 3
cmp al, 2
je 0x140059dc0
movsx r9d, bp
mov r8, rdi
mov rdx, r14
mov rcx, r13
call fcn.140059990
nop dword [rax]
movzx eax, word [rsp + 0x54]
test r12d, r12d
sete bpl
mov word [rsi + 0x16], ax
jmp 0x140059df8
mov rdx, qword [rdi + 0x18]
shl rax, 4
add rax, qword [rdx + 8]
test byte [rax + 8], 0xf
je 0x140059b45
nop
mov ebp, 1
xor r12d, r12d
mov rcx, qword [rsp + 0x30]
call fcn.140059280
mov rbx, rax
test rax, rax
je 0x140059e13
test bpl, bpl
jne 0x140059b10
mov ebp, dword [rsp + 0xa0]
mov rax, qword [rsp + 0x48]
movd dword [rsi + 0x34], xmm7
mov qword [rsi], rax
mov eax, dword [rsp + 0x44]
mov dword [rsi + 0x30], eax
mov rax, qword [rsp + 0x90]
mov qword [rsi + 0x16], rax
movzx eax, word [rsp + 0x50]
cmp word [rsp + 0x84], ax
je 0x14005a270
movaps xmm6, xmmword [rsp + 0x120]
movaps xmm7, xmmword [rsp + 0x130]
mov eax, r12d
add rsp, 0x148
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test r12b, 0x82
je 0x14005a088
mov rax, qword [rdi + 8]
mov rcx, qword [rsp + 0x38]
movsx ecx, word [rax + rcx]
mov eax, dword [rsi + 0x30]
mov edx, eax
or edx, 1
mov dword [rsi + 0x30], edx
cmp ecx, 0xffffffff
je 0x140059ec8
test ecx, ecx
js 0x140059ed2
cmp word [rsp + 0x56], 0
jne 0x140059ed2
movzx ecx, word [rdi + 0x5e]
mov r8d, ecx
sub ecx, 1
cmp dword [rsp + 0x50], ecx
jne 0x140059ed2
test byte [rdi + 0x63], 8
je 0x14005a7ea
nop dword [rax]
or eax, 0x1001
mov dword [rsi + 0x30], eax
mov edx, eax
cmp byte [rsp + 0xd9], 1
jbe 0x14005a260
mov r9d, edx
mov eax, edx
movzx ecx, word [rsi + 0x16]
or r9d, 0x200000
and eax, 2
mov dword [rsi + 0x30], r9d
mov edx, ecx
test eax, eax
je 0x140059c79
nop dword [rax]
xor ecx, ecx
cmp qword [rsp + 0x60], 0
movsx eax, dx
setne cl
cmp qword [rsp + 0x68], 0
je 0x140059f41
mov rbx, qword [rsp + 0x68]
add ecx, 1
movzx r8d, word [rbx + 0x10]
test r8w, r8w
jle 0x14005a140
lea r8d, [rdx - 0x14]
test byte [rbx + 0x12], 0x80
cmove edx, r8d
cmp qword [rsp + 0x60], 0
je 0x140059f80
mov rbx, qword [rsp + 0x60]
movzx r8d, word [rbx + 0x10]
test r8w, r8w
jle 0x14005a130
test byte [rbx + 0x12], 0x80
je 0x14005a3db
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x140059f80
cmp word [rbx + 0x10], 0
mov r8d, edx
jle 0x140059f80
lea edx, [r8 - 0x14]
nop
sub eax, ecx
mov ecx, 0xa
cmp dx, cx
cmovl edx, ecx
movsx edx, dx
cmp eax, edx
cmovg eax, edx
mov ebx, eax
mov ecx, eax
jmp 0x140059cb0
cmp dword [rsp + 0x80], r8d
jl 0x140059d08
mov r11d, dword [rsp + 0x58]
add r11d, 0x1f
cmp r11d, r8d
jge 0x14005a0d8
lea edx, [rax + 2]
jmp 0x140059d08
movzx edx, r15w
cmp ax, r15w
ja 0x140059be3
add edx, 8
mov rcx, qword [rsp + 0x88]
mov eax, edx
and edx, 0x1fff8
and eax, 0xfffffff8
shl rdx, 3
mov dword [rsp + 0x98], eax
call fcn.140025c60
mov rbp, rax
test rax, rax
je 0x14005a4c8
movzx eax, word [rsi + 0x38]
mov rdx, qword [rsi + 0x40]
mov rcx, rbp
lea r8, [rax*8]
call sub.msvcrt.dll_memcpy
mov rdx, qword [rsi + 0x40]
lea rax, [rsi + 0x50]
cmp rdx, rax
je 0x14005a042
mov rcx, qword [rsp + 0x88]
call fcn.140016330
movzx eax, word [rsp + 0x98]
mov qword [rsi + 0x40], rbp
mov word [rsi + 0x38], ax
movzx eax, word [rsi + 0x34]
jmp 0x140059beb
mov r8, qword [rdi + 8]
mov rbx, qword [rsp + 0x38]
cmp word [r8 + rbx], 0
js 0x140059c91
add edx, ecx
mov ecx, edx
sub ecx, r10d
mov ebx, ecx
mov eax, ecx
jmp 0x140059cb0
test r12w, 0x100
je 0x14005a17c
mov eax, dword [rsi + 0x30]
mov r9d, eax
and eax, 2
or r9d, 8
mov dword [rsi + 0x30], r9d
jmp 0x140059c6b
lea edx, [r9 + 0x31]
cmp edx, r8d
jl 0x140059d48
lea edx, [r9 + 0x1f]
cmp edx, r8d
jge 0x14005a3a9
lea eax, [rcx + 0x11]
jmp 0x140059d48
mov eax, dword [rsp + 0x58]
sub r8d, eax
lea rax, str._n_n_t_t_b_b_a_a_a
movsxd r8, r8d
movzx eax, byte [rax + r8]
add edx, eax
jmp 0x140059d08
mov eax, ebp
lea rdx, str._n_n_t_t_b_b_a_a_a
sub eax, r8d
cdqe
movzx edx, byte [rdx + rax]
add dx, word [rsp + 0x42]
jmp 0x140059d08
and ecx, 2
je 0x140059b98
jmp 0x140059df0
add edx, r8d
jmp 0x140059f80
add edx, r8d
jmp 0x140059f41
cmp rax, 7
ja 0x14005a400
mov ecx, 0x1e
cmp rax, 1
je 0x14005a885
nop dword [rax]
add rax, rax
mov r10d, ecx
sub ecx, 0xa
cmp rax, 7
jbe 0x14005a168
jmp 0x14005a413
mov rdx, qword [rbx]
mov rcx, qword [rdx + 0x10]
movzx eax, byte [rcx]
cmp al, 0xb0
je 0x14005a46f
cmp al, 0xb1
je 0x14005a7de
mov r8d, 1
cmp al, 0x8a
je 0x14005a50e
nop dword [rax]
mov r10d, r12d
mov eax, dword [rsi + 0x30]
and r10w, 0x24
je 0x14005a4d7
or eax, 0x22
mov word [rsi + 0x1a], r8w
mov dword [rsi + 0x30], eax
movzx r10d, word [rbx + 0x12]
mov r9d, eax
and r10w, 0x100
jne 0x14005a81a
movsx eax, word [rsi + 0x16]
mov qword [rsp + 0x68], rbx
xor ecx, ecx
mov qword [rsp + 0x60], 0
mov edx, eax
jmp 0x140059f1e
or eax, 2
jmp 0x140059bb7
movzx eax, word [rsi + 0x34]
cmp ax, 1
jbe 0x14005a804
mov rcx, qword [rsi + 0x40]
lea r9d, [rax - 2]
xor r11d, r11d
lea rax, [rcx + 8]
lea r10, [rax + r9*8]
mov r9d, 0x2e
jmp 0x14005a234
add rax, 8
mov rcx, qword [rcx]
test rcx, rcx
je 0x14005a243
cmp qword [rcx], r8
cmove r9d, r11d
mov rcx, rax
cmp rax, r10
jne 0x14005a230
mov r10d, r9d
test dl, dl
jne 0x14005a432
mov eax, dword [rsi + 0x30]
jmp 0x140059c5d
mov eax, edx
mov r9d, edx
and eax, 2
jmp 0x140059c6b
mov eax, dword [rsp + 0x50]
movzx edx, word [rdi + 0x5e]
add eax, 1
cmp eax, edx
jge 0x140059e4d
mov ebx, dword [rsp + 0x84]
cmp dword [rsp + 0xac], ebx
jne 0x140059e4d
movzx eax, byte [rdi + 0x63]
and eax, 0xffffffc0
cmp al, 0x80
jne 0x140059e4d
mov rax, qword [rsp + 0x88]
test byte [rax + 0x61], 0x40
jne 0x140059e4d
mov rax, qword [rdi + 0x10]
add rbx, 1
lea r15, [rbx + rbx]
cmp word [rax + rbx*2], 0x29
jle 0x140059e4d
mov r8d, dword [rsp + 0xac]
mov rcx, qword [rsp + 0x88]
mov rdx, rsi
add r8d, 1
call fcn.1400295d0
mov r12d, eax
test eax, eax
jne 0x140059e4d
movd xmm1, dword [rsi + 0x34]
mov rax, qword [rsi + 0x40]
xor ecx, ecx
mov r8, rdi
movd xmm0, dword [0x1401c0460]
add word [rsi + 0x18], 1
pextrw edx, xmm1, 0
paddw xmm0, xmm1
movd dword [rsi + 0x34], xmm0
mov qword [rax + rdx*8], rcx
or dword [rsi + 0x30], 0x8000
mov rdx, qword [rdi + 0x10]
movzx eax, word [rdx + r15 - 2]
movzx edx, word [rdx + rbx*2]
mov ecx, edx
sub ecx, eax
add word [rsi + 0x16], cx
lea eax, [rax + rbp + 5]
mov rcx, r13
sub eax, edx
mov rdx, r14
movsx r9d, ax
call fcn.140059990
movzx eax, word [rsp + 0x54]
mov word [rsi + 0x16], ax
mov eax, dword [rsp + 0x84]
mov word [rsi + 0x18], ax
mov word [rsi + 0x36], ax
mov eax, dword [rsp + 0x44]
mov dword [rsi + 0x30], eax
jmp 0x140059e4d
bsr rdx, rax
lea ecx, [rdx - 3]
lea rdx, [0x1401b9590]
shr rax, cl
lea ecx, [rcx + rcx*4]
and eax, 7
movzx eax, word [rdx + rax*2]
lea eax, [rax + rcx*2 - 3]
mov word [rsp + 0x42], ax
jmp 0x140059ac0
sub r8d, r9d
movsxd rdx, r8d
lea r8, str._n_n_t_t_b_b_a_a_a
movzx edx, byte [r8 + rdx]
add eax, edx
jmp 0x140059d48
sub r9d, r8d
lea r8, str._n_n_t_t_b_b_a_a_a
movsxd rdx, r9d
movzx edx, byte [r8 + rdx]
add eax, edx
jmp 0x140059d48
mov rbx, qword [rsp + 0x68]
lea r8d, [rdx - 0x14]
mov edx, r8d
test rbx, rbx
je 0x140059f80
cmp word [rbx + 0x10], 0
jg 0x140059f7b
jmp 0x140059f80
bsr rcx, rax
sub ecx, 3
lea r10d, [rcx + rcx*4]
shr rax, cl
lea r10d, [r10 + r10 + 0x28]
and eax, 7
lea rcx, [0x1401b9590]
movzx eax, word [rcx + rax*2]
lea r10d, [r10 + rax - 0xa]
movsx r9d, r10w
test dl, dl
je 0x14005a256
mov rax, qword [rdi + 0x10]
mov rcx, qword [rsp + 0x38]
xor edx, edx
movzx eax, word [rax + rcx]
cmp r9w, 0xa
jle 0x14005a48a
movsx r9, r9w
bsr rdx, r9
lea ecx, [rdx - 3]
lea rdx, [0x1401b9590]
shr r9, cl
lea ecx, [rcx + rcx*4]
and r9d, 7
movzx edx, word [rdx + r9*2]
lea edx, [rdx + rcx*2 - 3]
jmp 0x14005a48a
movzx eax, byte [rcx + 2]
jmp 0x14005a18e
mov rax, qword [rdi + 0x10]
mov rcx, qword [rsp + 0x38]
xor r10d, r10d
xor edx, edx
movzx eax, word [rax + rcx]
sub dx, word [rsp + 0x42]
lea eax, [rax + rdx + 0xa]
cmp ax, r10w
jns 0x14005a256
cmp word [rsp + 0x56], 1
jg 0x140059df0
mov rax, qword [rsp + 0x88]
test byte [rax + 0x62], 2
jne 0x140059df0
mov eax, dword [rsi + 0x30]
or eax, 0x100000
jmp 0x140059c5d
mov ebp, dword [rsp + 0xa0]
xor r12d, r12d
jmp 0x140059e1a
mov r9d, eax
mov word [rsi + 0x1c], r8w
movzx edx, word [rsi + 0x16]
or r9d, 0x12
mov dword [rsi + 0x30], r9d
test al, 0x20
jne 0x14005a7c2
mov qword [rsp + 0x60], rbx
movsx eax, dx
mov ecx, 1
mov qword [rsp + 0x68], 0
jmp 0x140059f49
mov rcx, qword [rcx + 0x20]
mov rax, qword [rcx + 0x20]
mov r8d, dword [rax]
movzx eax, word [rdi + 0x60]
mov r10d, dword [rsp + 0x50]
sub eax, r10d
cmp eax, r8d
cmovle r8d, eax
mov dword [rsp + 0xa8], r8d
cmp r8d, 1
jle 0x14005a931
mov eax, dword [r14 + 0x40]
mov r8d, 1
mov qword [rsp + 0x98], rsi
lea rbp, [0x1401bfcc0]
mov word [rsp + 0xa6], r15w
mov r11, rdx
mov dword [rsp + 0x68], eax
mov rax, qword [rsp + 0x78]
mov word [rsp + 0xa4], r12w
mov r12d, r8d
lea r9, [rax + 1]
mov qword [rsp + 0x190], r13
mov qword [rsp + 0x198], r14
mov r13, r9
mov r14, rdi
mov rdi, rbx
nop dword [rax]
movsxd rax, r12d
lea rax, [rax + rax*2]
shl rax, 3
mov r15, qword [rcx + rax + 8]
mov rcx, qword [r11 + 0x18]
mov r11, qword [rcx + 0x20]
test byte [rcx + 5], 0x10
je 0x14005a750
add rax, qword [r11 + 0x20]
mov rbx, qword [rax + 8]
cmp byte [r15], 0xa7
jne 0x14005a718
mov eax, dword [rsp + 0x68]
cmp eax, dword [r15 + 0x2c]
jne 0x14005a718
mov rax, qword [r14 + 8]
movsx rsi, word [r15 + 0x30]
cmp si, word [rax + r13*2]
jne 0x14005a718
mov rax, qword [r14 + 0x38]
mov rcx, qword [rsp + 0x78]
movzx ecx, byte [rax + rcx]
cmp byte [rax + r13], cl
jne 0x14005a718
mov rcx, r15
call fcn.140006050
mov rcx, rbx
mov byte [rsp + 0x60], al
call fcn.140006050
movzx r11d, byte [rsp + 0x60]
cmp al, 0x40
jle 0x14005a760
cmp r11b, 0x40
jle 0x14005a760
mov rcx, qword [r14 + 0x18]
cmp al, 0x42
jg 0x14005a790
cmp r11b, 0x42
jg 0x14005a790
test si, si
js 0x14005a718
cmp si, word [rcx + 0x36]
jge 0x14005a718
mov eax, 0x41
shl rsi, 4
add rsi, qword [rcx + 8]
movzx r11d, byte [rsi + 9]
cmp r11b, al
jne 0x14005a718
test byte [r15 + 5], 2
jne 0x14005a700
test rbx, rbx
je 0x14005a68f
test byte [rbx + 5], 2
jne 0x14005a7b0
mov rcx, qword [rsp + 0x70]
mov rdx, r15
call fcn.14004fa80
test rax, rax
je 0x14005a7b0
mov rdx, qword [r14 + 0x40]
mov r11, qword [rax]
xor ecx, ecx
mov rbx, qword [rdx + r13*8]
jmp 0x14005a6c8
movzx esi, byte [rbp + rdx]
cmp byte [rbp + rax], sil
jne 0x14005a718
add rcx, 1
movzx eax, byte [r11 + rcx]
movzx edx, byte [rbx + rcx]
cmp eax, edx
jne 0x14005a6b8
test eax, eax
jne 0x14005a6c4
add r12d, 1
add r13, 1
cmp dword [rsp + 0xa8], r12d
je 0x14005a8a4
mov r11, qword [rdi]
mov rax, qword [r11 + 0x10]
mov rcx, qword [rax + 0x20]
jmp 0x14005a598
mov rcx, qword [rsp + 0x70]
mov rdx, r15
call fcn.14004fa80
test rax, rax
jne 0x14005a6a5
nop word [rax + rax]
mov r8d, r12d
mov rbx, rdi
mov rdi, r14
mov rsi, qword [rsp + 0x98]
mov r13, qword [rsp + 0x190]
mov r14, qword [rsp + 0x198]
movzx r12d, word [rsp + 0xa4]
movzx r15d, word [rsp + 0xa6]
jmp 0x14005a1a8
mov rbx, qword [r11 + rax + 8]
jmp 0x14005a5c2
or r11d, 0x40
cmp al, 0x41
mov rcx, qword [r14 + 0x18]
cmovl eax, r11d
mov r11d, 0x44
test si, si
js 0x14005a66c
cmp si, word [rcx + 0x36]
jl 0x14005a65f
jmp 0x14005a66c
test si, si
js 0x14005a718
cmp si, word [rcx + 0x36]
jge 0x14005a718
mov eax, 0x43
jmp 0x14005a65f
mov rcx, qword [rsp + 0x70]
mov rdx, rbx
call fcn.14004fa80
jmp 0x14005a70d
movzx ecx, word [rsi + 0x34]
mov rax, qword [rsi + 0x40]
mov qword [rsp + 0x60], rbx
mov rax, qword [rax + rcx*8 - 0x10]
mov qword [rsp + 0x68], rax
jmp 0x140059f08
mov rcx, qword [rcx + 0x20]
mov r8d, dword [rcx]
jmp 0x14005a519
cmp r8w, 1
je 0x14005a8fa
or eax, 0x10001
mov dword [rsi + 0x30], eax
mov edx, eax
jmp 0x140059ed2
test dl, dl
jne 0x14005a914
mov eax, dword [rsi + 0x30]
mov r10d, 0x2e
jmp 0x140059c5d
movzx r8d, word [rsi + 0x34]
mov rcx, qword [rsp + 0x88]
lea rbp, [rbx + 0x38]
mov rdx, rsi
mov qword [rsp + 0x60], rbp
add r8d, 1
call fcn.1400295d0
test eax, eax
jne 0x14005a4c8
movzx eax, word [rsi + 0x34]
mov rdx, qword [rsi + 0x40]
mov r8d, 1
lea ecx, [rax + 1]
mov word [rsi + 0x34], cx
mov qword [rdx + rax*8], rbp
mov eax, dword [rsi + 0x30]
mov word [rsi + 0x1c], r8w
mov r9d, eax
or r9d, 0x10
mov dword [rsi + 0x30], r9d
test al, 2
jne 0x14005a8e2
mov qword [rsp + 0x68], rbx
movzx ecx, word [rsi + 0x16]
xor r10d, r10d
jmp 0x140059c79
xor r10d, r10d
test dl, dl
je 0x14005a256
mov rax, qword [rdi + 0x10]
mov rcx, qword [rsp + 0x38]
xor edx, edx
movzx eax, word [rax + rcx]
jmp 0x14005a48a
mov rbx, rdi
mov rdi, r14
mov rsi, qword [rsp + 0x98]
movzx r12d, word [rsp + 0xa4]
mov r13, qword [rsp + 0x190]
movzx r15d, word [rsp + 0xa6]
mov r14, qword [rsp + 0x198]
movzx r8d, word [rsp + 0xa8]
jmp 0x14005a1a8
movsx eax, word [rsi + 0x16]
mov qword [rsp + 0x68], rbx
xor r10d, r10d
mov ecx, 1
mov edx, eax
jmp 0x140059f1e
cmp byte [rdi + 0x62], 0
je 0x14005a7f5
cmp r12w, 2
jne 0x14005a7f5
jmp 0x140059ec8
mov rax, qword [rdi + 0x10]
mov rcx, qword [rsp + 0x38]
mov r10d, 0x2e
mov edx, 0x16
movzx eax, word [rax + rcx]
jmp 0x14005a48a
mov r8d, 1
jmp 0x14005a1a8