Function at 0x14037a940
Capabilities:
Inspect section memory permissions

Disassembly:
jmp 0x14037a940
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x4a8
mov rax, qword [0x14056a550]
xor rax, rsp
mov qword [rsp + 0x4a0], rax
mov qword [rsp + 0xa8], r8
mov qword [rsp + 0xa0], rdx
mov rsi, qword [rcx + 8]
test rsi, rsi
je 0x14037b920
mov r14, rcx
mov rbx, qword [rsi + 0xc0]
lea r15, [rsi + 0x80]
lea rax, [rsi + 0x90]
mov qword [rsp + 0x40], rax
mov eax, 1
mov qword [rsp + 0x30], rax
lea r12, [rsp + 0x1a8]
lea r13, [rsp + 0xa0]
lea rbp, [rsp + 0xa8]
xor eax, eax
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x54], 0
mov dword [rsp + 0x2c], 0
mov dword [rsp + 0x50], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x3c], 0
test byte [rsi + 0x29c], 0x20
je 0x14037aa4a
nop dword [rax]
mov rax, qword [rsp + 0xa0]
cmp byte [rax], 0x41
je 0x14037aa37
mov rcx, r13
mov rdx, rbp
lea r8, [rsp + 0x78]
mov r9, r12
call fcn.140003cd8
test eax, eax
jne 0x14037b975
cmp dword [rsp + 0x88], 2
jne 0x14037aa00
jmp 0x14037b920
add rax, 2
mov qword [rsp + 0xa0], rax
and byte [rsi + 0x29c], 0xdf
mov r12, qword [rbx + 0x28]
cmp r12, 2
jb 0x14037aac0
dec r12
mov qword [rbx + 0x28], r12
mov eax, dword [rbx + 0xb4]
mov ecx, eax
not ecx
test ecx, 0x30000000
jne 0x14037abc1
mov rdx, qword [rsp + 0xa0]
movzx ecx, byte [rdx]
cmp cl, 0x41
jne 0x14037aa91
lea rcx, [rdx + 2]
mov qword [rsp + 0xa0], rcx
movzx ecx, byte [rdx + 2]
cmp cl, 2
jne 0x14037ab59
cmp dword [rsp + 0x2c], 0
jne 0x14037ab59
cmp qword [rsp + 0x30], 1
jg 0x14037ab59
or eax, 0x20000000
and eax, 0xbfffffff
jmp 0x14037ab83
mov rax, qword [rsp + 0xa0]
movzx ecx, byte [rax]
cmp cl, 0x41
jne 0x14037aae0
lea rcx, [rax + 2]
mov qword [rsp + 0xa0], rcx
movzx ecx, byte [rax + 2]
mov eax, dword [rbx + 0xb4]
cmp cl, 2
lea r12, [rsp + 0x1a8]
jne 0x14037ab0e
cmp dword [rsp + 0x2c], 0
jne 0x14037ab0e
cmp qword [rsp + 0x30], 1
jg 0x14037ab0e
or eax, 0x20000000
and eax, 0xbfffffff
jmp 0x14037ab2c
and eax, 0xdfffffff
cmp cl, 1
jne 0x14037ab07
cmp dword [rsp + 0x2c], 0
jne 0x14037ab07
cmp qword [rsp + 0x30], 1
jg 0x14037ab07
or eax, 0x40000000
mov dword [rbx + 0xb4], eax
mov rcx, rsi
call fcn.140003008
test eax, eax
jne 0x14037b975
mov eax, dword [rbx + 0xb4]
mov ecx, eax
not ecx
test ecx, 0x30000000
jne 0x14037abc9
jmp 0x14037b83d
and eax, 0xdfffffff
cmp cl, 1
jne 0x14037aab6
cmp dword [rsp + 0x2c], 0
jne 0x14037aab6
cmp qword [rsp + 0x30], 1
jg 0x14037aab6
or eax, 0x40000000
mov dword [rbx + 0xb4], eax
mov rcx, rsi
call fcn.140003008
test eax, eax
jne 0x14037b975
movsxd rcx, r12d
mov qword [rbx + 0x28], rcx
mov eax, dword [rbx + 0xb4]
mov edx, eax
not edx
test edx, 0x30000000
je 0x14037b858
or eax, 0x20000000
mov dword [rbx + 0xb4], eax
lea r12, [rsp + 0x1a8]
movsx ecx, byte [rbx + 0xb0]
add ecx, 0xfffffffe
cmp ecx, 0x1a
ja case.0x14037abe6.3
lea rdx, [0x14037bf1c]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
mov rcx, qword [rsp + 0xa0]
movzx ecx, byte [rcx]
lea edx, [rcx - 1]
cmp dl, 2
jae 0x14037ad79
cmp qword [rsp + 0x30], 2
setl dil
cmp cl, 1
jne 0x14037ac1a
cmp qword [rsp + 0x30], 2
jl 0x14037b948
cmp cl, 2
jne 0x14037ae67
mov r8, qword [rsp + 0x30]
cmp r8, 1
jg 0x14037ae6c
jmp 0x14037b918
mov dword [rsp + 0x3c], 1
cmp qword [rsp + 0x30], 2
jl 0x14037ad3f
mov eax, dword [rsp + 0x1a8]
add eax, 0xfffffff9
cmp eax, 1
ja 0x14037ad96
cmp dword [rsp + 0x2c], 0
jne 0x14037aeff
xor edi, edi
cmp dword [rsp + 0x50], 0
setne dil
mov rcx, r12
lea rdx, [rsp + 0xb0]
call fcn.14000114f
jmp 0x14037ada5
mov rax, qword [rsp + 0xa0]
movzx eax, byte [rax]
cmp al, 1
jne 0x14037aca4
cmp qword [rsp + 0x30], 2
jl 0x14037b948
cmp al, 2
mov r8, qword [rsp + 0x30]
jne 0x14037acb7
cmp r8, 1
jle 0x14037b918
mov rcx, r13
mov rdx, rbp
mov rdi, r8
call fcn.1400055d3
cmp eax, 2
jne 0x14037acd4
cmp rdi, 1
jle 0x14037b918
cmp eax, 1
jne case.0x14037abe6.16
jmp 0x14037b948
cmp dword [rbx + 0x9c], 0
jle case.0x14037abe6.16
mov rax, qword [rbx + 0xa0]
xor ecx, ecx
mov r9, qword [rsp + 0x40]
jmp 0x14037ad13
inc rcx
movsxd rdx, dword [rbx + 0x9c]
cmp rcx, rdx
jge case.0x14037abe6.16
mov rdx, qword [r15]
mov r8b, 0x20
cmp rdx, qword [r9]
jae 0x14037ad29
lea r8, [rdx + 1]
mov qword [r15], r8
movzx r8d, byte [rdx]
mov byte [rax + rcx], r8b
test byte [rsi + 0x296], 0x10
je 0x14037ad00
inc qword [rsi + 0x1f0]
jmp 0x14037ad00
mov rcx, r13
mov rdx, rbp
lea r8, [rsp + 0x78]
mov r9, r12
call fcn.140003cd8
test eax, eax
jne 0x14037b975
mov eax, dword [rsp + 0x88]
cmp eax, 0x41
je 0x14037adc2
cmp eax, 1
je 0x14037b948
cmp eax, 2
jne 0x14037ade6
jmp 0x14037baba
test eax, 0x200000
je 0x14037b8ba
mov r8, qword [rsp + 0x30]
cmp r8, 2
setl dil
jmp 0x14037ae6c
mov rax, qword [rsp + 0x78]
add rax, qword [rsp + 0x90]
xor edi, edi
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x30]
dec rax
cmp dword [rsp + 0x3c], 0
jne 0x14037b005
jmp 0x14037b0a2
add qword [rsp + 0xa0], 2
mov rcx, r13
mov rdx, rbp
lea r8, [rsp + 0x78]
mov r9, r12
call fcn.140003cd8
test eax, eax
jne 0x14037b975
mov eax, dword [rsp + 0x1a8]
lea ecx, [rax - 5]
cmp ecx, 2
jb 0x14037ae34
add eax, 0xfffffff9
cmp eax, 1
ja 0x14037aed2
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x14037af21
mov rax, qword [rsp + 0x80]
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x14037af52
cqo
idiv rcx
jmp 0x14037af56
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x14037af38
mov rax, qword [rsp + 0x80]
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x14037afed
cqo
idiv rcx
jmp 0x14037aff1
mov r8, qword [rsp + 0x30]
mov rcx, r13
mov rdx, rbp
call fcn.1400055d3
cmp eax, 2
jne 0x14037ae85
test dil, dil
jne 0x14037b918
cmp eax, 1
je 0x14037b948
cmp word [rsi + 0x27a], 0
jne case.0x14037abe6.16
mov rcx, rsi
xor edx, edx
xor r8d, r8d
call case.0x1400ebcb9.120
test eax, eax
jne 0x14037b975
mov rax, qword [rsi + 0x80]
mov qword [rsi + 0x98], rax
inc qword [rsi + 0x148]
and byte [rsi + 0x297], 0xfb
jmp case.0x14037abe6.16
mov eax, dword [rsp + 0x88]
cmp eax, 0x1c
jl 0x14037aef5
mov edi, 1
cmp eax, 0x2d
jb 0x14037b092
cmp eax, 0x34
je 0x14037b092
mov eax, 1
jmp 0x14037aff6
mov rax, qword [rsp + 0x90]
add qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x30]
dec rax
mov dword [rsp + 0x2c], 0
jmp 0x14037b0ae
test byte [rsi + 0x290], 2
je 0x14037b053
mov rax, qword [rsp + 0x80]
jmp 0x14037af56
test byte [rsi + 0x290], 2
je 0x14037b053
mov rax, qword [rsp + 0x80]
jmp 0x14037aff1
xor edx, edx
div ecx
test rax, rax
je 0x14037b053
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x88]
cmp eax, 0x1c
jl 0x14037af8b
mov edi, 1
cmp eax, 0x2d
jb 0x14037b2b3
mov dword [rsp + 0x50], 1
cmp eax, 0x34
je 0x14037af97
mov dword [rsp + 0x50], 0
mov edi, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x1ac]
test eax, eax
jle 0x14037afc7
lea rcx, [rsp + 0x1c0]
xor edx, edx
nop dword [rax]
mov r8, qword [rcx]
mov qword [rsp + rdx*8 + 0xb0], r8
inc rdx
add rcx, 0x18
cmp rax, rdx
jne 0x14037afb0
mov rcx, r12
lea rdx, [rsp + 0xb0]
call fcn.14000114f
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x30]
cmp dword [rsp + 0x3c], 0
jne 0x14037b005
jmp 0x14037b0a2
xor edx, edx
div ecx
test rax, rax
je 0x14037b053
mov edi, dword [rsp + 0x2c]
cmp dword [rsp + 0x3c], 0
je 0x14037b0a2
mov ecx, dword [rsp + 0x88]
add ecx, 0xfffffffb
cmp ecx, 0xc
ja 0x14037b864
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x40]
mov eax, dword [rax]
sub eax, dword [r15]
test eax, eax
mov edx, 0
cmovle eax, edx
cmp ecx, 0xc
ja case.default.0x14037bc70
lea rdx, [0x14037bf88]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
mov rcx, qword [rsp + 0x78]
mov dword [rcx], eax
jmp 0x14037b081
mov dword [rsp + 0x28], 1
xor eax, eax
mov qword [rsp + 0x30], rax
jmp 0x14037b0ba
mov rcx, qword [rsp + 0x78]
mov byte [rcx], al
jmp 0x14037b081
mov rcx, qword [rsp + 0x78]
mov word [rcx], ax
jmp 0x14037b081
mov rcx, qword [rsp + 0x78]
mov eax, eax
mov qword [rcx], rax
mov dword [rsp + 0x3c], 0
mov dword [rsp + 0x2c], edi
jmp case.0x14037abe6.16
mov eax, 2
cmp dword [rsp + 0x3c], 0
jne 0x14037b005
mov dword [rsp + 0x3c], 0
mov dword [rsp + 0x2c], edi
cmp dword [rsp + 0x28], 0
mov qword [rsp + 0x30], rax
je 0x14037b0d7
mov rax, qword [rbx + 0x28]
lea rcx, [rax + 1]
test rax, rax
mov eax, 2
cmove rcx, rax
mov qword [rbx + 0x28], rcx
jmp case.0x14037abe6.16
mov ecx, dword [rsp + 0x88]
mov eax, ecx
or eax, 2
cmp eax, 0x42
jne 0x14037b1a6
cmp byte [rbx + 0xb0], 0x74
jne 0x14037b1b4
mov rcx, rsi
lea rdx, [rsp + 0x78]
xor r8d, r8d
xor r9d, r9d
call fcn.140001ed3
test eax, eax
jne 0x14037bcbd
mov qword [rsp + 0x58], r14
mov dword [rsp + 0x28], 0
mov r12d, 1
xor r14d, r14d
test r14d, r14d
jne 0x14037b2a1
mov rax, qword [rsp + 0xa0]
movzx eax, byte [rax]
cmp eax, 0x40
jg 0x14037b152
lea ecx, [rax - 0x3f]
cmp ecx, 2
jb 0x14037b15c
cmp eax, 1
je 0x14037b164
jmp 0x14037b15f
cmp eax, 0x41
je 0x14037b164
cmp eax, 0x42
jne 0x14037b15f
inc r12d
xor r14d, r14d
jmp 0x14037b177
xor r14d, r14d
cmp r12d, 2
lea eax, [r12 - 1]
setl r14b
mov r12d, eax
mov rcx, r13
mov rdx, rbp
lea r8, [rsp + 0x78]
lea r9, [rsp + 0x1a8]
call fcn.140003cd8
test eax, eax
jne 0x14037b975
cmp dword [rsp + 0x88], 2
jne 0x14037b12a
jmp 0x14037b8b1
cmp byte [rbx + 0xb0], 0x74
jne 0x14037b1ed
jmp 0x14037b864
cmp ecx, 0x40
je 0x14037b1c3
cmp ecx, 0x42
jne 0x14037b1ed
jmp 0x14037bcc4
mov rcx, r13
mov rdx, rbp
lea r8, [rsp + 0x78]
mov r9, r12
call fcn.140003cd8
test eax, eax
jne 0x14037b975
mov ecx, dword [rsp + 0x88]
lea eax, [rcx - 0x40]
cmp eax, 3
jb 0x14037b1c3
and byte [rbx + 0xb7], 0xf7
mov rax, qword [rbx]
test byte [rax + 0x296], 0x80
movsx rax, byte [rbx + 0xb0]
jne 0x14037b20f
mov r11, qword [rsp + 0x40]
jmp 0x14037b239
lea rdx, [0x14052cf90]
mov rdx, qword [rdx + rax*8]
test rdx, rdx
mov r11, qword [rsp + 0x40]
je 0x14037b239
movsxd r8, ecx
movsx edx, byte [rdx + r8]
test edx, edx
je 0x14037b239
mov dword [rsp + 0x88], edx
mov ecx, edx
lea edx, [rax - 0x13]
cmp edx, 0x1e
ja case.0x14037b253.28
lea r8, [0x14037bfbc]
movsxd rdx, dword [r8 + rdx*4]
add rdx, r8
jmp rdx
lea edx, [rcx - 0x35]
cmp edx, 0xffffffe4
jb 0x14037b864
add ecx, 0xffffffe7
lea r9, [0x14052ceb0]
movsx edx, word [r9 + rcx*8]
mov dword [rbx + 0x9c], edx
movzx edx, word [r9 + rcx*8 + 4]
xor r8d, r8d
cmp al, 0x2e
sete r8b
sub edx, r8d
mov word [rbx + 0xa8], dx
movzx ecx, word [r9 + rcx*8 + 6]
mov word [rbx + 0xaa], cx
jmp case.0x14037b253.28
mov r14, qword [rsp + 0x58]
lea r12, [rsp + 0x1a8]
jmp case.0x14037abe6.16
mov dword [rsp + 0x50], 1
jmp 0x14037af97
movsxd rcx, ecx
lea rdx, [0x14052cdd0]
movsx ecx, byte [rcx + rdx]
mov dword [rbx + 0x9c], ecx
mov dword [rbx + 0xa8], 0
cmp ecx, 0xffffffff
jne case.0x14037b253.28
mov rcx, qword [rsp + 0x90]
lea rcx, [rcx + rcx*2]
cmp rcx, 8
mov edx, 7
jmp 0x14037b3ad
or byte [rbx + 0xb9], 1
cmp ecx, 0x19
jl 0x14037b3b9
cmp ecx, 0x34
ja 0x14037b3e4
add ecx, 0xffffffe7
lea r8, [0x14052ceb0]
movsx edx, word [r8 + rcx*8]
mov dword [rbx + 0x9c], edx
mov ecx, dword [r8 + rcx*8 + 4]
mov dword [rbx + 0xa8], ecx
jmp case.0x14037b253.28
lea edx, [rcx - 0x12]
cmp edx, 0xfffffff3
jb 0x14037b864
add ecx, 0xfffffffb
jmp 0x14037b3c7
add ecx, 0xffffffee
cmp ecx, 0xfffffff3
jb 0x14037b864
mov dword [rbx + 0x9c], 2
mov dword [rbx + 0xa8], 0
jmp case.0x14037b253.28
movsxd rcx, ecx
lea rdx, [0x14052ce20]
movsx ecx, word [rdx + rcx*2]
mov dword [rbx + 0x9c], ecx
mov dword [rbx + 0xa8], 0
cmp ecx, 0xffffffff
jne case.0x14037b253.28
mov rcx, qword [rsp + 0x90]
shl rcx, 3
cmp rcx, 0x12
mov edx, 0x11
cmovl rcx, rdx
mov dword [rbx + 0x9c], ecx
jmp case.0x14037b253.28
add ecx, 0xfffffffb
cmp ecx, 0xc
ja 0x14037b864
mov ecx, ecx
lea rdx, [0x14052cdc0]
movsx ecx, byte [rcx + rdx]
mov dword [rbx + 0x9c], ecx
mov dword [rbx + 0xa8], 0
jmp case.0x14037b253.28
and ecx, 0xfffffffe
cmp ecx, 0x38
jne 0x14037b864
mov ecx, dword [rsp + 0x90]
mov dword [rbx + 0x9c], ecx
mov rdx, qword [r15]
test byte [rbx + 0xb8], 4
jne 0x14037b418
mov r8d, 0x2c
cmp byte [rsi + 0x289], 2
jne 0x14037b41e
mov r8d, 0x3b
movsxd r12, dword [rbx + 0x9c]
xor edi, edi
test r12, r12
jle 0x14037b482
mov ecx, r12d
mov qword [rsp + 0x48], rcx
mov rcx, qword [r11]
cmp al, 0x13
je 0x14037b48a
movzx eax, al
cmp eax, 0x1d
jne 0x14037b4e9
cmp r12d, 2
jb 0x14037b4c3
lea rax, [rdx + 1]
mov r8, qword [rsp + 0x48]
and r8d, 0xfffffffe
xor r10d, r10d
lea r9, [rdx + r10]
cmp r9, rcx
jae 0x14037b5a5
lea r9, [rax + r10]
cmp r9, rcx
jae 0x14037b56f
add r10, 2
cmp r8, r10
jne 0x14037b45d
jmp 0x14037b4c3
xor r10d, r10d
jmp 0x14037b6dc
cmp r12d, 2
jb 0x14037b4c3
lea rax, [rdx + 1]
mov r8, qword [rsp + 0x48]
and r8d, 0xfffffffe
xor r10d, r10d
lea r9, [rdx + r10]
cmp r9, rcx
jae 0x14037b5a5
lea r9, [rax + r10]
cmp r9, rcx
jae 0x14037b56f
add r10, 2
cmp r8, r10
jne 0x14037b4a0
mov rax, qword [rsp + 0x48]
mov r10d, eax
and r10d, 0xfffffffe
cmp r10, rax
jae 0x14037b4e1
lea rax, [rdx + r10]
cmp rax, rcx
jae 0x14037b5a5
mov r10d, r12d
jmp 0x14037b6dc
cmp r12d, 2
jae 0x14037b524
mov rax, qword [rsp + 0x48]
mov r10d, eax
and r10d, 0xfffffffe
cmp r10, rax
jae 0x14037b574
lea rax, [rdx + r10]
cmp rax, rcx
mov r11, qword [rsp + 0x40]
mov edi, 0
jae 0x14037b5a5
movsx eax, byte [rax]
cmp r8d, eax
jne 0x14037b4e1
jmp 0x14037b6d7
lea rax, [rdx + 1]
mov r9, qword [rsp + 0x48]
and r9d, 0xfffffffe
xor r11d, r11d
lea r10, [rdx + r11]
cmp r10, rcx
jae 0x14037b58b
movsx r10d, byte [rax + r11 - 1]
cmp r8d, r10d
je 0x14037b590
mov rdi, r11
lea r10, [rax + r11]
cmp r10, rcx
jae 0x14037b598
movsx r10d, byte [r10]
cmp r8d, r10d
je 0x14037b6cc
mov r11, rdi
add r11, 2
cmp r9, r11
jne 0x14037b534
jmp 0x14037b4ef
inc r10
jmp 0x14037b5a5
mov r10d, r12d
mov dword [rsp + 0x28], 0
mov r11, qword [rsp + 0x40]
xor edi, edi
jmp 0x14037b6e4
mov r10, r11
jmp 0x14037b59e
mov r10, r11
jmp 0x14037b6d2
mov r10, rdi
inc r10
mov r11, qword [rsp + 0x40]
xor edi, edi
mov ecx, dword [rsi + 0x290]
mov eax, dword [rsi + 0x294]
test eax, 0x20000
jne 0x14037b5ea
test cl, 2
jne 0x14037bd11
mov eax, dword [rsi + 0x29c]
mov ecx, eax
shr ecx, 0x16
and ecx, 1
test eax, 0x1000000
mov eax, 1
cmove ecx, eax
mov dword [rsp + 0x54], ecx
mov dword [rsp + 0x28], 0
jmp 0x14037b640
test cl, 2
jne 0x14037b615
mov r8d, dword [rsi + 0x29c]
mov r9d, r8d
not r9d
mov dword [rsp + 0x28], 0
mov ecx, r12d
test r9d, 0x1400000
jne 0x14037b643
jmp 0x14037bd96
mov rax, qword [rsi + 0x108]
test rax, rax
je 0x14037b629
cmp byte [rax + 0x33], 0
jne 0x14037b633
jmp 0x14037b670
cmp word [rsi + 0x27a], 0
je 0x14037b670
mov dword [rsp + 0x28], 0
test r10d, r10d
jne 0x14037b670
mov ecx, r12d
mov rax, qword [rsi + 0x108]
test rax, rax
je 0x14037b664
cmp byte [rax + 0x33], 0
je 0x14037b65c
or byte [rsi + 0x29c], 2
mov r12d, ecx
jmp 0x14037b6e4
cmp word [rsi + 0x27a], 0
jne 0x14037b655
jmp 0x14037b65c
mov qword [rsp + 0x60], r10
mov rcx, r12
inc rcx
xor edx, edx
lea r8, [rsp + 0x70]
call fcn.140003765
test eax, eax
jne 0x14037b975
mov edi, dword [rsp + 0x60]
mov rcx, qword [rsp + 0x70]
mov rdx, qword [r15]
cmp rcx, rdx
ja 0x14037b6a9
lea rax, [rcx + rdi]
cmp rax, rdx
ja 0x14037b6bf
cmp rcx, rdx
jb 0x14037b7dc
lea rax, [rdx + rdi]
cmp rcx, rax
jae 0x14037b7dc
mov r8, rdi
call fcn.1400066b3
jmp 0x14037b7e4
mov r10, rdi
inc r10
mov r11, qword [rsp + 0x40]
mov edi, 1
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x48], r12
cmp dword [rsp + 0x54], 0
mov qword [rsp + 0x58], r14
je 0x14037b71b
mov rax, qword [r11]
mov rcx, qword [r15]
mov r10d, eax
sub r10d, ecx
xor edi, edi
cmp rax, rcx
cmovbe r10d, edi
mov ecx, r10d
xor eax, eax
mov dword [rbx + 0x9c], r10d
mov r10d, eax
jmp 0x14037b72d
cmp qword [rsi + 0x1e8], 0
mov eax, r10d
mov rcx, qword [rsp + 0x68]
je 0x14037b70f
mov qword [rsp + 0x68], rcx
lea eax, [rdi + rcx]
add eax, r10d
movsxd r14, eax
add qword [rsi + 0x1f0], r14
mov rcx, rbx
lea r8, [rsp + 0x78]
mov r12, r10
call fcn.1400043c2
test eax, eax
jne 0x14037bc31
add r14, qword [rsi + 0x80]
mov qword [rsi + 0x80], r14
cmp qword [rsi + 0xa8], 0
je 0x14037b77e
mov rax, qword [rsi + 0xb0]
sub rax, r14
jmp 0x14037b780
xor eax, eax
mov r14, qword [rsp + 0x58]
mov qword [rsi + 0x140], rax
cmp qword [rsi + 0x1e8], 0
lea r12, [rsp + 0x1a8]
jne 0x14037b7a9
mov rax, qword [rsp + 0x48]
mov dword [rbx + 0x9c], eax
cmp dword [rsp + 0x28], 0
je 0x14037b7c2
mov rcx, qword [rsp + 0x70]
call fcn.140001b0e
test eax, eax
jne 0x14037b975
mov dword [rsp + 0x28], 0
test byte [rsi + 0x29c], 2
je case.0x14037abe6.16
jmp 0x14037b948
mov r8, rdi
call fcn.14000419c
mov eax, r12d
sub eax, dword [rsp + 0x60]
movsxd r8, eax
add rdi, qword [rsp + 0x70]
mov rcx, rdi
mov dl, 0x20
call fcn.1400020b8
mov r10, qword [rsp + 0x60]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x48]
mov byte [rax + rcx], 0
mov rdx, qword [rsp + 0x70]
mov ecx, dword [rbx + 0x9c]
mov eax, ecx
sub eax, r10d
cdqe
add qword [rsi + 0x1e8], rax
mov eax, r12d
mov dword [rsp + 0x28], r12d
mov r11, qword [rsp + 0x40]
xor edi, edi
jmp 0x14037b643
mov rax, qword [rbx + 0x28]
xor edi, edi
test rax, rax
je 0x14037b922
inc rax
mov qword [rbx + 0x28], rax
jmp 0x14037b922
inc rcx
mov qword [rbx + 0x28], rcx
jmp 0x14037b920
mov rax, qword [rsi + 0x30]
test rax, rax
je 0x14037bad7
test byte [rax + 0x74], 2
jne 0x14037bb39
mov eax, dword [rsi + 0x294]
mov r8d, dword [rsi + 0x29c]
and eax, 7
shr r8d, 0x11
and r8d, 8
or r8d, eax
mov dword [rsp + 0x20], 0x3d
mov rcx, rsi
mov edx, 0xffffffff
mov r9d, 0x3d
jmp 0x14037b9b0
or byte [rsi + 0x29c], 0x20
jmp 0x14037b920
test byte [rsi + 0x290], 2
je 0x14037baec
test eax, eax
jns 0x14037baec
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0xa0]
lea rdx, [rsp + 0xa8]
lea r8, [rsp + 0x78]
lea r9, [rsp + 0x1a8]
call fcn.140006500
test eax, eax
je 0x14037baec
mov rax, qword [rsp + 0xa0]
cmp byte [rax], 2
jne 0x14037b948
cmp qword [rsp + 0x30], 1
jg 0x14037b948
mov qword [rbx + 0x28], 2
xor edi, edi
mov rcx, qword [rsp + 0x4a0]
xor rcx, rsp
call fcn.140003706
mov eax, edi
add rsp, 0x4a8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [rbx + 0xb4]
test eax, 0x2000000
je 0x14037ba0b
and eax, 0xfdffffff
mov dword [rbx + 0xb4], eax
mov rcx, qword [rbx + 8]
call fcn.140001b0e
test eax, eax
je 0x14037ba03
mov edi, eax
mov rax, qword [rsi + 0x30]
test rax, rax
je 0x14037b9bc
test byte [rax + 0x74], 2
jne 0x14037b9d5
mov eax, dword [rsi + 0x294]
mov r8d, dword [rsi + 0x29c]
and eax, 7
shr r8d, 0x11
and r8d, 8
or r8d, eax
mov dword [rsp + 0x20], edi
mov rcx, rsi
mov edx, 0xffffffff
mov r9d, edi
call fcn.14000475f
mov edi, eax
jmp 0x14037b922
mov ecx, 1
mov edx, edi
mov r8d, edi
mov r9, rsi
call fcn.140002b35
mov edi, eax
jmp 0x14037b922
mov dword [rax + 0x68], edi
mov dword [rax + 0x6c], edi
mov rax, qword [rsi + 0xd8]
test rax, rax
je 0x14037b922
mov qword [rax + 8], 0
mov qword [rsi + 0xd8], 0
jmp 0x14037b922
mov qword [rbx + 8], 0
mov rax, qword [rsi + 0x108]
test rax, rax
je 0x14037ba1d
cmp byte [rax + 0x33], 0
jmp 0x14037ba25
cmp word [rsi + 0x27a], 0
mov r8, qword [rsp + 0x40]
je 0x14037ba42
mov rcx, qword [rsi + 0x170]
mov rax, qword [rsi + 0x180]
mov r8, r15
mov rdx, qword [r8]
jmp 0x14037ba5c
mov rdx, qword [rsi + 0xa8]
mov rcx, qword [rsi + 0x170]
mov rax, qword [rsi + 0x180]
test rdx, rdx
je 0x14037ba3d
add rdx, rcx
add rax, qword [rsi + 0x78]
sub rdx, rax
mov qword [rsi + 0x168], rdx
test byte [rsi + 0x296], 0x10
je 0x14037bb79
mov rax, qword [rsi + 0xe8]
test rax, rax
je 0x14037bb79
movsx ecx, byte [rsi + 0x283]
add ecx, 0xfffffffb
cmp ecx, 0xc
ja case.default.0x14037bc70
lea rdx, [0x14037c06c]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
mov ecx, dword [rsi + 0x1f0]
mov dword [rax], ecx
jmp 0x14037bb79
mov rax, qword [rbx + 0x28]
lea rcx, [rax + 1]
test rax, rax
mov eax, 2
cmovne rax, rcx
mov qword [rbx + 0x28], rax
jmp 0x14037b920
mov ecx, 1
mov edx, 0x3d
mov r8d, 0x3d
jmp 0x14037b9c6
mov rax, qword [rsi + 0x30]
test rax, rax
je 0x14037bc89
test byte [rax + 0x74], 2
jne 0x14037bc9e
mov eax, dword [rsi + 0x294]
mov r8d, dword [rsi + 0x29c]
and eax, 7
shr r8d, 0x11
and r8d, 8
or r8d, eax
mov dword [rsp + 0x20], 0x69
mov rcx, rsi
mov edx, 0xffffffff
mov r9d, 0x69
jmp 0x14037b9b0
movabs rcx, 0x3d0000003d
mov qword [rax + 0x68], rcx
mov rax, qword [rsi + 0xd8]
mov edi, 0x3d
jmp 0x14037b9e2
movzx ecx, byte [rsi + 0x1f0]
mov byte [rax], cl
jmp 0x14037bb79
movzx ecx, word [rsi + 0x1f0]
mov word [rax], cx
jmp 0x14037bb79
mov rcx, qword [rsi + 0x1f0]
mov qword [rax], rcx
mov r8d, dword [rsi + 0x29c]
test r8b, 2
jne 0x14037bbc3
and r8d, 0xffefffff
mov dword [rsi + 0x29c], r8d
and dword [rsi + 0x294], 0xfff7ffdc
mov ecx, dword [rsi + 0x1e0]
call fcn.1400023f6
test eax, eax
je 0x14037bc05
mov edi, eax
mov rax, qword [rsi + 0x30]
test rax, rax
jne 0x14037b980
xor ecx, ecx
jmp 0x14037b9c1
mov rax, qword [rsi + 0x30]
test rax, rax
je 0x14037bd4d
test byte [rax + 0x74], 2
jne 0x14037bc12
mov eax, dword [rsi + 0x294]
and eax, 7
shr r8d, 0x11
and r8d, 8
or r8d, eax
mov dword [rsp + 0x20], 0x10c
mov rcx, rsi
mov edx, 0xffffffff
mov r9d, 0x10c
jmp 0x14037b9b0
mov qword [r14 + 8], 0
jmp 0x14037b920
movabs rcx, 0x10c0000010c
mov qword [rax + 0x68], rcx
mov rax, qword [rsi + 0xd8]
mov edi, 0x10c
jmp 0x14037b9e2
mov r8, rdi
mov edi, eax
test byte [rsi + 0x296], 0x10
je 0x14037bdf7
mov rax, qword [rsi + 0xe8]
test rax, rax
je 0x14037bdf7
movsx ecx, byte [rsi + 0x283]
add ecx, 0xfffffffb
cmp ecx, 0xc
ja case.default.0x14037bc70
lea rdx, [0x14037c038]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
mov ecx, dword [rsi + 0x1f0]
mov dword [rax], ecx
jmp 0x14037bdf7
mov edi, 0x30
jmp 0x14037b922
mov ecx, 1
mov edx, 0x69
mov r8d, 0x69
jmp 0x14037b9c6
movabs rcx, 0x6900000069
mov qword [rax + 0x68], rcx
mov rax, qword [rsi + 0xd8]
mov edi, 0x69
jmp 0x14037b9e2
mov edi, eax
jmp 0x14037b922
mov rax, qword [rsi + 0x30]
test rax, rax
je 0x14037bd62
test byte [rax + 0x74], 2
jne 0x14037bd77
mov eax, dword [rsi + 0x294]
mov r8d, dword [rsi + 0x29c]
and eax, 7
shr r8d, 0x11
and r8d, 8
or r8d, eax
mov dword [rsp + 0x20], 0x7d
mov rcx, rsi
mov edx, 0xffffffff
mov r9d, 0x7d
jmp 0x14037b9b0
mov rcx, qword [rsi + 0x108]
test rcx, rcx
je 0x14037be4b
cmp byte [rcx + 0x33], 0
je 0x14037be59
mov rcx, qword [rsi + 0x30]
test rcx, rcx
je 0x14037bd4d
test byte [rcx + 0x74], 2
jne 0x14037bea0
and eax, 7
mov r8d, dword [rsi + 0x29c]
jmp 0x14037bbdf
mov ecx, 1
mov edx, 0x10c
mov r8d, 0x10c
jmp 0x14037b9c6
mov ecx, 1
mov edx, 0x7d
mov r8d, 0x7d
jmp 0x14037b9c6
movabs rcx, 0x7d0000007d
mov qword [rax + 0x68], rcx
mov rax, qword [rsi + 0xd8]
mov edi, 0x7d
jmp 0x14037b9e2
mov rcx, qword [rsi + 0x30]
test rcx, rcx
je 0x14037beb3
test byte [rcx + 0x74], 2
jne 0x14037bec8
and eax, 7
shr r8d, 0x11
and r8d, 8
or r8d, eax
mov dword [rsp + 0x20], 0x2fc
mov rcx, rsi
mov edx, 0xffffffff
mov r9d, 0x2fc
jmp 0x14037b9b0
movzx ecx, byte [rsi + 0x1f0]
mov byte [rax], cl
jmp 0x14037bdf7
movzx ecx, word [rsi + 0x1f0]
mov word [rax], cx
jmp 0x14037bdf7
mov rcx, qword [rsi + 0x1f0]
mov qword [rax], rcx
mov ecx, r12d
add rcx, qword [rsi + 0x80]
mov eax, r8d
add rax, rcx
mov qword [rsi + 0x80], rax
cmp qword [rsi + 0xa8], 0
je 0x14037be24
mov rcx, qword [rsi + 0xb0]
sub rcx, rax
jmp 0x14037be26
xor ecx, ecx
mov qword [rsi + 0x140], rcx
cmp dword [rsp + 0x28], 0
je 0x14037be3e
mov rcx, qword [rsp + 0x70]
call fcn.140001b0e
mov rcx, rbx
call fcn.140005722
jmp 0x14037b977
cmp word [rsi + 0x27a], 0
jne 0x14037bd2b
mov rcx, qword [rsi + 0x30]
test rcx, rcx
je 0x14037bee7
test byte [rcx + 0x74], 2
jne 0x14037befc
and eax, 7
mov r8d, dword [rsi + 0x29c]
shr r8d, 0x11
and r8d, 8
or r8d, eax
mov dword [rsp + 0x20], 0x43
mov rcx, rsi
mov edx, 0xffffffff
mov r9d, 0x43
jmp 0x14037b9b0
movabs rax, 0x10c0000010c
mov qword [rcx + 0x68], rax
jmp 0x14037bc20
mov ecx, 1
mov edx, 0x2fc
mov r8d, 0x2fc
jmp 0x14037b9c6
movabs rax, 0x2fc000002fc
mov qword [rcx + 0x68], rax
mov rax, qword [rsi + 0xd8]
mov edi, 0x2fc
jmp 0x14037b9e2
mov ecx, 1
mov edx, 0x43
mov r8d, 0x43
jmp 0x14037b9c6
movabs rax, 0x4300000043
mov qword [rcx + 0x68], rax
mov rax, qword [rsi + 0xd8]
mov edi, 0x43
jmp 0x14037b9e2