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

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xa8
mov rdx, qword [rcx]
lea r9, [rcx + 0x90]
xor r8d, r8d
mov r13, rcx
mov r15d, r8d
mov qword [rbp - 0x11], r8
mov r12d, dword [rdx + 0x5c]
mov dword [rbp + 0x7f], r12d
mov qword [rbp - 0x39], r8
mov qword [rbp - 0x31], r8
cmp qword [r9], r8
jne 0x1402d5223
mov eax, dword [rcx + 0x3c]
mov esi, r8d
test eax, eax
jne 0x1402d506e
lea rdi, [rcx + 0x80]
mov rbx, rdi
cmp qword [rdi], r8
jne 0x1402d503e
mov rdx, qword [rdx + 8]
lea rcx, str.PRAGMA__Q.data_version
call fcn.140225d20
mov rbx, rax
cmp dword [r13 + 0x3c], esi
jne 0x1402d4fc0
test rax, rax
je 0x1402d4fb6
mov rcx, qword [r13]
lea r8d, [rsi - 1]
xor eax, eax
mov r9d, 0x85
mov qword [rsp + 0x30], rax
mov rdx, rbx
mov qword [rsp + 0x28], rdi
mov rcx, qword [rcx]
mov qword [rsp + 0x20], rax
call fcn.1402e4b50
mov dword [r13 + 0x3c], eax
jmp 0x1402d4fc5
mov dword [r13 + 0x3c], 7
jmp 0x1402d501f
test rbx, rbx
je 0x1402d501f
cmp dword [0x14046b030], esi
je 0x1402d5016
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x1402d4fdf
call qword [0x14046b0b0]
mov rcx, rbx
call qword [0x14046b068]
dec qword [0x140473788]
movsxd rcx, eax
sub qword [0x140473740], rcx
mov rcx, rbx
call qword [0x14046b058]
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x1402d501f
call qword [0x14046b0c0]
jmp 0x1402d501f
mov rcx, rbx
call qword [0x14046b058]
mov eax, dword [r13 + 0x3c]
mov dword [r13 + 0x3c], eax
test eax, eax
je 0x1402d5037
mov qword [r13 + 0x88], rsi
jmp 0x1402d521c
lea rbx, [r13 + 0x80]
mov rcx, qword [rdi]
call fcn.140228410
cmp eax, 0x64
jne 0x1402d5058
mov rcx, qword [rbx]
xor edx, edx
call fcn.140228ad0
mov rsi, rax
mov rcx, qword [rbx]
call fcn.1402296c0
mov dword [r13 + 0x3c], eax
lea r9, [r13 + 0x90]
xor r8d, r8d
mov qword [r13 + 0x88], rsi
test eax, eax
jne 0x1402d5223
mov rbx, qword [r13 + 0x40]
lea rsi, [r13 + 0x40]
mov rax, r8
mov r14, r8
mov qword [rbp - 0x19], rax
mov edi, r8d
mov qword [rbp - 0x21], rax
mov rax, qword [r13]
mov qword [rbp - 9], rax
test rbx, rbx
je 0x1402d51ba
mov edx, 0xa
mov qword [rsi], r8
mov rcx, rbx
call fcn.140202e80
mov qword [rsi], rbx
mov edi, eax
test eax, eax
je 0x1402d51af
mov qword [rsi], r15
mov rsi, qword [rbx + 0x20]
mov r15, qword [rbx + 0x18]
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x1402d50de
call qword [0x14046b0b0]
cmp rbx, qword [rsi + 0x1f0]
jae 0x1402d5122
cmp rbx, qword [rsi + 0x1e0]
jb 0x1402d5106
mov rax, qword [rsi + 0x1d8]
mov qword [rbx], rax
mov qword [rsi + 0x1d8], rbx
jmp 0x1402d5194
cmp rbx, qword [rsi + 0x1e8]
jb 0x1402d5122
mov rax, qword [rsi + 0x1c8]
mov qword [rbx], rax
mov qword [rsi + 0x1c8], rbx
jmp 0x1402d5194
cmp qword [rsi + 0x308], 0
je 0x1402d5139
mov rdx, rbx
mov rcx, rsi
call fcn.140293f10
jmp 0x1402d5194
cmp dword [0x14046b030], 0
je 0x1402d518b
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x1402d5154
call qword [0x14046b0b0]
mov rcx, rbx
call qword [0x14046b068]
dec qword [0x140473788]
movsxd rcx, eax
sub qword [0x140473740], rcx
mov rcx, rbx
call qword [0x14046b058]
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x1402d5194
call qword [0x14046b0c0]
jmp 0x1402d5194
mov rcx, rbx
call qword [0x14046b058]
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x1402d51a3
call qword [0x14046b0c0]
mov rcx, r15
call fcn.1402295e0
lea rsi, [r13 + 0x40]
xor r8d, r8d
cmp edi, 4
jne 0x1402d51ba
mov edi, r8d
cmp qword [rsi], 0
jne 0x1402d51f4
test edi, edi
jne 0x1402d51f4
mov rcx, qword [r13]
lea r9, str.block
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], r8d
mov r8, qword [r13 + 8]
mov rdx, qword [rcx + 8]
mov rcx, qword [rcx]
mov qword [rsp + 0x20], 0xa
call fcn.140202690
mov edi, eax
cmp edi, 1
jne 0x1402d5360
inc dword [r13 + 0x70]
mov dword [r13 + 0x3c], 0x10b
mov rax, qword [rbp - 0x19]
mov r15, qword [rbp - 0x11]
mov r12d, dword [rbp + 0x7f]
mov qword [r13 + 0x90], rax
lea r9, [r13 + 0x90]
cmp dword [r13 + 0x3c], 0
jne 0x1402d5d44
mov rax, qword [r13 + 0x90]
inc dword [rax]
mov r14, qword [r9]
mov qword [rbp + 0xf], r14
test r14, r14
je 0x1402d5d44
xor esi, esi
cmp dword [r14 + 0x1c], esi
jle 0x1402d5285
lea rdi, [r14 + 0x24]
xor ebx, ebx
cmp dword [rdi], ebx
jle 0x1402d5279
nop dword [rax]
movsxd rax, ebx
mov rcx, r13
imul rdx, rax, 0x38
add rdx, qword [rdi + 4]
call fcn.14026f710
inc ebx
cmp ebx, dword [rdi]
jl 0x1402d5260
inc esi
add rdi, 0x10
cmp esi, dword [r14 + 0x1c]
jl 0x1402d5253
xor esi, esi
lea rax, [rbp - 0x19]
mov qword [rsp + 0x40], rax
xor r9d, r9d
mov dword [rsp + 0x38], esi
mov rdx, r14
mov dword [rsp + 0x30], 0xffffffff
mov rcx, r13
mov dword [rsp + 0x28], esi
lea r8d, [rsi + 0x20]
mov qword [rsp + 0x20], rsi
call fcn.140277270
mov rbx, qword [rbp - 0x19]
mov rcx, r13
mov rdx, rbx
call fcn.140276f20
test eax, eax
jne 0x1402d5ca3
nop
mov rax, qword [rbx + 0x58]
mov qword [rbp - 0x21], rsi
mov dword [rbp - 0x29], esi
movzx ecx, word [rax + 4]
imul rax, rcx, 0x88
cmp dword [r13 + 0x3c], 0
mov r11, qword [rax + rbx + 0xd8]
mov r10, qword [rax + rbx + 0xc8]
mov qword [rbp - 9], r11
mov qword [rbp - 1], r10
jne 0x1402d5c9f
movsxd r9, dword [rax + rbx + 0xd0]
mov qword [rbp + 7], r9
cmp r12d, 1
jne 0x1402d575a
mov rdx, rbx
mov rcx, r13
call fcn.140277230
test eax, eax
jne 0x1402d5c7b
imul rax, r11, 0x51
mov rdx, rsi
test r9, r9
jle 0x1402d5354
nop
movsx rcx, byte [rdx + r10]
lea rax, [rax + rax*8]
add rax, rcx
inc rdx
cmp rdx, r9
jl 0x1402d5340
xor r15, rax
mov qword [rbp - 0x11], r15
jmp 0x1402d5c7b
test edi, edi
jne 0x1402d558d
mov rax, qword [rsi]
test rax, rax
je 0x1402d537c
cmp qword [rax + 0x18], 0
je 0x1402d537c
mov r12d, dword [rax]
jmp 0x1402d537f
xor r12d, r12d
call fcn.140319ef0
test eax, eax
jne 0x1402d5585
movsxd rcx, r12d
add rcx, 0x24
call fcn.1402e5070
mov r14, rax
test rax, rax
je 0x1402d5585
lea rbx, [rax + 0x10]
mov dword [rax + 8], r12d
mov qword [rax], rbx
mov rdi, qword [r13 + 0x40]
test rdi, rdi
jne 0x1402d53e9
lea rax, [0x14035ce34]
mov edi, 0x15
mov ecx, edi
mov qword [rsp + 0x20], rax
mov r9d, 0x18cf6
lea r8, str.misuse
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140208410
jmp 0x1402d54f5
mov rsi, qword [rdi + 0x20]
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x1402d53fc
call qword [0x14046b0b0]
mov r13, qword [rdi + 0x18]
test r12d, r12d
js 0x1402d54b2
cmp r12d, dword [rdi]
jg 0x1402d54b2
test r13, r13
jne 0x1402d5420
lea ebx, [r13 + 4]
jmp 0x1402d54b7
mov rax, qword [rdi + 0x10]
mov rcx, qword [rax + 8]
cmp byte [rcx + 0x11], 0
je 0x1402d543c
inc dword [rcx + 0x14]
cmp byte [rcx + 0x12], 0
jne 0x1402d543c
call fcn.140232d50
mov rcx, qword [rdi + 0x10]
mov r9, rbx
mov edx, dword [rdi + 4]
mov r8d, r12d
cmp byte [rcx], 0
jne 0x1402d545d
mov dword [rsp + 0x20], 0
call fcn.14022aa80
jmp 0x1402d5462
call fcn.14022ae70
mov ebx, eax
mov rax, qword [rdi + 0x10]
mov rcx, qword [rax + 8]
cmp byte [rcx + 0x11], 0
je 0x1402d547d
sub dword [rcx + 0x14], 1
jne 0x1402d547d
call fcn.14031cda0
cmp ebx, 4
jne 0x1402d5494
mov rcx, r13
call fcn.140308de0
mov qword [rdi + 0x18], 0
jmp 0x1402d54b7
mov dword [r13 + 0x34], ebx
mov dword [rsi + 0x50], ebx
test ebx, ebx
jne 0x1402d54ba
cmp qword [rsi + 0x190], 0
jne 0x1402d54ba
mov dword [rsi + 0x54], 0xffffffff
jmp 0x1402d54c4
mov ebx, 1
mov dword [rsi + 0x50], ebx
mov edx, ebx
mov rcx, rsi
call fcn.1402c0010
cmp byte [rsi + 0x67], 0
jne 0x1402d54d2
test ebx, ebx
jne 0x1402d54d2
xor edi, edi
jmp 0x1402d54de
mov edx, ebx
mov rcx, rsi
call fcn.14022e8e0
mov edi, eax
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x1402d54ed
call qword [0x14046b0c0]
mov r13, qword [rbp + 0x67]
test edi, edi
je 0x1402d5552
cmp dword [0x14046b030], 0
je 0x1402d5547
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x1402d5510
call qword [0x14046b0b0]
mov rcx, r14
call qword [0x14046b068]
dec qword [0x140473788]
movsxd rcx, eax
sub qword [0x140473740], rcx
mov rcx, r14
call qword [0x14046b058]
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x1402d558a
call qword [0x14046b0c0]
jmp 0x1402d558a
mov rcx, r14
call qword [0x14046b058]
jmp 0x1402d558a
mov rax, qword [r14]
movsxd rcx, r12d
mov byte [rcx + rax], 0
mov rax, qword [r14]
movsxd rcx, r12d
mov byte [rcx + rax + 1], 0
mov rax, qword [r14]
movzx ecx, byte [rax + 2]
movzx eax, byte [rax + 3]
shl ecx, 8
add ecx, eax
mov dword [r14 + 0xc], ecx
inc dword [r13 + 0x70]
mov dword [r13 + 0x3c], edi
jmp 0x1402d559d
mov edi, 7
xor r14d, r14d
inc dword [r13 + 0x70]
mov dword [r13 + 0x3c], edi
test edi, edi
jne 0x1402d5209
movsxd rax, dword [r14 + 8]
lea r9, [rbp - 0x21]
add rax, qword [r14]
lea r8, [rbp - 0x29]
xor ecx, ecx
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 0x10], ecx
mov edx, dword [r14 + 8]
mov rcx, qword [r14]
call fcn.1402808f0
mov dword [r13 + 0x3c], eax
test eax, eax
jne 0x1402d55ef
mov rax, qword [rbp - 9]
mov edx, dword [rbp - 0x29]
cmp dword [rax + 0x88], 0
je 0x1402d55e3
cmp dword [rax + 0x84], edx
je 0x1402d55ef
mov rcx, rax
call fcn.1402d1780
mov dword [r13 + 0x3c], eax
cmp dword [0x14046b030], 0
je 0x1402d5641
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x1402d560a
call qword [0x14046b0b0]
mov rcx, r14
call qword [0x14046b068]
dec qword [0x140473788]
movsxd rcx, eax
sub qword [0x140473740], rcx
mov rcx, r14
call qword [0x14046b058]
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x1402d564a
call qword [0x14046b0c0]
jmp 0x1402d564a
mov rcx, r14
call qword [0x14046b058]
cmp dword [r13 + 0x3c], 0
je 0x1402d5751
mov rdi, qword [rbp - 0x21]
test rdi, rdi
je 0x1402d574a
dec dword [rdi]
cmp dword [rdi], 0
jg 0x1402d574a
mov rcx, qword [0x140473800]
xor r14d, r14d
cmp dword [rdi + 0x1c], r14d
jle 0x1402d56f1
lea rsi, [rdi + 0x28]
mov rbx, qword [rsi]
test rbx, rbx
je 0x1402d56e4
cmp dword [0x14046b030], 0
je 0x1402d56d4
test rcx, rcx
je 0x1402d569d
call qword [0x14046b0b0]
mov rcx, rbx
call qword [0x14046b068]
dec qword [0x140473788]
mov rcx, rbx
movsxd rdx, eax
sub qword [0x140473740], rdx
call qword [0x14046b058]
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x1402d56e4
call qword [0x14046b0c0]
jmp 0x1402d56dd
mov rcx, rbx
call qword [0x14046b058]
mov rcx, qword [0x140473800]
inc r14d
add rsi, 0x10
cmp r14d, dword [rdi + 0x1c]
jl 0x1402d5681
cmp dword [0x14046b030], 0
je 0x1402d5741
test rcx, rcx
je 0x1402d5705
call qword [0x14046b0b0]
mov rcx, rdi
call qword [0x14046b068]
dec qword [0x140473788]
mov rcx, rdi
movsxd rdx, eax
sub qword [0x140473740], rdx
call qword [0x14046b058]
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x1402d574a
call qword [0x14046b0c0]
xor eax, eax
jmp 0x1402d520d
mov rcx, rdi
call qword [0x14046b058]
xor eax, eax
jmp 0x1402d520d
mov rax, qword [rbp - 0x21]
jmp 0x1402d520d
mov dword [rbp - 0x31], esi
mov r8d, esi
mov rax, qword [rbx + 0x58]
movzx ecx, word [rax + 4]
imul r13, rcx, 0x88
mov ecx, dword [rbp - 0x2d]
add r13, rbx
mov edx, dword [r13 + 0xe0]
add edx, 8
cmp edx, ecx
jbe 0x1402d598a
test ecx, ecx
mov eax, 0x40
cmovne eax, ecx
movsxd rbx, eax
mov eax, edx
cmp rbx, rax
jae 0x1402d57a8
nop dword [rax + rax]
add rbx, rbx
cmp rbx, rax
jb 0x1402d57a0
mov rsi, qword [rbp - 0x39]
call fcn.140319ef0
test eax, eax
jne 0x1402d5817
test rsi, rsi
jne 0x1402d57c7
mov rcx, rbx
call fcn.1402e5070
jmp 0x1402d5971
test rbx, rbx
jne 0x1402d5828
cmp dword [0x14046b030], ebx
je 0x1402d580e
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x1402d57e6
call qword [0x14046b0b0]
mov rcx, rsi
call qword [0x14046b068]
dec qword [0x140473788]
mov rcx, rsi
movsxd rdx, eax
sub qword [0x140473740], rdx
call qword [0x14046b058]
jmp 0x1402d58c3
mov rcx, rsi
call qword [0x14046b058]
mov r13, qword [rbp + 0x67]
mov dword [r13 + 0x3c], 7
jmp 0x1402d59bc
cmp rbx, 0x7fffff00
jae 0x1402d5817
mov rcx, rsi
call qword [0x14046b068]
mov ecx, ebx
mov r12d, eax
call qword [0x14046b070]
mov r15d, eax
cmp r12d, eax
jne 0x1402d5855
mov rdi, rsi
jmp 0x1402d5974
cmp dword [0x14046b030], 0
je 0x1402d5965
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x1402d5874
call qword [0x14046b0b0]
movsxd rax, ebx
cmp rax, qword [0x1404737b8]
jle 0x1402d5887
mov qword [0x1404737b8], rax
mov ecx, r15d
sub ecx, r12d
test ecx, ecx
jle 0x1402d58ea
mov rax, qword [0x140473808]
mov rdi, qword [0x140473740]
movsxd r14, ecx
sub rax, r14
cmp rdi, rax
jl 0x1402d58ea
call fcn.1402e5200
mov rax, qword [0x140473810]
test rax, rax
jle 0x1402d58ea
sub rax, r14
cmp rdi, rax
jl 0x1402d58ea
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x1402d5817
call qword [0x14046b0c0]
mov r13, qword [rbp + 0x67]
mov dword [r13 + 0x3c], 7
jmp 0x1402d59bc
mov edx, r15d
mov rcx, rsi
call qword [0x14046b060]
mov rdi, rax
test rax, rax
jne 0x1402d5922
cmp qword [0x140473808], rax
jle 0x1402d5951
mov ecx, ebx
call fcn.1402e5200
mov edx, r15d
mov rcx, rsi
call qword [0x14046b060]
mov rdi, rax
test rax, rax
je 0x1402d5951
mov rcx, rdi
call qword [0x14046b068]
mov rcx, qword [0x140473740]
sub eax, r12d
cdqe
add rcx, rax
cmp rcx, qword [0x140473790]
mov qword [0x140473740], rcx
jle 0x1402d5951
mov qword [0x140473790], rcx
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x1402d5974
call qword [0x14046b0c0]
jmp 0x1402d5974
mov edx, r15d
mov rcx, rsi
call qword [0x14046b060]
mov rdi, rax
test rdi, rdi
je 0x1402d5817
mov r8d, dword [rbp - 0x31]
mov dword [rbp - 0x2d], ebx
mov qword [rbp - 0x39], rdi
jmp 0x1402d598e
mov rdi, qword [rbp - 0x39]
mov eax, dword [r13 + 0xe0]
lea rdx, [r13 + 0x60]
mov r13, qword [rbp + 0x67]
lea r9, [0x140279de0]
add eax, r8d
lea r8, [rbp - 0x39]
movsxd rcx, eax
xor eax, eax
mov qword [rcx + rdi], rax
mov rcx, r13
call fcn.1402658c0
mov eax, dword [rbp - 0x31]
mov ecx, dword [rbp - 0x2d]
lea edx, [rax + 4]
cmp edx, ecx
jbe 0x1402d5bcc
test ecx, ecx
mov eax, 0x40
cmovne eax, ecx
movsxd rbx, eax
mov eax, edx
cmp rbx, rax
jae 0x1402d59e9
add rbx, rbx
cmp rbx, rax
jb 0x1402d59e1
mov rsi, qword [rbp - 0x39]
call fcn.140319ef0
test eax, eax
jne 0x1402d5a58
test rsi, rsi
jne 0x1402d5a08
mov rcx, rbx
call fcn.1402e5070
jmp 0x1402d5bb4
test rbx, rbx
jne 0x1402d5a6a
cmp dword [0x14046b030], ebx
je 0x1402d5a4f
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x1402d5a27
call qword [0x14046b0b0]
mov rcx, rsi
call qword [0x14046b068]
dec qword [0x140473788]
mov rcx, rsi
movsxd rdx, eax
sub qword [0x140473740], rdx
call qword [0x14046b058]
jmp 0x1402d5b05
mov rcx, rsi
call qword [0x14046b058]
mov edx, dword [rbp - 0x31]
xor esi, esi
mov dword [r13 + 0x3c], 7
jmp 0x1402d5be0
cmp rbx, 0x7fffff00
jae 0x1402d5a58
mov rcx, rsi
call qword [0x14046b068]
mov ecx, ebx
mov r12d, eax
call qword [0x14046b070]
mov r15d, eax
cmp r12d, eax
jne 0x1402d5a97
mov rdi, rsi
jmp 0x1402d5bb7
cmp dword [0x14046b030], 0
je 0x1402d5ba8
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x1402d5ab6
call qword [0x14046b0b0]
movsxd rax, ebx
cmp rax, qword [0x1404737b8]
jle 0x1402d5ac9
mov qword [0x1404737b8], rax
mov ecx, r15d
sub ecx, r12d
test ecx, ecx
jle 0x1402d5b2d
mov rax, qword [0x140473808]
mov rdi, qword [0x140473740]
movsxd r14, ecx
sub rax, r14
cmp rdi, rax
jl 0x1402d5b2d
call fcn.1402e5200
mov rax, qword [0x140473810]
test rax, rax
jle 0x1402d5b2d
sub rax, r14
cmp rdi, rax
jl 0x1402d5b2d
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x1402d5a58
call qword [0x14046b0c0]
mov edx, dword [rbp - 0x31]
xor esi, esi
mov dword [r13 + 0x3c], 7
jmp 0x1402d5be0
mov edx, r15d
mov rcx, rsi
call qword [0x14046b060]
mov rdi, rax
test rax, rax
jne 0x1402d5b65
cmp qword [0x140473808], rax
jle 0x1402d5b94
mov ecx, ebx
call fcn.1402e5200
mov edx, r15d
mov rcx, rsi
call qword [0x14046b060]
mov rdi, rax
test rax, rax
je 0x1402d5b94
mov rcx, rdi
call qword [0x14046b068]
mov rcx, qword [0x140473740]
sub eax, r12d
cdqe
add rcx, rax
cmp rcx, qword [0x140473790]
mov qword [0x140473740], rcx
jle 0x1402d5b94
mov qword [0x140473790], rcx
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x1402d5bb7
call qword [0x14046b0c0]
jmp 0x1402d5bb7
mov edx, r15d
mov rcx, rsi
call qword [0x14046b060]
mov rdi, rax
test rdi, rdi
je 0x1402d5a58
mov eax, dword [rbp - 0x31]
mov dword [rbp - 0x2d], ebx
mov qword [rbp - 0x39], rdi
jmp 0x1402d5bd0
mov rdi, qword [rbp - 0x39]
xor esi, esi
cdqe
mov dword [rax + rdi], esi
mov edx, dword [rbp - 0x31]
add edx, 4
mov dword [rbp - 0x31], edx
mov rcx, qword [rbp - 0x39]
lea r9, [rbp - 0x21]
lea r8, [rbp - 0x29]
call fcn.1402d84e0
mov r15, qword [rbp - 0x11]
test eax, eax
jne 0x1402d5c73
mov rax, qword [rbp - 9]
mov rdi, qword [rbp - 1]
lea rbx, [rax + rax*8]
nop word [rax + rax]
mov rdx, qword [rbp - 0x21]
mov r8, qword [rbp + 7]
mov rax, rdx
sar rax, 0x20
btr edx, 0x1f
movsxd rcx, eax
add rcx, rbx
lea rax, [rcx + rcx*8]
add rax, rdx
mov rdx, rsi
test r8, r8
jle 0x1402d5c54
nop dword [rax + rax]
movsx rcx, byte [rdx + rdi]
lea rax, [rax + rax*8]
add rax, rcx
inc rdx
cmp rdx, r8
jl 0x1402d5c40
mov edx, dword [rbp - 0x31]
lea r9, [rbp - 0x21]
mov rcx, qword [rbp - 0x39]
lea r8, [rbp - 0x29]
xor r15, rax
call fcn.1402d84e0
test eax, eax
je 0x1402d5c10
mov qword [rbp - 0x11], r15
mov r12d, dword [rbp + 0x7f]
mov rbx, qword [rbp - 0x19]
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, r13
call fcn.1402775d0
mov rdx, rbx
mov rcx, r13
call fcn.140276f20
test eax, eax
je 0x1402d52d0
mov r14, qword [rbp + 0xf]
mov rcx, rbx
call fcn.140276f40
cmp dword [r13 + 0x3c], 0
jne 0x1402d5cc6
cmp dword [rbp + 0x77], 0
je 0x1402d5cc6
cmp qword [rbp + 0x6f], r15
je 0x1402d5cc6
mov dword [r13 + 0x3c], 0x10b
mov rcx, r14
call fcn.1402817f0
mov rbx, qword [rbp - 0x39]
test rbx, rbx
je 0x1402d5d3a
cmp dword [0x14046b030], 0
je 0x1402d5d31
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x1402d5cf2
call qword [0x14046b0b0]
mov rcx, rbx
call qword [0x14046b068]
dec qword [0x140473788]
mov rcx, rbx
movsxd rdx, eax
sub qword [0x140473740], rdx
call qword [0x14046b058]
mov rcx, qword [0x140473800]
test rcx, rcx
je 0x1402d5d3a
call qword [0x14046b0c0]
mov eax, dword [r13 + 0x3c]
mov dword [r13 + 0x3c], esi
jmp 0x1402d5d50
mov rcx, rbx
call qword [0x14046b058]
mov eax, dword [r13 + 0x3c]
mov dword [r13 + 0x3c], esi
jmp 0x1402d5d50
mov eax, dword [r13 + 0x3c]
mov dword [r13 + 0x3c], 0
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret