Function at 0x1400508e0
Capabilities:
Inspect section memory permissions

Disassembly:
movzx eax, word [r8]
cmp ax, 8
je 0x14004dfcb
cmp ax, 0x10
je 0x14004dfc6
cmp ax, 0x20
je 0x14004dfc1
cmp ax, 0x40
je 0x14004dfbc
mov r10, qword [rcx]
test al, 0x70
je 0x14004dfb5
mov r9, r8
mov r8, rdx
mov edx, 4
jmp qword [r10 + 0x1a0]
jmp qword [r10 + 0x190]
jmp 0x14004fe00
jmp 0x140051320
jmp 0x1400508e0
jmp 0x14004ec10
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r15
mov rbp, rsp
sub rsp, 0x40
xor r13d, r13d
mov r15, rdx
cmp byte [rdx + 2], 1
mov r12, r8
mov rsi, rcx
cmovne rdx, r13
movzx eax, word [r15]
add eax, 0xfffffffe
cmp eax, 0x7e
ja case.0x14004ec63.3
lea r8, [0x140000000]
cdqe
movzx eax, byte [r8 + rax + 0x4f238]
mov ecx, dword [r8 + rax*4 + 0x4f224]
add rcx, r8
jmp rcx
mov r8, r12
mov rdx, r15
mov rcx, rsi
call fcn.14004d840
add rsp, 0x40
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
test rdx, rdx
je 0x14004eca0
mov edi, dword [rdx + 4]
mov eax, edi
and eax, 0xe0000000
cmp eax, 0x40000000
jne 0x14004eca0
and edi, 0xfffffff
jmp 0x14004ecb4
mov rcx, qword [rsi + 0x68]
mov r8d, 1
mov rdx, r15
call fcn.140064c80
mov edi, eax
mov rbx, qword [rsi + 0x68]
mov edx, dword [rbx + 0x24]
mov ecx, dword [rbx + 0x20]
lea eax, [rdx + 1]
cmp eax, ecx
jle 0x14004eceb
mov eax, ecx
mov r8, rbx
cdq
sub eax, edx
sar eax, 1
add ecx, eax
mov dword [rbx + 0x20], ecx
movsxd rdx, ecx
mov rcx, rbx
call fcn.14003c9a0
mov rcx, qword [rbx]
mov edx, dword [rbx + 0x24]
mov qword [rbx + 0x18], rcx
jmp 0x14004ecef
mov rcx, qword [rbx + 0x18]
movsxd rax, edx
mov byte [rax + rcx], 0x66
mov ecx, dword [rbx + 0x24]
inc ecx
mov dword [rbx + 0x24], ecx
mov r8d, dword [rbx + 0x20]
lea eax, [rcx + 0x10]
cmp eax, r8d
jle 0x14004ed33
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
lea ecx, [rax + r8]
mov r8, rbx
mov dword [rbx + 0x20], ecx
movsxd rdx, ecx
mov rcx, rbx
call fcn.14003c9a0
mov rdx, qword [rbx]
mov qword [rbx + 0x18], rdx
mov ecx, dword [rbx + 0x24]
jmp 0x14004ed37
mov rdx, qword [rbx + 0x18]
movsxd rax, ecx
mov r8d, edi
mov byte [rax + rdx], 0xf
xor edx, edx
movsxd rcx, dword [rbx + 0x24]
lea eax, [rcx + 1]
mov dword [rbx + 0x24], eax
mov rax, qword [rbx + 0x18]
mov byte [rcx + rax + 1], 0x57
movsxd rcx, dword [rbx + 0x24]
lea eax, [rcx + 1]
mov dword [rbx + 0x24], eax
mov rax, qword [rbx + 0x18]
mov byte [rcx + rax + 1], 0xc0
mov rcx, rbx
inc dword [rbx + 0x24]
call fcn.140065ff0
mov edx, 0x85
mov rcx, rbx
call fcn.140065dd0
movsxd rcx, dword [rbx + 0x24]
mov r8, r12
mov rax, qword [rbx + 0x18]
xor edx, edx
mov dword [rcx + rax], r13d
add dword [rbx + 0x24], 4
mov eax, dword [rbx + 0x24]
mov rcx, qword [rsi + 0x68]
mov dword [rbp + 0x48], eax
call fcn.1400619c0
mov rcx, qword [rsi + 0x68]
lea rdx, [rbp + 0x58]
call fcn.140059710
mov rdx, qword [rsi + 0x68]
lea rcx, [rbp + 0x48]
call fcn.140059bb0
mov rcx, qword [rsi + 0x68]
mov r8, r12
mov dl, 1
call fcn.1400619c0
mov rdx, qword [rsi + 0x68]
lea rcx, [rbp + 0x58]
call fcn.140059bb0
add rsp, 0x40
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rcx, qword [rsi + 0x68]
mov r8, r12
xor edx, edx
call fcn.1400619c0
add rsp, 0x40
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rcx, qword [rsi + 0x68]
lea r9, str.Runtime::toBoolean
mov dword [rbp + 0x48], 0xe
xor r8d, r8d
mov dword [rbp + 0x4c], 0x2a8
mov dl, 1
mov rax, qword [rbp + 0x48]
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rax
call fcn.140040ed0
mov rcx, qword [rsi + 0x68]
mov r8, r12
xor edx, edx
call fcn.1400618b0
mov rcx, qword [rsi + 0x68]
lea rdx, [rbp - 8]
mov r9, r15
mov qword [rsp + 0x80], r14
mov r8d, 0xa
call fcn.140091620
mov rax, qword [rbp - 8]
mov rbx, qword [rsi + 0x68]
mov qword [rbp + 0x48], rax
mov edi, dword [rbp + 0x48]
shr rax, 0x20
mov r8d, dword [rbx + 0x24]
add eax, 4
mov ecx, dword [rbx + 0x20]
mov dword [rbp + 0x4c], eax
mov r14, qword [rbp + 0x48]
shr r14, 0x20
lea eax, [r8 + 0x10]
cmp eax, ecx
jle 0x14004eeba
mov eax, ecx
mov r8, rbx
cdq
sub eax, edx
sar eax, 1
add ecx, eax
mov dword [rbx + 0x20], ecx
movsxd rdx, ecx
mov rcx, rbx
call fcn.14003c9a0
mov rcx, qword [rbx]
mov qword [rbx + 0x18], rcx
mov r8d, dword [rbx + 0x24]
jmp 0x14004eebe
mov rcx, qword [rbx + 0x18]
mov r9, rcx
cmp edi, 8
jl 0x14004eedf
movsxd rax, r8d
mov edx, edi
sar edx, 3
or dl, 0x40
mov byte [rax + rcx], dl
inc dword [rbx + 0x24]
mov r8d, dword [rbx + 0x24]
mov rcx, qword [rbx + 0x18]
movsxd rax, r8d
mov r9d, r14d
mov r8d, edi
xor edx, edx
mov byte [rax + rcx], 0x8b
mov rcx, rbx
inc dword [rbx + 0x24]
call fcn.14005bad0
mov rbx, qword [rsi + 0x68]
mov edx, dword [rbx + 0x24]
mov ecx, dword [rbx + 0x20]
lea eax, [rdx + 0x10]
cmp eax, ecx
jle 0x14004ef30
mov eax, ecx
mov r8, rbx
cdq
sub eax, edx
sar eax, 1
add ecx, eax
mov dword [rbx + 0x20], ecx
movsxd rdx, ecx
mov rcx, rbx
call fcn.14003c9a0
mov rcx, qword [rbx]
mov qword [rbx + 0x18], rcx
mov edx, dword [rbx + 0x24]
jmp 0x14004ef34
mov rcx, qword [rbx + 0x18]
movsxd rax, edx
mov edx, 0x85
mov byte [rax + rcx], 0x81
movsxd rcx, dword [rbx + 0x24]
lea eax, [rcx + 1]
mov dword [rbx + 0x24], eax
mov rax, qword [rbx + 0x18]
mov byte [rcx + rax + 1], 0xf8
movsxd rcx, dword [rbx + 0x24]
lea eax, [rcx + 1]
mov dword [rbx + 0x24], eax
mov rax, qword [rbx + 0x18]
mov dword [rcx + rax + 1], 0x34000
mov rcx, rbx
add dword [rbx + 0x24], 4
call fcn.140065dd0
movsxd rcx, dword [rbx + 0x24]
mov rax, qword [rbx + 0x18]
mov dword [rcx + rax], r13d
add dword [rbx + 0x24], 4
mov r14, qword [rsi + 0x68]
mov edi, dword [rbx + 0x24]
mov rbx, qword [rbp - 8]
mov r13, rbx
mov r8d, dword [r14 + 0x24]
mov ecx, dword [r14 + 0x20]
shr r13, 0x20
lea eax, [r8 + 0x10]
cmp eax, ecx
jle 0x14004efcf
mov eax, ecx
mov r8, r14
cdq
sub eax, edx
sar eax, 1
add ecx, eax
mov dword [r14 + 0x20], ecx
movsxd rdx, ecx
mov rcx, r14
call fcn.14003c9a0
mov rcx, qword [r14]
mov qword [r14 + 0x18], rcx
mov r8d, dword [r14 + 0x24]
jmp 0x14004efd3
mov rcx, qword [r14 + 0x18]
mov r9, rcx
cmp ebx, 8
jl 0x14004eff5
movsxd rax, r8d
mov edx, ebx
sar edx, 3
or dl, 0x40
mov byte [rax + rcx], dl
inc dword [r14 + 0x24]
mov r8d, dword [r14 + 0x24]
mov rcx, qword [r14 + 0x18]
movsxd rax, r8d
mov r9d, r13d
mov r8d, ebx
xor edx, edx
mov byte [rax + rcx], 0x8b
mov rcx, r14
inc dword [r14 + 0x24]
call fcn.14005bad0
mov rbx, qword [rsi + 0x68]
mov edx, dword [rbx + 0x24]
mov ecx, dword [rbx + 0x20]
lea eax, [rdx + 0x10]
cmp eax, ecx
jle 0x14004f047
mov eax, ecx
mov r8, rbx
cdq
sub eax, edx
sar eax, 1
add ecx, eax
mov dword [rbx + 0x20], ecx
movsxd rdx, ecx
mov rcx, rbx
call fcn.14003c9a0
mov rcx, qword [rbx]
mov qword [rbx + 0x18], rcx
mov edx, dword [rbx + 0x24]
jmp 0x14004f04b
mov rcx, qword [rbx + 0x18]
movsxd rax, edx
xor r14d, r14d
mov byte [rax + rcx], 0xe9
movsxd rcx, dword [rbx + 0x24]
lea eax, [rcx + 1]
mov dword [rbx + 0x24], eax
mov rax, qword [rbx + 0x18]
mov dword [rcx + rax + 1], r14d
add dword [rbx + 0x24], 4
mov eax, dword [rbx + 0x24]
mov rbx, qword [rsi + 0x68]
mov dword [rbp - 0xc], eax
mov edx, dword [rbx + 0x24]
cmp edx, dword [rbx + 0x2c]
jge 0x14004f0ca
nop
mov ecx, dword [rbx + 0x20]
lea eax, [rdx + 0x10]
cmp eax, ecx
jle 0x14004f0b4
mov eax, ecx
test ecx, ecx
jns 0x14004f093
lea eax, [rcx + 1]
sar eax, 1
mov r8, rbx
add eax, ecx
mov rcx, rbx
movsxd rdx, eax
mov dword [rbx + 0x20], eax
call fcn.14003c9a0
mov rcx, qword [rbx]
mov qword [rbx + 0x18], rcx
mov edx, dword [rbx + 0x24]
jmp 0x14004f0b8
mov rcx, qword [rbx + 0x18]
movsxd rax, edx
mov byte [rax + rcx], 0x90
inc dword [rbx + 0x24]
mov edx, dword [rbx + 0x24]
cmp edx, dword [rbx + 0x2c]
jl 0x14004f080
mov rax, qword [rbx + 0x18]
xor r8d, r8d
lea rcx, [rax + rdi]
sub edx, ecx
add edx, eax
mov dword [rcx - 4], edx
mov edx, 0x32000
mov rbx, qword [rsi + 0x68]
mov rcx, rbx
call fcn.14004c390
mov edx, 0x85
mov rcx, rbx
call fcn.140065dd0
movsxd rcx, dword [rbx + 0x24]
xor r8d, r8d
mov rax, qword [rbx + 0x18]
mov edx, 0x8b
mov dword [rcx + rax], r14d
add dword [rbx + 0x24], 4
mov eax, dword [rbx + 0x24]
mov dword [rbp + 0x48], eax
mov rax, qword [rbp - 8]
mov rcx, rax
mov dword [rbp + 0x58], eax
shr rcx, 0x20
mov r9d, eax
mov dword [rbp + 0x5c], ecx
mov rcx, qword [rbp + 0x58]
shr rcx, 0x20
mov dword [rsp + 0x20], ecx
mov rcx, qword [rsi + 0x68]
call fcn.14005cc10
mov rbx, qword [rsi + 0x68]
xor r9d, r9d
mov rcx, rbx
xor r8d, r8d
mov edx, 0x85
call fcn.14005cb50
mov edx, 0x84
mov rcx, rbx
call fcn.140065dd0
movsxd rcx, dword [rbx + 0x24]
xor r8d, r8d
mov rax, qword [rbx + 0x18]
lea edx, [r8 + 1]
mov dword [rcx + rax], r14d
add dword [rbx + 0x24], 4
mov eax, dword [rbx + 0x24]
mov rcx, qword [rsi + 0x68]
mov dword [rbp + 0x58], eax
call fcn.14005c3a0
mov rcx, qword [rsi + 0x68]
lea rdx, [rbp - 0x10]
call fcn.140059710
mov rdx, qword [rsi + 0x68]
lea rcx, [rbp + 0x48]
call fcn.140059bb0
mov rcx, qword [rsi + 0x68]
lea r9, str.Runtime::toBoolean
mov dword [rbp + 0x48], 0xe
xor r8d, r8d
mov dword [rbp + 0x4c], 0x2a8
mov dl, 1
mov rax, qword [rbp + 0x48]
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rax
call fcn.140040ed0
mov rdx, qword [rsi + 0x68]
lea rcx, [rbp + 0x58]
call fcn.140059bb0
mov rdx, qword [rsi + 0x68]
lea rcx, [rbp - 0x10]
call fcn.140059bb0
mov rdx, qword [rsi + 0x68]
lea rcx, [rbp - 0xc]
call fcn.140059bb0
mov rcx, qword [rsi + 0x68]
mov r8, r12
xor edx, edx
call fcn.1400618b0
mov r14, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov rsi, rcx
mov r14, r8
movzx ecx, word [rdx]
mov r15, rdx
cmp ecx, 0x10
ja 0x14004fe80
je 0x14004fe3b
cmp ecx, 2
je 0x14004fe48
lea eax, [rcx - 4]
test eax, 0xfffffffb
jne 0x14004fe96
mov rcx, rsi
call fcn.14004dd10
jmp 0x1400503fd
mov rcx, qword [rsi + 0x68]
lea rdx, [rbp + 0x38]
mov r9, r15
mov r8d, 0xa
call fcn.140091620
mov rcx, qword [rsi + 0x68]
xor r8d, r8d
mov rdx, qword [rax]
call fcn.14005aaa0
mov rcx, qword [rsi + 0x68]
mov r8, r14
xor edx, edx
call fcn.140061cc0
jmp 0x1400503fd
sub ecx, 0x20
je 0x140050328
sub ecx, 0x60
je 0x14004fec3
cmp ecx, 0x180
je 0x14004fec3
test byte [r8], 0x70
mov rcx, rsi
mov rax, qword [rsi]
je 0x14004feb8
mov r9, r14
mov r8, r15
mov edx, 4
call qword [rax + 0x1a0]
jmp 0x1400503fd
call qword [rax + 0x190]
jmp 0x1400503fd
mov rcx, qword [rsi + 0x68]
lea rdx, [rbp - 0x18]
mov r9, r15
mov r8d, 0xa
call fcn.140091620
add dword [rbp - 0x14], 4
mov rbx, qword [rsi + 0x68]
mov rdi, qword [rbp - 0x18]
mov r12d, dword [rbp - 0x18]
shr rdi, 0x20
mov r8d, dword [rbx + 0x24]
mov ecx, dword [rbx + 0x20]
lea eax, [r8 + 0x10]
cmp eax, ecx
jle 0x14004ff23
mov eax, ecx
mov r8, rbx
cdq
sub eax, edx
sar eax, 1
add ecx, eax
mov dword [rbx + 0x20], ecx
movsxd rdx, ecx
mov rcx, rbx
call fcn.14003c9a0
mov rcx, qword [rbx]
mov qword [rbx + 0x18], rcx
mov r8d, dword [rbx + 0x24]
jmp 0x14004ff27
mov rcx, qword [rbx + 0x18]
movsxd rax, r8d
mov edx, r12d
sar edx, 3
mov r9d, edi
or dl, 0x44
mov r8d, r12d
mov byte [rax + rcx], dl
mov rcx, rbx
movsxd rdx, dword [rbx + 0x24]
lea eax, [rdx + 1]
mov dword [rbx + 0x24], eax
mov rax, qword [rbx + 0x18]
mov byte [rax + rdx + 1], 0x8b
mov edx, 0xa
inc dword [rbx + 0x24]
call fcn.14005bad0
mov rbx, qword [rsi + 0x68]
mov edx, dword [rbx + 0x24]
mov ecx, dword [rbx + 0x20]
lea eax, [rdx + 0x10]
cmp eax, ecx
jle 0x14004ff96
mov eax, ecx
mov r8, rbx
cdq
sub eax, edx
sar eax, 1
add ecx, eax
mov dword [rbx + 0x20], ecx
movsxd rdx, ecx
mov rcx, rbx
call fcn.14003c9a0
mov rcx, qword [rbx]
mov qword [rbx + 0x18], rcx
mov edx, dword [rbx + 0x24]
jmp 0x14004ff9a
mov rcx, qword [rbx + 0x18]
movsxd rax, edx
mov edx, 0x85
mov byte [rax + rcx], 0x41
movsxd rcx, dword [rbx + 0x24]
lea eax, [rcx + 1]
mov dword [rbx + 0x24], eax
mov rax, qword [rbx + 0x18]
mov byte [rax + rcx + 1], 0x81
movsxd rcx, dword [rbx + 0x24]
lea eax, [rcx + 1]
mov dword [rbx + 0x24], eax
mov rax, qword [rbx + 0x18]
mov byte [rcx + rax + 1], 0xfa
movsxd rcx, dword [rbx + 0x24]
lea eax, [rcx + 1]
mov dword [rbx + 0x24], eax
mov rax, qword [rbx + 0x18]
mov dword [rcx + rax + 1], 0x32000
mov rcx, rbx
add dword [rbx + 0x24], 4
call fcn.140065dd0
movsxd rcx, dword [rbx + 0x24]
xor r12d, r12d
mov rax, qword [rbx + 0x18]
mov r8, r14
mov rdx, r15
mov dword [rcx + rax], r12d
mov rcx, rsi
add dword [rbx + 0x24], 4
mov ebx, dword [rbx + 0x24]
call fcn.14004dd10
mov rdi, qword [rsi + 0x68]
mov edx, dword [rdi + 0x24]
mov ecx, dword [rdi + 0x20]
lea eax, [rdx + 0x10]
cmp eax, ecx
jle 0x140050049
mov eax, ecx
mov r8, rdi
cdq
sub eax, edx
sar eax, 1
add ecx, eax
mov dword [rdi + 0x20], ecx
movsxd rdx, ecx
mov rcx, rdi
call fcn.14003c9a0
mov rcx, qword [rdi]
mov qword [rdi + 0x18], rcx
mov edx, dword [rdi + 0x24]
jmp 0x14005004d
mov rcx, qword [rdi + 0x18]
movsxd rax, edx
mov byte [rax + rcx], 0xe9
movsxd rcx, dword [rdi + 0x24]
lea eax, [rcx + 1]
mov dword [rdi + 0x24], eax
mov rax, qword [rdi + 0x18]
mov dword [rcx + rax + 1], r12d
add dword [rdi + 0x24], 4
mov eax, dword [rdi + 0x24]
mov rdi, qword [rsi + 0x68]
mov dword [rbp - 0x20], eax
mov edx, dword [rdi + 0x24]
cmp edx, dword [rdi + 0x2c]
jge 0x1400500ca
nop dword [rax]
mov ecx, dword [rdi + 0x20]
lea eax, [rdx + 0x10]
cmp eax, ecx
jle 0x1400500b4
mov eax, ecx
test ecx, ecx
jns 0x140050093
lea eax, [rcx + 1]
sar eax, 1
mov r8, rdi
add eax, ecx
mov rcx, rdi
movsxd rdx, eax
mov dword [rdi + 0x20], eax
call fcn.14003c9a0
mov rcx, qword [rdi]
mov qword [rdi + 0x18], rcx
mov edx, dword [rdi + 0x24]
jmp 0x1400500b8
mov rcx, qword [rdi + 0x18]
movsxd rax, edx
mov byte [rax + rcx], 0x90
inc dword [rdi + 0x24]
mov edx, dword [rdi + 0x24]
cmp edx, dword [rdi + 0x2c]
jl 0x140050080
mov rax, qword [rdi + 0x18]
lea rcx, [rax + rbx]
sub edx, ecx
add edx, eax
mov dword [rcx - 4], edx
mov rbx, qword [rsi + 0x68]
mov edx, dword [rbx + 0x24]
mov ecx, dword [rbx + 0x20]
lea eax, [rdx + 0x10]
cmp eax, ecx
jle 0x140050110
mov eax, ecx
mov r8, rbx
cdq
sub eax, edx
sar eax, 1
add ecx, eax
mov dword [rbx + 0x20], ecx
movsxd rdx, ecx
mov rcx, rbx
call fcn.14003c9a0
mov rcx, qword [rbx]
mov qword [rbx + 0x18], rcx
mov edx, dword [rbx + 0x24]
jmp 0x140050114
mov rcx, qword [rbx + 0x18]
movsxd rax, edx
mov byte [rax + rcx], 0x41
movsxd rcx, dword [rbx + 0x24]
lea eax, [rcx + 1]
mov dword [rbx + 0x24], eax
mov rax, qword [rbx + 0x18]
mov byte [rcx + rax + 1], 0xc1
movsxd rcx, dword [rbx + 0x24]
lea eax, [rcx + 1]
mov dword [rbx + 0x24], eax
mov rax, qword [rbx + 0x18]
mov byte [rcx + rax + 1], 0xfa
movsxd rcx, dword [rbx + 0x24]
lea eax, [rcx + 1]
mov dword [rbx + 0x24], eax
mov rax, qword [rbx + 0x18]
mov byte [rcx + rax + 1], 0x12
mov edx, dword [rbx + 0x24]
inc edx
mov dword [rbx + 0x24], edx
mov ecx, dword [rbx + 0x20]
lea eax, [rdx + 0x10]
cmp eax, ecx
jle 0x14005018c
mov eax, ecx
mov r8, rbx
cdq
sub eax, edx
sar eax, 1
add ecx, eax
mov dword [rbx + 0x20], ecx
movsxd rdx, ecx
mov rcx, rbx
call fcn.14003c9a0
mov rcx, qword [rbx]
mov qword [rbx + 0x18], rcx
mov edx, dword [rbx + 0x24]
jmp 0x140050190
mov rcx, qword [rbx + 0x18]
movsxd rax, edx
mov edx, 0x85
mov byte [rax + rcx], 0x45
movsxd rcx, dword [rbx + 0x24]
lea eax, [rcx + 1]
mov dword [rbx + 0x24], eax
mov rax, qword [rbx + 0x18]
mov byte [rcx + rax + 1], 0x85
movsxd rcx, dword [rbx + 0x24]
lea eax, [rcx + 1]
mov dword [rbx + 0x24], eax
mov rax, qword [rbx + 0x18]
mov byte [rcx + rax + 1], 0xd2
mov rcx, rbx
inc dword [rbx + 0x24]
call fcn.140065dd0
movsxd rcx, dword [rbx + 0x24]
mov edx, 0x20
mov rax, qword [rbx + 0x18]
mov dword [rbp + 0x48], 0xe
mov dword [rbp + 0x4c], 0x2b0
lea r8d, [rdx - 0x1c]
mov qword [rbp - 8], r15
mov dword [rcx + rax], r12d
add dword [rbx + 0x24], 4
mov eax, dword [rbx + 0x24]
mov rbx, qword [rsi + 0x68]
mov rcx, rbx
mov dword [rbp + 0x38], eax
call fcn.140063830
mov rdx, r15
mov rcx, rbx
call fcn.140042750
lea rdx, [rbp - 8]
mov rcx, rbx
call fcn.140041340
mov rdx, qword [rbp + 0x48]
mov rcx, rbx
call fcn.140046ff0
mov edx, 0x20
mov rcx, rbx
lea r8d, [rdx - 0x1c]
call fcn.140044720
mov rcx, rbx
call fcn.14004c250
mov rdx, r14
mov rcx, rbx
call fcn.140062850
mov rcx, qword [rsi + 0x68]
lea rdx, [rbp + 0x48]
call fcn.140059710
mov rdx, qword [rsi + 0x68]
lea rcx, [rbp + 0x38]
call fcn.140059bb0
mov rcx, qword [rsi + 0x68]
lea rdx, [rbp - 0x10]
mov r9, r15
mov r8d, 0xa
call fcn.140091620
cmp byte [r14 + 2], 1
mov rax, r14
cmovne rax, r12
test rax, rax
je 0x1400502bb
mov r8d, dword [rax + 4]
mov eax, r8d
and eax, 0xe0000000
cmp eax, 0x60000000
je 0x1400502bb
mov rdx, qword [rbp - 0x10]
and r8d, 0xfffffff
mov rcx, qword [rsi + 0x68]
call fcn.14005aaa0
jmp 0x140050309
mov rax, qword [rbp - 0x10]
xor r8d, r8d
mov rbx, qword [rsi + 0x68]
mov dword [rbp + 0x38], eax
mov rcx, rbx
shr rax, 0x20
mov dword [rbp + 0x3c], eax
mov rdx, qword [rbp + 0x38]
call fcn.14005adf0
mov r9, r14
lea rdx, [rbp - 8]
xor r8d, r8d
mov rcx, rbx
call fcn.140091620
xor edx, edx
mov rcx, rbx
mov rax, qword [rax]
mov dword [rbp + 0x38], eax
shr rax, 0x20
mov dword [rbp + 0x3c], eax
mov r8, qword [rbp + 0x38]
call fcn.1400620d0
mov rdx, qword [rsi + 0x68]
lea rcx, [rbp + 0x48]
call fcn.140059bb0
mov rdx, qword [rsi + 0x68]
lea rcx, [rbp - 0x20]
call fcn.140059bb0
jmp 0x1400503fd
mov rcx, qword [rsi + 0x68]
mov r8d, 0xa
call fcn.140064ee0
xor r12d, r12d
mov rcx, r14
cmp byte [r14 + 2], 1
cmovne rcx, r12
test rcx, rcx
je 0x14005037c
mov r8d, dword [rcx + 4]
mov ecx, r8d
and ecx, 0xe0000000
cmp ecx, 0x40000000
jne 0x14005037c
mov rcx, qword [rsi + 0x68]
lea r9d, [r12 + 0xa]
and r8d, 0xfffffff
mov edx, eax
call fcn.1400519a0
jmp 0x1400503fd
mov rcx, qword [rsi + 0x68]
mov r8d, 0xa
mov rdx, r15
call fcn.140065780
mov rcx, qword [rsi + 0x68]
mov edx, eax
mov r9d, 0xa
xor r8d, r8d
call fcn.1400519a0
mov rcx, qword [rsi + 0x68]
lea rdx, [rbp + 0x38]
mov r9, r14
mov r8d, 0xa
call fcn.140091620
mov rdi, qword [rsi + 0x68]
xor r8d, r8d
xor edx, edx
mov rcx, rdi
mov rbx, qword [rax]
call fcn.14005c680
xor r9d, r9d
mov rcx, rdi
lea edx, [r9 + 0x31]
lea r8d, [r9 + 0xd]
call fcn.14005c9e0
mov rax, rbx
mov r9d, ebx
shr rax, 0x20
xor r8d, r8d
mov edx, 0x89
mov dword [rsp + 0x20], eax
mov rcx, rdi
call fcn.14005caa0
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
sub rsp, 0x40
mov rsi, rcx
mov rbp, r8
movzx ecx, word [rdx]
mov rdi, rdx
cmp cx, 0x20
ja 0x1400509a5
je 0x140050992
lea eax, [rcx - 2]
mov edx, 0xfffd
test dx, ax
je 0x140050935
cmp cx, 8
jne 0x1400509bd
mov rcx, qword [rsi + 0x68]
xor r8d, r8d
mov rdx, rdi
call fcn.140064ee0
mov edx, eax
jmp 0x140050bcc
mov rbx, qword [rsi + 0x68]
mov edx, dword [rbx + 0x24]
mov ecx, dword [rbx + 0x20]
lea eax, [rdx + 0x10]
cmp eax, ecx
jle 0x14005096c
mov eax, ecx
mov r8, rbx
cdq
sub eax, edx
sar eax, 1
add ecx, eax
mov dword [rbx + 0x20], ecx
movsxd rdx, ecx
mov rcx, rbx
call fcn.14003c9a0
mov rcx, qword [rbx]
mov qword [rbx + 0x18], rcx
mov edx, dword [rbx + 0x24]
jmp 0x140050970
mov rcx, qword [rbx + 0x18]
movsxd rax, edx
mov byte [rax + rcx], 0x31
movsxd rcx, dword [rbx + 0x24]
lea eax, [rcx + 1]
mov dword [rbx + 0x24], eax
mov rax, qword [rbx + 0x18]
mov byte [rcx + rax + 1], 0xc0
inc dword [rbx + 0x24]
jmp 0x140050bca
mov rcx, qword [rsi + 0x68]
xor r8d, r8d
call fcn.140065780
mov edx, eax
jmp 0x140050bcc
cmp cx, 0x40
je 0x140050a86
mov eax, 0x200
cmp cx, ax
je 0x140050a71
mov rcx, qword [rsi + 0x68]
lea rdx, [rsp + 0x30]
mov r9, rdi
mov dword [rsp + 0x68], 0xe
mov r8d, 0xa
mov dword [rsp + 0x6c], 0x2b8
call fcn.140091620
mov rdi, qword [rsi + 0x68]
mov edx, 0x83
mov rcx, rdi
mov rbx, qword [rax]
lea r9d, [rdx - 0x7f]
mov qword [rsp + 0x78], rbx
lea r8d, [rdx - 0x7e]
call fcn.14005c9e0
movsxd rcx, dword [rdi + 0x24]
mov r9d, ebx
mov rax, qword [rdi + 0x18]
mov edx, 0x8d
mov byte [rcx + rax], 0x20
mov rcx, rdi
inc dword [rdi + 0x24]
mov eax, dword [rsp + 0x7c]
mov r8d, dword [0x1400cd200]
mov dword [rsp + 0x20], eax
call fcn.14005caa0
mov rdx, qword [rsp + 0x68]
mov rcx, rdi
call fcn.140046ff0
mov r9d, 4
xor r8d, r8d
mov rcx, rdi
lea edx, [r9 + 0x7f]
call fcn.14005c9e0
movsxd rdx, dword [rdi + 0x24]
mov rcx, rdi
mov rax, qword [rdi + 0x18]
mov byte [rdx + rax], 0x20
inc dword [rdi + 0x24]
call fcn.14004c250
jmp 0x140050bca
mov rcx, qword [rsi + 0x68]
mov rbx, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
jmp 0x140051f90
mov rcx, qword [rsi + 0x68]
xor r8d, r8d
call fcn.140064c80
mov rbx, qword [rsi + 0x68]
xor r8d, r8d
mov rcx, rbx
mov edx, eax
call fcn.1400538d0
mov edx, dword [rbx + 0x24]
mov ecx, dword [rbx + 0x20]
lea eax, [rdx + 0x10]
cmp eax, ecx
jle 0x140050ad6
mov eax, ecx
mov r8, rbx
cdq
sub eax, edx
sar eax, 1
add ecx, eax
mov dword [rbx + 0x20], ecx
movsxd rdx, ecx
mov rcx, rbx
call fcn.14003c9a0
mov rcx, qword [rbx]
mov qword [rbx + 0x18], rcx
mov edx, dword [rbx + 0x24]
jmp 0x140050ada
mov rcx, qword [rbx + 0x18]
movsxd rax, edx
mov edx, 0x85
mov byte [rax + rcx], 0x81
movsxd rcx, dword [rbx + 0x24]
lea eax, [rcx + 1]
mov dword [rbx + 0x24], eax
mov rax, qword [rbx + 0x18]
mov byte [rcx + rax + 1], 0xf8
movsxd rcx, dword [rbx + 0x24]
lea eax, [rcx + 1]
mov dword [rbx + 0x24], eax
mov rax, qword [rbx + 0x18]
mov dword [rcx + rax + 1], 0x80000000
mov rcx, rbx
add dword [rbx + 0x24], 4
call fcn.140065dd0
movsxd rcx, dword [rbx + 0x24]
lea r9, str.Runtime::doubleToInt
mov rax, qword [rbx + 0x18]
xor r8d, r8d
mov dword [rsp + 0x68], 0xe
mov dl, 1
mov dword [rsp + 0x6c], 0x2c0
mov qword [rsp + 0x28], rdi
mov dword [rcx + rax], 0
add dword [rbx + 0x24], 4
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsi + 0x68]
mov ebx, dword [rbx + 0x24]
mov qword [rsp + 0x20], rax
call fcn.140040ed0
mov rdi, qword [rsi + 0x68]
mov edx, dword [rdi + 0x24]
cmp edx, dword [rdi + 0x2c]
jge 0x140050bbb
mov ecx, dword [rdi + 0x20]
lea eax, [rdx + 0x10]
cmp eax, ecx
jle 0x140050ba5
mov eax, ecx
test ecx, ecx
jns 0x140050b84
lea eax, [rcx + 1]
sar eax, 1
mov r8, rdi
add eax, ecx
mov rcx, rdi
movsxd rdx, eax
mov dword [rdi + 0x20], eax
call fcn.14003c9a0
mov rcx, qword [rdi]
mov qword [rdi + 0x18], rcx
mov edx, dword [rdi + 0x24]
jmp 0x140050ba9
mov rcx, qword [rdi + 0x18]
movsxd rax, edx
mov byte [rax + rcx], 0x90
inc dword [rdi + 0x24]
mov edx, dword [rdi + 0x24]
cmp edx, dword [rdi + 0x2c]
jl 0x140050b71
mov rcx, qword [rdi + 0x18]
lea rax, [rcx + rbx]
sub ecx, eax
add ecx, edx
mov dword [rax - 4], ecx
xor edx, edx
mov rcx, qword [rsi + 0x68]
mov r8, rbp
mov rbx, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
pop rsi
pop rbp
jmp fcn.140062390
push rbp
push rsi
push r14
push r15
mov rbp, rsp
sub rsp, 0x58
mov rsi, rcx
mov r15, r8
movzx ecx, word [rdx]
mov r14, rdx
cmp ecx, 0x10
ja 0x14005139e
je 0x140051354
lea eax, [rcx - 2]
test eax, 0xfffffffd
je 0x140051378
cmp ecx, 8
jne 0x140051835
mov rcx, qword [rsi + 0x68]
xor r8d, r8d
call fcn.140064ee0
mov rcx, qword [rsi + 0x68]
mov edx, eax
mov r8, r15
add rsp, 0x58
pop r15
pop r14
pop rsi
pop rbp
jmp fcn.140062ef0
mov rcx, qword [rsi + 0x68]
xor r8d, r8d
xor edx, edx
call fcn.14005c3a0
mov rcx, qword [rsi + 0x68]
mov r8, r15
xor edx, edx
add rsp, 0x58
pop r15
pop r14
pop rsi
pop rbp
jmp fcn.140062ef0
mov qword [rsp + 0x80], rbx
sub ecx, 0x40
je 0x140051737
sub ecx, 0x40
je 0x140051701
cmp ecx, 0x180
jne 0x14005182d
mov rcx, qword [rsi + 0x68]
lea rdx, [rbp - 0x28]
mov qword [rsp + 0x90], rdi
mov r9, r14
mov r8d, 0xa
mov qword [rsp + 0x50], r12
call fcn.140091620
add dword [rbp - 0x24], 4
mov rbx, qword [rsi + 0x68]
mov rdi, qword [rbp - 0x28]
mov r12d, dword [rbp - 0x28]
shr rdi, 0x20
mov r8d, dword [rbx + 0x24]
mov ecx, dword [rbx + 0x20]
lea eax, [r8 + 0x10]
cmp eax, ecx
jle 0x140051431
mov eax, ecx
mov r8, rbx
cdq
sub eax, edx
sar eax, 1
add ecx, eax
mov dword [rbx + 0x20], ecx
movsxd rdx, ecx
mov rcx, rbx
call fcn.14003c9a0
mov rcx, qword [rbx]
mov qword [rbx + 0x18], rcx
mov r8d, dword [rbx + 0x24]
jmp 0x140051435
mov rcx, qword [rbx + 0x18]
movsxd rax, r8d
mov edx, r12d
sar edx, 3
mov r9d, edi
or dl, 0x44
mov r8d, r12d
mov byte [rax + rcx], dl
mov rcx, rbx
movsxd rdx, dword [rbx + 0x24]
lea eax, [rdx + 1]
mov dword [rbx + 0x24], eax
mov rax, qword [rbx + 0x18]
mov byte [rax + rdx + 1], 0x8b
mov edx, 0xa
inc dword [rbx + 0x24]
call fcn.14005bad0
mov rbx, qword [rsi + 0x68]
mov edx, dword [rbx + 0x24]
mov ecx, dword [rbx + 0x20]
lea eax, [rdx + 0x10]
cmp eax, ecx
jle 0x1400514a4
mov eax, ecx
mov r8, rbx
cdq
sub eax, edx
sar eax, 1
add ecx, eax
mov dword [rbx + 0x20], ecx
movsxd rdx, ecx
mov rcx, rbx
call fcn.14003c9a0
mov rcx, qword [rbx]
mov qword [rbx + 0x18], rcx
mov edx, dword [rbx + 0x24]
jmp 0x1400514a8
mov rcx, qword [rbx + 0x18]
movsxd rax, edx
mov edx, 0x85
mov byte [rax + rcx], 0x41
movsxd rcx, dword [rbx + 0x24]
lea eax, [rcx + 1]
mov dword [rbx + 0x24], eax
mov rax, qword [rbx + 0x18]
mov byte [rcx + rax + 1], 0x81
movsxd rcx, dword [rbx + 0x24]
lea eax, [rcx + 1]
mov dword [rbx + 0x24], eax
mov rax, qword [rbx + 0x18]
mov byte [rcx + rax + 1], 0xfa
movsxd rcx, dword [rbx + 0x24]
lea eax, [rcx + 1]
mov dword [rbx + 0x24], eax
mov rax, qword [rbx + 0x18]
mov dword [rcx + rax + 1], 0x32000
mov rcx, rbx
add dword [rbx + 0x24], 4
call fcn.140065dd0
movsxd rcx, dword [rbx + 0x24]
lea rdx, [rbp - 0x20]
mov rax, qword [rbx + 0x18]
mov r9, r14
mov r8d, 0xa
mov dword [rcx + rax], 0
add dword [rbx + 0x24], 4
mov eax, dword [rbx + 0x24]
mov rcx, qword [rsi + 0x68]
mov dword [rbp + 0x30], eax
call fcn.140091620
mov rdi, qword [rsi + 0x68]
mov rbx, qword [rbp - 0x20]
mov r12, rbx
shr r12, 0x20
mov r8d, dword [rdi + 0x24]
mov ecx, dword [rdi + 0x20]
lea eax, [r8 + 0x10]
cmp eax, ecx
jle 0x140051570
mov eax, ecx
mov r8, rdi
cdq
sub eax, edx
sar eax, 1
add ecx, eax
mov dword [rdi + 0x20], ecx
movsxd rdx, ecx
mov rcx, rdi
call fcn.14003c9a0
mov rcx, qword [rdi]
mov qword [rdi + 0x18], rcx
mov r8d, dword [rdi + 0x24]
jmp 0x140051574
mov rcx, qword [rdi + 0x18]
movsxd rax, r8d
mov edx, ebx
sar edx, 3
mov r9d, r12d
or dl, 0x44
mov r8d, ebx
mov byte [rax + rcx], dl
mov rcx, rdi
movsxd rdx, dword [rdi + 0x24]
lea eax, [rdx + 1]
mov dword [rdi + 0x24], eax
mov rax, qword [rdi + 0x18]
mov byte [rax + rdx + 1], 0x8b
mov edx, 0xa
inc dword [rdi + 0x24]
call fcn.14005bad0
mov rcx, qword [rsi + 0x68]
mov r8, r15
mov edx, 0xa
call fcn.140062ef0
mov rbx, qword [rsi + 0x68]
mov r12, qword [rsp + 0x50]
mov edx, dword [rbx + 0x24]
mov ecx, dword [rbx + 0x20]
lea eax, [rdx + 0x10]
cmp eax, ecx
jle 0x1400515f8
mov eax, ecx
mov r8, rbx
cdq
sub eax, edx
sar eax, 1
add ecx, eax
mov dword [rbx + 0x20], ecx
movsxd rdx, ecx
mov rcx, rbx
call fcn.14003c9a0
mov rcx, qword [rbx]
mov qword [rbx + 0x18], rcx
mov edx, dword [rbx + 0x24]
jmp 0x1400515fc
mov rcx, qword [rbx + 0x18]
movsxd rax, edx
mov byte [rax + rcx], 0xe9
movsxd rcx, dword [rbx + 0x24]
lea eax, [rcx + 1]
mov dword [rbx + 0x24], eax
mov rax, qword [rbx + 0x18]
mov dword [rcx + rax + 1], 0
lea rcx, [rbp + 0x30]
add dword [rbx + 0x24], 4
mov eax, dword [rbx + 0x24]
mov rdx, qword [rsi + 0x68]
mov dword [rbp + 0x40], eax
call fcn.140059bb0
mov rcx, qword [rsi + 0x68]
lea rdx, [rbp - 0x10]
mov r9, r14
mov dword [rbp + 0x30], 0xe
mov r8d, 0xa
mov dword [rbp + 0x34], 0x2c8
call fcn.140091620
mov rdi, qword [rsi + 0x68]
mov edx, 0x83
mov rcx, rdi
mov rbx, qword [rax]
lea r9d, [rdx - 0x7f]
mov qword [rbp - 0x18], rbx
lea r8d, [rdx - 0x7e]
call fcn.14005c9e0
movsxd rcx, dword [rdi + 0x24]
mov r9d, ebx
mov rax, qword [rdi + 0x18]
mov edx, 0x8d
mov byte [rcx + rax], 0x20
mov rcx, rdi
inc dword [rdi + 0x24]
mov eax, dword [rbp - 0x14]
mov r8d, dword [0x1400cd200]
mov dword [rsp + 0x20], eax
call fcn.14005caa0
mov rdx, qword [rbp + 0x30]
mov rcx, rdi
call fcn.140046ff0
mov r9d, 4
xor r8d, r8d
mov rcx, rdi
lea edx, [r9 + 0x7f]
call fcn.14005c9e0
movsxd rdx, dword [rdi + 0x24]
mov rcx, rdi
mov rax, qword [rdi + 0x18]
mov byte [rdx + rax], 0x20
inc dword [rdi + 0x24]
call fcn.14004c250
mov rcx, qword [rsi + 0x68]
mov r8, r15
xor edx, edx
call fcn.140062390
mov rdx, qword [rsi + 0x68]
lea rcx, [rbp + 0x40]
call fcn.140059bb0
mov rdi, qword [rsp + 0x90]
jmp 0x14005182d
mov rcx, qword [rsi + 0x68]
lea r9, str.Runtime::toUInt
mov dword [rbp + 0x30], 0xe
xor r8d, r8d
mov dword [rbp + 0x34], 0x2c8
mov dl, 1
mov rax, qword [rbp + 0x30]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rax
call fcn.140040ed0
jmp 0x14005181f
mov rcx, qword [rsi + 0x68]
xor r8d, r8d
call fcn.140064c80
mov rbx, qword [rsi + 0x68]
xor r8d, r8d
mov rcx, rbx
mov edx, eax
call fcn.1400538d0
mov edx, dword [rbx + 0x24]
mov ecx, dword [rbx + 0x20]
lea eax, [rdx + 0x10]
cmp eax, ecx
jle 0x140051787
mov eax, ecx
mov r8, rbx
cdq
sub eax, edx
sar eax, 1
add ecx, eax
mov dword [rbx + 0x20], ecx
movsxd rdx, ecx
mov rcx, rbx
call fcn.14003c9a0
mov rcx, qword [rbx]
mov qword [rbx + 0x18], rcx
mov edx, dword [rbx + 0x24]
jmp 0x14005178b
mov rcx, qword [rbx + 0x18]
movsxd rax, edx
mov edx, 0x8d
mov byte [rax + rcx], 0x83
movsxd rcx, dword [rbx + 0x24]
lea eax, [rcx + 1]
mov dword [rbx + 0x24], eax
mov rax, qword [rbx + 0x18]
mov byte [rcx + rax + 1], 0xf8
movsxd rcx, dword [rbx + 0x24]
lea eax, [rcx + 1]
mov dword [rbx + 0x24], eax
mov rax, qword [rbx + 0x18]
mov byte [rcx + rax + 1], 0
mov rcx, rbx
inc dword [rbx + 0x24]
call fcn.140065dd0
movsxd rcx, dword [rbx + 0x24]
lea r9, str.Runtime::doubleToUInt
mov rax, qword [rbx + 0x18]
xor r8d, r8d
mov dword [rbp + 0x40], 0xe
mov dl, 1
mov dword [rbp + 0x44], 0x2d0
mov qword [rsp + 0x28], r14
mov dword [rcx + rax], 0
add dword [rbx + 0x24], 4
mov eax, dword [rbx + 0x24]
mov rcx, qword [rsi + 0x68]
mov dword [rbp + 0x30], eax
mov rax, qword [rbp + 0x40]
mov qword [rsp + 0x20], rax
call fcn.140040ed0
mov rdx, qword [rsi + 0x68]
lea rcx, [rbp + 0x30]
call fcn.140059bb0
mov rcx, qword [rsi + 0x68]
mov r8, r15
xor edx, edx
call fcn.140062ef0
mov rbx, qword [rsp + 0x80]
add rsp, 0x58
pop r15
pop r14
pop rsi
pop rbp
ret
push rbp
push rbx
push rsi
push rdi
push r14
mov rbp, rsp
sub rsp, 0x40
mov rdi, r8
mov rsi, rdx
mov r9, rdx
mov r8d, 0xa
lea rdx, [rbp - 0x10]
mov rbx, rcx
call fcn.140091620
mov rax, qword [rbp - 0x10]
mov r8d, 0xa
mov r9, rax
mov dword [rbp + 0x30], eax
shr r9, 0x20
mov rcx, rbx
mov dword [rbp + 0x34], r9d
mov r9d, eax
mov rdx, qword [rbp + 0x30]
shr rdx, 0x20
mov dword [rsp + 0x20], edx
mov edx, 0x8b
call fcn.14005caa0
xor r9d, r9d
mov edx, 0x89
mov rcx, rbx
lea r8d, [r9 + 0xa]
call fcn.14005c9e0
mov r9d, 0xa
mov edx, 0xc1
mov rcx, rbx
lea r8d, [r9 - 5]
call fcn.14005c9e0
movsxd rcx, dword [rbx + 0x24]
mov rax, qword [rbx + 0x18]
mov byte [rcx + rax], 0x30
inc dword [rbx + 0x24]
mov edx, dword [rbx + 0x24]
mov ecx, dword [rbx + 0x20]
lea eax, [rdx + 0x10]
cmp eax, ecx
jle 0x14005205a
mov eax, ecx
mov r8, rbx
cdq
sub eax, edx
sar eax, 1
add ecx, eax
mov dword [rbx + 0x20], ecx
movsxd rdx, ecx
mov rcx, rbx
call fcn.14003c9a0
mov rcx, qword [rbx]
mov qword [rbx + 0x18], rcx
mov edx, dword [rbx + 0x24]
jmp 0x14005205e
mov rcx, qword [rbx + 0x18]
movsxd rax, edx
mov edx, 0x84
mov byte [rax + rcx], 0x41
movsxd rcx, dword [rbx + 0x24]
lea eax, [rcx + 1]
mov dword [rbx + 0x24], eax
mov rax, qword [rbx + 0x18]
mov byte [rcx + rax + 1], 0x83
movsxd rcx, dword [rbx + 0x24]
lea eax, [rcx + 1]
mov dword [rbx + 0x24], eax
mov rax, qword [rbx + 0x18]
mov byte [rcx + rax + 1], 0xfa
movsxd rcx, dword [rbx + 0x24]
lea eax, [rcx + 1]
mov dword [rbx + 0x24], eax
mov rax, qword [rbx + 0x18]
mov byte [rcx + rax + 1], 3
mov rcx, rbx
inc dword [rbx + 0x24]
call fcn.140065dd0
movsxd rcx, dword [rbx + 0x24]
xor r14d, r14d
mov rax, qword [rbx + 0x18]
mov edx, 0xc1
lea r9d, [r14 + 0xa]
mov dword [rcx + rax], r14d
lea r8d, [r14 + 5]
add dword [rbx + 0x24], 4
mov rcx, rbx
mov eax, dword [rbx + 0x24]
mov dword [rbp + 0x40], eax
call fcn.14005c9e0
movsxd rcx, dword [rbx + 0x24]
mov rax, qword [rbx + 0x18]
mov byte [rcx + rax], 0xe2
inc dword [rbx + 0x24]
mov edx, dword [rbx + 0x24]
mov ecx, dword [rbx + 0x20]
lea eax, [rdx + 0x10]
cmp eax, ecx
jle 0x14005211e
mov eax, ecx
mov r8, rbx
cdq
sub eax, edx
sar eax, 1
add ecx, eax
mov dword [rbx + 0x20], ecx
movsxd rdx, ecx
mov rcx, rbx
call fcn.14003c9a0
mov rcx, qword [rbx]
mov qword [rbx + 0x18], rcx
mov edx, dword [rbx + 0x24]
jmp 0x140052122
mov rcx, qword [rbx + 0x18]
movsxd rax, edx
mov edx, 0x8f
mov byte [rax + rcx], 0x41
movsxd rcx, dword [rbx + 0x24]
lea eax, [rcx + 1]
mov dword [rbx + 0x24], eax
mov rax, qword [rbx + 0x18]
mov byte [rcx + rax + 1], 0x83
movsxd rcx, dword [rbx + 0x24]
lea eax, [rcx + 1]
mov dword [rbx + 0x24], eax
mov rax, qword [rbx + 0x18]
mov byte [rcx + rax + 1], 0xfa
movsxd rcx, dword [rbx + 0x24]
lea eax, [rcx + 1]
mov dword [rbx + 0x24], eax
mov rax, qword [rbx + 0x18]
mov byte [rcx + rax + 1], r14b
mov rcx, rbx
inc dword [rbx + 0x24]
call fcn.140065dd0
movsxd rcx, dword [rbx + 0x24]
xor r9d, r9d
mov rax, qword [rbx + 0x18]
lea edx, [r9 + 0x31]
mov dword [rcx + rax], r14d
lea r8d, [r9 + 0xd]
add dword [rbx + 0x24], 4
mov rcx, rbx
mov eax, dword [rbx + 0x24]
mov dword [rbp + 0x30], eax
call fcn.14005c9e0
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.14005bc90
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.1400538d0
mov edx, dword [rbx + 0x24]
mov ecx, dword [rbx + 0x20]
lea eax, [rdx + 0x10]
cmp eax, ecx
jle 0x1400521e8
mov eax, ecx
mov r8, rbx
cdq
sub eax, edx
sar eax, 1
add ecx, eax
mov dword [rbx + 0x20], ecx
movsxd rdx, ecx
mov rcx, rbx
call fcn.14003c9a0
mov rcx, qword [rbx]
mov qword [rbx + 0x18], rcx
mov edx, dword [rbx + 0x24]
jmp 0x1400521ec
mov rcx, qword [rbx + 0x18]
movsxd rax, edx
mov edx, 0x85
mov byte [rax + rcx], 0x81
movsxd rcx, dword [rbx + 0x24]
lea eax, [rcx + 1]
mov dword [rbx + 0x24], eax
mov rax, qword [rbx + 0x18]
mov byte [rcx + rax + 1], 0xf8
movsxd rcx, dword [rbx + 0x24]
lea eax, [rcx + 1]
mov dword [rbx + 0x24], eax
mov rax, qword [rbx + 0x18]
mov dword [rcx + rax + 1], 0x80000000
mov rcx, rbx
add dword [rbx + 0x24], 4
call fcn.140065dd0
movsxd rcx, dword [rbx + 0x24]
mov rdx, rbx
mov rax, qword [rbx + 0x18]
mov dword [rcx + rax], r14d
lea rcx, [rbp + 0x30]
add dword [rbx + 0x24], 4
mov eax, dword [rbx + 0x24]
mov dword [rbp + 0x48], eax
call fcn.140059bb0
mov r9, rsi
mov dword [rbp + 0x30], 0xe
mov r8d, 0xa
mov dword [rbp + 0x34], 0x2b8
lea rdx, [rbp - 8]
mov rcx, rbx
call fcn.140091620
lea r9, str.Runtime::toInt
xor r8d, r8d
mov dl, 1
mov rcx, qword [rax]
mov rax, qword [rbp + 0x30]
mov qword [rsp + 0x28], rcx
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.140040e10
mov rdx, rbx
lea rcx, [rbp + 0x40]
call fcn.140059bb0
mov rdx, rbx
lea rcx, [rbp + 0x48]
call fcn.140059bb0
cmp byte [rdi + 2], 1
mov rax, rdi
cmovne rax, r14
test rax, rax
je 0x1400522e6
mov eax, dword [rax + 4]
and eax, 0xe0000000
cmp eax, 0x60000000
je 0x1400522e6
mov r8, rdi
xor edx, edx
mov rcx, rbx
call fcn.140062390
add rsp, 0x40
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r9, rdi
lea rdx, [rbp + 0x30]
mov r8d, 0xa
mov rcx, rbx
call fcn.140091620
mov rax, qword [rbp + 0x30]
xor r8d, r8d
mov r9d, dword [rbp + 0x30]
mov edx, 0x89
shr rax, 0x20
mov rcx, rbx
mov dword [rbp + 0x44], eax
mov dword [rbp + 0x40], r9d
mov rax, qword [rbp + 0x40]
shr rax, 0x20
mov dword [rsp + 0x20], eax
call fcn.14005cc10
mov eax, dword [rbp + 0x30]
mov edx, 0x32000
add dword [rbp + 0x34], 4
mov rcx, rbx
mov dword [rbp + 0x40], eax
mov rax, qword [rbp + 0x30]
shr rax, 0x20
mov dword [rbp + 0x44], eax
mov r8, qword [rbp + 0x40]
call fcn.140061310
add rsp, 0x40
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret