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

Disassembly:
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0xa0
mov r12, qword [rdx + 0x10]
xor ebp, ebp
mov dword [rsp + 0x68], ebp
mov r13d, ebp
mov qword [rsp + 0x78], r12
mov r15, rdx
mov r14, rcx
call fcn.140050af0
test eax, eax
jne 0x140051def
mov qword [rsp + 0x98], rbx
mov rdx, r15
mov qword [rsp + 0x90], rsi
mov rcx, r14
mov qword [rsp + 0x88], rdi
call fcn.140050120
mov qword [rsp + 0x70], rax
mov rax, qword [r15 + 0x10]
movzx ecx, byte [rax]
cmp cl, 0x9d
jne 0x140050c41
movzx ecx, byte [rax + 0x36]
cmp cl, 0x9e
jne 0x140050c4e
mov rcx, qword [rax + 0x20]
mov edi, dword [rcx]
jmp 0x140050c63
cmp cl, 0x77
jne 0x140050c5e
mov rax, qword [rax + 0x20]
mov rcx, qword [rax]
mov edi, dword [rcx]
jmp 0x140050c63
mov edi, 1
mov rcx, qword [r14]
movsxd rsi, edi
mov dword [rsp + 0x48], edi
mov qword [rsp + 0x50], rsi
lea rbx, [rsi*4 + 1]
add rbx, rsi
test rcx, rcx
je 0x140050c8c
mov rdx, rbx
call fcn.1400157c0
jmp 0x140050c94
mov rcx, rbx
call fcn.140014fd0
mov qword [rsp + 0x60], rax
test rax, rax
je 0x140050cb0
mov r8, rbx
xor edx, edx
mov rcx, rax
call fcn.1400a6c90
mov rax, qword [rsp + 0x60]
mov rcx, qword [r14]
cmp byte [rcx + 0x55], bpl
jne 0x140051d0a
mov r8d, dword [rsp + 0xe0]
lea r9, [rsp + 0x68]
cmp r8d, dword [rsp + 0xe8]
mov rdx, r15
mov rbx, qword [r14 + 0x10]
mov r8d, 3
cmove r9, rbp
mov qword [rsp + 0x20], rax
mov rcx, r14
call fcn.14004f5f0
inc dword [r14 + 0x4c]
lea r8, [rsp + 0x6c]
mov rdx, r12
mov dword [rsp + 0x44], eax
mov rcx, r14
mov r15d, eax
call fcn.140052740
mov r8, qword [rsp + 0x60]
mov r9d, eax
mov dword [rsp + 0x6c], eax
mov edx, ebp
test edi, edi
jle 0x140050d30
mov rcx, rbp
cmp dword [r8 + rcx*4], edx
jne 0x140050d30
inc edx
inc rcx
cmp rcx, rsi
jl 0x140050d20
cmp edx, edi
jne 0x140050d41
mov r12d, r9d
mov dword [rsp + 0x40], r9d
jmp 0x140050e35
cmp edi, 1
jne 0x140050d74
movzx eax, byte [r14 + 0x1f]
test al, al
jne 0x140050d5d
inc dword [r14 + 0x38]
mov eax, dword [r14 + 0x38]
mov dword [rsp + 0x40], eax
jmp 0x140050da4
dec al
movzx eax, al
mov byte [r14 + 0x1f], al
mov eax, dword [r14 + rax*4 + 0x18c]
mov dword [rsp + 0x40], eax
jmp 0x140050da4
mov ecx, dword [r14 + 0x28]
mov edx, dword [r14 + 0x2c]
mov dword [rsp + 0x40], edx
cmp edi, ecx
jg 0x140050d93
lea eax, [rdx + rdi]
sub ecx, edi
mov dword [r14 + 0x2c], eax
mov dword [r14 + 0x28], ecx
jmp 0x140050da4
mov eax, dword [r14 + 0x38]
lea ecx, [rax + 1]
add eax, edi
mov dword [r14 + 0x38], eax
mov dword [rsp + 0x40], ecx
test edi, edi
jle 0x140050e30
mov r12, qword [rsp + 0x50]
mov rdi, rbp
mov r15d, dword [rsp + 0x40]
mov esi, r9d
nop dword [rax]
mov rax, qword [rbx + 0x18]
mov edx, dword [r8 + rdi*4]
movsxd rcx, dword [rbx + 0xb8]
add edx, r15d
cmp dword [rax + 0x3c], ecx
jg 0x140050df5
mov r9d, edx
mov dword [rsp + 0x20], ebp
mov edx, 0x55
mov r8d, esi
mov rcx, rbx
call fcn.140036ff0
mov r8, qword [rsp + 0x60]
jmp 0x140050e1e
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x55
mov dword [rax + rcx*8 + 4], esi
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
inc esi
inc rdi
cmp rdi, r12
jl 0x140050dc0
mov r15d, dword [rsp + 0x44]
mov rsi, r12
mov r12d, dword [rsp + 0x40]
cmp r15d, 5
jne 0x1400513a2
mov rcx, qword [rsp + 0xd8]
mov rax, qword [rcx + 0x20]
mov rdx, qword [rcx + 0x10]
mov rcx, r14
mov qword [rsp + 0x50], rax
call fcn.14004c610
mov rdi, qword [rbx + 0x18]
mov r15, rax
movsxd r13, dword [rdi + 0x54]
lea ecx, [r13 + 1]
mov dword [rdi + 0x54], ecx
lea ecx, [r13 - 1]
test r13d, ecx
jne 0x140050e96
mov rdx, qword [rdi + 0x58]
lea ecx, [r13*2 + 1]
movsxd r8, ecx
mov rcx, qword [rdi]
shl r8, 2
call fcn.1400159c0
mov qword [rdi + 0x58], rax
mov rcx, qword [rdi + 0x58]
test rcx, rcx
je 0x140050eaa
mov rax, r13
mov dword [rcx + r13*4], 0xffffffff
mov edi, dword [rsp + 0xe0]
not r13d
mov esi, ebp
cmp dword [rsp + 0xe8], edi
je 0x140050f37
movzx eax, byte [r14 + 0x1f]
test al, al
jne 0x140050ed2
inc dword [r14 + 0x38]
mov esi, dword [r14 + 0x38]
jmp 0x140050ee3
dec al
movzx eax, al
mov byte [r14 + 0x1f], al
mov esi, dword [r14 + rax*4 + 0x18c]
mov rax, qword [rbx + 0x18]
movsxd rcx, dword [rbx + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x140050f0c
mov r9d, r12d
mov dword [rsp + 0x20], esi
mov r8d, r12d
mov edx, 0x2b
mov rcx, rbx
call fcn.140036ff0
jmp 0x140050f37
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x2b
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsp + 0x50]
mov r12d, ebp
cmp dword [rax], ebp
jle 0x140051276
mov rcx, rbp
mov qword [rsp + 0x58], rcx
nop
mov rdx, qword [rax + 8]
lea r8, [rsp + 0xd8]
mov rdx, qword [rcx + rdx]
mov rcx, r14
call fcn.140053ab0
mov edi, eax
test esi, esi
je 0x140051035
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rcx + 8]
mov rax, qword [rax + rcx]
movzx edx, byte [rax]
lea ecx, [rdx + 0x65]
cmp cl, 1
ja 0x140050f95
mov rax, qword [rax + 0x10]
jmp 0x140050f84
cmp dl, 0x9d
jne 0x140050f9e
movzx edx, byte [rax + 0x36]
cmp dl, 0x61
je 0x140051035
cmp dl, 0x83
jbe 0x140050fe3
cmp dl, 0x86
jbe 0x140051035
cmp dl, 0x98
jne 0x140050fe3
test dword [rax + 4], 0x100000
jne 0x140050fe3
movzx ecx, word [rax + 0x30]
test cx, cx
js 0x140051035
mov rax, qword [rax + 0x40]
movsx rdx, cx
shl rdx, 5
mov rcx, qword [rax + 8]
cmp byte [rdx + rcx + 0x18], bpl
jne 0x140051035
mov rax, qword [rbx + 0x18]
movsxd rcx, dword [rbx + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14005100c
mov r9d, edi
mov dword [rsp + 0x20], esi
mov r8d, esi
mov edx, 0x2b
mov rcx, rbx
call fcn.140036ff0
jmp 0x140051035
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x2b
mov dword [rax + rcx*8 + 4], esi
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsp + 0x50]
mov eax, dword [rax]
dec eax
cmp r12d, eax
jl 0x140051131
mov r9d, dword [rsp + 0xe0]
cmp dword [rsp + 0xe8], r9d
jne 0x140051131
mov rax, qword [rbx + 0x18]
movsxd rdx, dword [rbx + 0xb8]
mov r8d, dword [rsp + 0x40]
cmp dword [rax + 0x3c], edx
jg 0x140051087
mov edx, 0x24
mov dword [rsp + 0x20], edi
mov rcx, rbx
call fcn.140036ff0
mov edx, eax
jmp 0x1400510b2
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rbx + 0xb8], eax
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x24
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rbp
mov rcx, qword [rbx]
cmp byte [rcx + 0x55], bpl
je 0x1400510ca
mov r8, r15
mov edx, 0xfffffffd
call fcn.140037e90
jmp 0x14005110c
test edx, edx
jns 0x1400510d6
mov edx, dword [rbx + 0xb8]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x68]
cmp byte [rax + rcx*8 + 1], bpl
lea rdx, [rax + rcx*8]
je 0x1400510ff
mov r9d, 0xfffffffd
mov r8, r15
mov rcx, rbx
call fcn.1400380f0
jmp 0x14005110c
test r15, r15
je 0x14005110c
mov qword [rdx + 0x10], r15
mov byte [rdx + 1], 0xfd
movsxd rcx, dword [rbx + 0xb8]
test ecx, ecx
jle 0x140051203
mov rax, qword [rsp + 0x70]
lea rcx, [rcx + rcx*2]
movzx eax, byte [rax]
or al, 0x10
movsx edx, al
jmp 0x1400511fa
mov rax, qword [rbx + 0x18]
movsxd rdx, dword [rbx + 0xb8]
mov r8d, dword [rsp + 0x40]
cmp dword [rax + 0x3c], edx
jg 0x14005115e
mov r9d, r13d
mov dword [rsp + 0x20], edi
mov edx, 0x25
mov rcx, rbx
call fcn.140036ff0
mov edx, eax
jmp 0x140051189
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rbx + 0xb8], eax
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x25
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rbp
mov rcx, qword [rbx]
cmp byte [rcx + 0x55], bpl
je 0x1400511a1
mov r8, r15
mov edx, 0xfffffffd
call fcn.140037e90
jmp 0x1400511e3
test edx, edx
jns 0x1400511ad
mov edx, dword [rbx + 0xb8]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x68]
cmp byte [rax + rcx*8 + 1], bpl
lea rdx, [rax + rcx*8]
je 0x1400511d6
mov r9d, 0xfffffffd
mov r8, r15
mov rcx, rbx
call fcn.1400380f0
jmp 0x1400511e3
test r15, r15
je 0x1400511e3
mov qword [rdx + 0x10], r15
mov byte [rdx + 1], 0xfd
movsxd rax, dword [rbx + 0xb8]
test eax, eax
jle 0x140051203
mov rcx, qword [rsp + 0x70]
movsx edx, byte [rcx]
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x68]
mov word [rax + rcx*8 - 0x16], dx
mov edx, dword [rsp + 0xd8]
test edx, edx
je 0x140051250
movzx r9d, byte [r14 + 0x1f]
cmp r9b, 8
jae 0x140051250
movzx r8d, byte [r14 + 0x25]
lea rax, [r14 + 0xc4]
mov ecx, ebp
test r8d, r8d
je 0x140051240
nop dword [rax]
cmp dword [rax + 0xc], edx
je 0x1400512ac
inc ecx
add rax, 0x14
cmp ecx, r8d
jl 0x140051230
movzx eax, r9b
mov dword [r14 + rax*4 + 0x18c], edx
inc byte [r14 + 0x1f]
mov rcx, qword [rsp + 0x58]
inc r12d
mov rax, qword [rsp + 0x50]
add rcx, 0x28
mov qword [rsp + 0x58], rcx
cmp r12d, dword [rax]
jl 0x140050f50
mov edi, dword [rsp + 0xe0]
test esi, esi
je 0x140051330
mov rax, qword [rbx + 0x18]
movsxd rcx, dword [rbx + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x1400512b2
mov r9d, dword [rsp + 0xe8]
mov r8d, esi
mov edx, 0x22
mov dword [rsp + 0x20], ebp
mov rcx, rbx
call fcn.140036ff0
jmp 0x1400512e2
mov byte [rax + 6], 1
jmp 0x140051250
mov edx, dword [rsp + 0xe8]
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x22
mov dword [rax + rcx*8 + 4], esi
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rbx + 0x18]
movsxd rcx, dword [rbx + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14005130a
xor r8d, r8d
mov dword [rsp + 0x20], ebp
mov r9d, edi
mov rcx, rbx
lea edx, [r8 + 0xd]
call fcn.140036ff0
jmp 0x140051330
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov qword [rax + rcx*8], 0xd
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rbx + 0x18]
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x14005134c
mov eax, dword [rbx + 0xb8]
not r13d
movsxd rcx, r13d
mov dword [rdx + rcx*4], eax
test esi, esi
je 0x140051cb0
movzx r8d, byte [r14 + 0x1f]
cmp r8b, 8
jae 0x140051cb0
movzx edx, byte [r14 + 0x25]
lea rax, [r14 + 0xc4]
mov ecx, ebp
test edx, edx
je 0x140051384
cmp dword [rax + 0xc], esi
je 0x140051399
inc ecx
add rax, 0x14
cmp ecx, edx
jl 0x140051375
movzx eax, r8b
mov dword [r14 + rax*4 + 0x18c], esi
inc byte [r14 + 0x1f]
jmp 0x140051cb0
mov byte [rax + 6], 1
jmp 0x140051cb0
mov eax, dword [rsp + 0xe0]
cmp dword [rsp + 0xe8], eax
jne 0x1400513b7
mov r12d, eax
jmp 0x140051408
mov rdi, qword [rbx + 0x18]
movsxd r13, dword [rdi + 0x54]
lea eax, [r13 + 1]
mov dword [rdi + 0x54], eax
lea eax, [r13 - 1]
test r13d, eax
jne 0x1400513ee
mov rdx, qword [rdi + 0x58]
lea eax, [r13*2 + 1]
mov rcx, qword [rdi]
movsxd r8, eax
shl r8, 2
call fcn.1400159c0
mov qword [rdi + 0x58], rax
mov rcx, qword [rdi + 0x58]
test rcx, rcx
je 0x140051402
mov rax, r13
mov dword [rcx + r13*4], 0xffffffff
not r13d
mov r12d, r13d
test rsi, rsi
jle 0x140051557
mov esi, dword [rsp + 0x40]
mov rdi, rbp
mov r15, qword [rsp + 0x50]
mov r14, qword [rsp + 0xd8]
nop word [rax + rax]
mov rcx, qword [r14 + 0x10]
movzx r8d, byte [rcx]
movzx eax, r8b
cmp r8b, 0x9d
jne 0x140051446
movzx eax, byte [rcx + 0x36]
cmp al, 0x9e
jne 0x140051453
mov rax, qword [rcx + 0x20]
mov rdx, rax
jmp 0x14005145e
cmp al, 0x77
jne 0x140051484
mov rax, qword [rcx + 0x20]
mov rdx, qword [rax]
cmp dword [rdx], 1
jle 0x140051484
cmp r8b, 0x77
je 0x140051479
cmp byte [rcx + 0x36], 0x77
je 0x140051479
mov rax, qword [rax + 8]
mov rcx, qword [rdi + rax]
jmp 0x140051484
mov rax, qword [rax]
mov rcx, qword [rax + 8]
mov rcx, qword [rdi + rcx]
movzx edx, byte [rcx]
lea eax, [rdx + 0x65]
cmp al, 1
ja 0x140051494
mov rcx, qword [rcx + 0x10]
jmp 0x140051484
cmp dl, 0x9d
jne 0x14005149d
movzx edx, byte [rcx + 0x36]
cmp dl, 0x61
je 0x140051535
cmp dl, 0x83
jbe 0x1400514e2
cmp dl, 0x86
jbe 0x140051535
cmp dl, 0x98
jne 0x1400514e2
test dword [rcx + 4], 0x100000
jne 0x1400514e2
movzx eax, word [rcx + 0x30]
test ax, ax
js 0x140051535
movsx rdx, ax
mov rax, qword [rcx + 0x40]
shl rdx, 5
mov rcx, qword [rax + 8]
cmp byte [rdx + rcx + 0x18], bpl
jne 0x140051535
mov rax, qword [rbx + 0x18]
movsxd rcx, dword [rbx + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14005150b
mov r9d, r12d
mov dword [rsp + 0x20], ebp
mov r8d, esi
mov edx, 0x22
mov rcx, rbx
call fcn.140036ff0
jmp 0x140051535
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x22
mov dword [rax + rcx*8 + 4], esi
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
inc esi
add rdi, 0x28
sub r15, 1
jne 0x140051430
mov r14, qword [rsp + 0xd0]
mov r15d, dword [rsp + 0x44]
mov rsi, qword [rsp + 0x50]
cmp r15d, 1
jne 0x14005163b
mov rax, qword [rbx + 0x18]
mov rdi, qword [rsp + 0xd8]
movsxd rcx, dword [rbx + 0xb8]
mov edx, dword [rdi + 0x2c]
cmp dword [rax + 0x3c], ecx
jg 0x1400515a0
mov r15d, dword [rsp + 0x40]
mov r8d, edx
mov r9d, dword [rsp + 0xe0]
mov edx, 0x20
mov rcx, rbx
mov dword [rsp + 0x20], r15d
call fcn.140036ff0
jmp 0x1400515d6
mov r8d, dword [rsp + 0xe0]
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x40]
mov dword [rax + rcx*8 + 0xc], edx
mov dword [rax + rcx*8], 0x20
mov dword [rax + rcx*8 + 8], r8d
mov qword [rax + rcx*8 + 0x10], rbp
movsxd rdx, dword [rbx + 0xb8]
mov rax, qword [rbx + 0x18]
mov dword [rsp + 0x44], edx
cmp dword [rax + 0x3c], edx
jg 0x14005160e
xor r9d, r9d
mov dword [rsp + 0x20], ebp
xor r8d, r8d
mov rcx, rbx
lea edx, [r9 + 0xd]
call fcn.140036ff0
mov r12d, dword [rsp + 0x48]
mov dword [rsp + 0x44], eax
jmp 0x14005177b
mov r12d, dword [rsp + 0x48]
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rbx + 0xb8], eax
mov rax, qword [rbx + 0x68]
mov qword [rax + rcx*8], 0xd
mov qword [rax + rcx*8 + 8], rbp
mov qword [rax + rcx*8 + 0x10], rbp
jmp 0x14005177b
mov r12d, dword [rsp + 0x48]
mov edx, 0x63
mov rax, qword [rsp + 0x70]
mov r9d, r12d
mov r15d, dword [rsp + 0x40]
mov rcx, rbx
mov dword [rsp + 0x30], r12d
mov r8d, r15d
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ebp
call fcn.1400374e0
mov rax, qword [rbx + 0x18]
mov rdi, qword [rsp + 0xd8]
movsxd r8, dword [rbx + 0xb8]
mov r9d, dword [rsp + 0xe0]
mov ecx, dword [rax + 0x3c]
mov edx, dword [rdi + 0x2c]
mov dword [rsp + 0x44], r8d
cmp r9d, dword [rsp + 0xe8]
jne 0x14005170d
cmp ecx, r8d
jg 0x1400516ba
mov r8d, edx
mov dword [rsp + 0x20], r15d
mov edx, 0x1e
mov rcx, rbx
call fcn.140036ff0
mov r8d, eax
jmp 0x1400516e6
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
mov dword [rbx + 0xb8], eax
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x1e
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rbx]
cmp byte [rax + 0x55], bpl
jne 0x140051cb0
movsxd rax, r8d
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x68]
mov byte [rax + rcx*8 + 1], 0xf5
mov dword [rax + rcx*8 + 0x10], r12d
jmp 0x140051cb0
cmp ecx, r8d
jg 0x140051732
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, edx
mov rcx, rbx
lea edx, [r9 + 0x1f]
call fcn.140036ff0
mov r8d, eax
mov dword [rsp + 0x44], eax
jmp 0x14005175d
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
mov dword [rbx + 0xb8], eax
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x1f
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rbx]
cmp byte [rax + 0x55], bpl
jne 0x14005177b
movsxd rax, r8d
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x68]
mov byte [rax + rcx*8 + 1], 0xf5
mov dword [rax + rcx*8 + 0x10], r12d
mov edx, dword [rsp + 0x68]
test edx, edx
je 0x1400517b5
cmp r12d, 1
jne 0x1400517b5
mov rax, qword [rbx + 0x18]
movsxd rcx, dword [rbx + 0xb8]
mov r9d, dword [rsp + 0xe0]
cmp dword [rax + 0x3c], ecx
jg 0x1400517f8
mov r8d, edx
mov dword [rsp + 0x20], ebp
lea edx, [r12 + 0x22]
mov rcx, rbx
call fcn.140036ff0
mov r9d, dword [rsp + 0xe0]
cmp r9d, dword [rsp + 0xe8]
jne 0x14005184b
mov rax, qword [rbx + 0x18]
movsxd rcx, dword [rbx + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x140051824
xor r8d, r8d
mov dword [rsp + 0x20], ebp
mov rcx, rbx
lea edx, [r8 + 0xd]
call fcn.140036ff0
mov r9d, dword [rsp + 0xe0]
jmp 0x14005184b
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x23
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
jmp 0x1400517bd
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov qword [rax + rcx*8], 0xd
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
test r13d, r13d
je 0x14005186c
mov rax, qword [rbx + 0x18]
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x14005186c
mov eax, dword [rbx + 0xb8]
not r13d
movsxd rcx, r13d
mov dword [rdx + rcx*4], eax
movsxd r8, dword [rbx + 0xb8]
mov rax, qword [rbx + 0x18]
mov edx, dword [rdi + 0x2c]
mov dword [rsp + 0x58], r8d
cmp dword [rax + 0x3c], r8d
jg 0x1400518a7
mov r8d, edx
mov dword [rsp + 0x20], ebp
mov edx, 0x3a
mov rcx, rbx
call fcn.140036ff0
mov r9d, dword [rsp + 0xe0]
mov dword [rsp + 0x58], eax
jmp 0x1400518d2
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
mov dword [rbx + 0xb8], eax
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x3a
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
cmp r12d, 1
jle 0x140051928
mov rdi, qword [rbx + 0x18]
movsxd r13, dword [rdi + 0x54]
lea eax, [r13 + 1]
mov dword [rdi + 0x54], eax
lea eax, [r13 - 1]
test r13d, eax
jne 0x14005190f
mov rdx, qword [rdi + 0x58]
lea eax, [r13*2 + 1]
mov rcx, qword [rdi]
movsxd r8, eax
shl r8, 2
call fcn.1400159c0
mov qword [rdi + 0x58], rax
mov rcx, qword [rdi + 0x58]
test rcx, rcx
je 0x140051923
mov rax, r13
mov dword [rcx + r13*4], 0xffffffff
not r13d
jmp 0x14005192b
mov r13d, r9d
mov r15d, ebp
test rsi, rsi
jle 0x140051b37
mov r12, rbp
nop word [rax + rax]
movzx eax, byte [r14 + 0x1f]
test al, al
jne 0x140051953
inc dword [r14 + 0x38]
mov esi, dword [r14 + 0x38]
jmp 0x140051964
dec al
movzx eax, al
mov byte [r14 + 0x1f], al
mov esi, dword [r14 + rax*4 + 0x18c]
mov r8, qword [rsp + 0x78]
movzx edx, byte [r8]
movzx eax, dl
cmp dl, 0x9d
jne 0x14005197a
movzx eax, byte [r8 + 0x36]
cmp al, 0x9e
jne 0x140051987
mov rax, qword [r8 + 0x20]
mov rcx, rax
jmp 0x140051992
cmp al, 0x77
jne 0x1400519ba
mov rax, qword [r8 + 0x20]
mov rcx, qword [rax]
cmp dword [rcx], 1
jle 0x1400519ba
cmp dl, 0x77
je 0x1400519ad
cmp byte [r8 + 0x36], 0x77
je 0x1400519ad
mov rax, qword [rax + 8]
mov rdx, qword [r12 + rax]
jmp 0x1400519bd
mov rax, qword [rax]
mov rcx, qword [rax + 8]
mov rdx, qword [r12 + rcx]
jmp 0x1400519bd
mov rdx, r8
mov rcx, r14
call fcn.14004c610
mov rcx, qword [rbx + 0x18]
mov rdi, rax
mov rax, qword [rsp + 0xd8]
movsxd rdx, dword [rbx + 0xb8]
mov r8d, dword [rax + 0x2c]
cmp dword [rcx + 0x3c], edx
jg 0x1400519fa
mov r9d, r15d
mov dword [rsp + 0x20], esi
mov edx, 0x62
mov rcx, rbx
call fcn.140036ff0
jmp 0x140051a25
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rbx + 0xb8], eax
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x62
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rbx + 0x18]
mov r8d, dword [rsp + 0x40]
movsxd rdx, dword [rbx + 0xb8]
add r8d, r15d
cmp dword [rax + 0x3c], edx
jg 0x140051a55
mov r9d, r13d
mov dword [rsp + 0x20], esi
mov edx, 0x24
mov rcx, rbx
call fcn.140036ff0
mov edx, eax
jmp 0x140051a80
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rbx + 0xb8], eax
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 0x24
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rbp
mov rcx, qword [rbx]
cmp byte [rcx + 0x55], bpl
je 0x140051a98
mov r8, rdi
mov edx, 0xfffffffd
call fcn.140037e90
jmp 0x140051ada
test edx, edx
jns 0x140051aa4
mov edx, dword [rbx + 0xb8]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x68]
cmp byte [rax + rcx*8 + 1], bpl
lea rdx, [rax + rcx*8]
je 0x140051acd
mov r9d, 0xfffffffd
mov r8, rdi
mov rcx, rbx
call fcn.1400380f0
jmp 0x140051ada
test rdi, rdi
je 0x140051ada
mov qword [rdx + 0x10], rdi
mov byte [rdx + 1], 0xfd
test esi, esi
je 0x140051b1f
movzx r8d, byte [r14 + 0x1f]
cmp r8b, 8
jae 0x140051b1f
movzx edx, byte [r14 + 0x25]
lea rax, [r14 + 0xc4]
mov ecx, ebp
test edx, edx
je 0x140051b0f
nop dword [rax + rax]
cmp dword [rax + 0xc], esi
je 0x140051b64
inc ecx
add rax, 0x14
cmp ecx, edx
jl 0x140051b00
movzx eax, r8b
mov dword [r14 + rax*4 + 0x18c], esi
inc byte [r14 + 0x1f]
inc r15d
add r12, 0x28
sub qword [rsp + 0x50], 1
jne 0x140051940
mov r12d, dword [rsp + 0x48]
mov rax, qword [rbx + 0x18]
movsxd rcx, dword [rbx + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x140051b6a
mov r9d, dword [rsp + 0xe8]
xor r8d, r8d
mov rcx, rbx
mov dword [rsp + 0x20], ebp
lea edx, [r8 + 0xd]
call fcn.140036ff0
jmp 0x140051b97
mov byte [rax + 6], 1
jmp 0x140051b1f
mov edx, dword [rsp + 0xe8]
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov qword [rax + rcx*8], 0xd
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
cmp r12d, 1
jle 0x140051c7b
mov rax, qword [rbx + 0x18]
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x140051bc1
mov eax, dword [rbx + 0xb8]
not r13d
movsxd rcx, r13d
mov dword [rdx + rcx*4], eax
mov rax, qword [rbx + 0x18]
mov rcx, qword [rsp + 0xd8]
mov edx, dword [rsp + 0x58]
inc edx
mov r8d, dword [rcx + 0x2c]
movsxd rcx, dword [rbx + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x140051bf5
mov r9d, edx
mov dword [rsp + 0x20], ebp
mov edx, 7
mov rcx, rbx
call fcn.140036ff0
jmp 0x140051c1f
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov dword [rax + rcx*8], 7
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rbx + 0x18]
movsxd rcx, dword [rbx + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x140051c4c
mov r9d, dword [rsp + 0xe0]
xor r8d, r8d
mov rcx, rbx
mov dword [rsp + 0x20], ebp
lea edx, [r8 + 0xd]
call fcn.140036ff0
jmp 0x140051c7b
mov r8d, dword [rsp + 0xe0]
lea eax, [rcx + 1]
mov dword [rbx + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x68]
mov qword [rax + rcx*8], 0xd
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rbx]
mov edx, dword [rbx + 0xb8]
cmp byte [rax + 0x55], bpl
je 0x140051c93
lea rax, [0x1400fbd48]
jmp 0x140051cad
mov ecx, dword [rsp + 0x44]
lea eax, [rdx - 1]
test ecx, ecx
cmovns eax, ecx
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x68]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov r8d, dword [rsp + 0x40]
cmp r8d, dword [rsp + 0x6c]
je 0x140051cff
test r8d, r8d
je 0x140051cff
movzx edx, byte [r14 + 0x1f]
cmp dl, 8
jae 0x140051cff
movzx ecx, byte [r14 + 0x25]
lea rax, [r14 + 0xc4]
test ecx, ecx
je 0x140051cf0
nop dword [rax + rax]
cmp dword [rax + 0xc], r8d
je 0x140051d42
inc ebp
add rax, 0x14
cmp ebp, ecx
jl 0x140051ce0
movzx eax, dl
mov dword [r14 + rax*4 + 0x18c], r8d
inc byte [r14 + 0x1f]
mov rcx, r14
call fcn.140052380
mov rcx, qword [r14]
mov rdx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x98]
test rdx, rdx
je 0x140051d7b
test rcx, rcx
je 0x140051d73
cmp qword [rcx + 0x298], 0
je 0x140051d48
call fcn.140015440
jmp 0x140051d7b
mov byte [rax + 6], 1
jmp 0x140051cff
cmp rdx, qword [rcx + 0x180]
jb 0x140051d73
cmp rdx, qword [rcx + 0x188]
jae 0x140051d73
mov rax, qword [rcx + 0x178]
mov qword [rdx], rax
dec dword [rcx + 0x160]
mov qword [rcx + 0x178], rdx
jmp 0x140051d7b
mov rcx, rdx
call fcn.1400153d0
mov rdx, qword [rsp + 0x70]
mov rcx, qword [r14]
test rdx, rdx
je 0x140051def
test rcx, rcx
je 0x140051de7
cmp qword [rcx + 0x298], 0
je 0x140051dad
call fcn.140015440
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
cmp rdx, qword [rcx + 0x180]
jb 0x140051de7
cmp rdx, qword [rcx + 0x188]
jae 0x140051de7
mov rax, qword [rcx + 0x178]
mov qword [rdx], rax
dec dword [rcx + 0x160]
mov qword [rcx + 0x178], rdx
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov rcx, rdx
call fcn.1400153d0
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rbp
ret