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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xf0
mov r8, qword [rcx + 8]
xor r14d, r14d
mov r9, qword [rcx]
mov rax, r8
mov r10d, dword [rcx + 0x18]
sub rax, r9
mov r15d, edx
mov rdi, rcx
cmp r10, rax
jae case.default.0x1800398ca
lea r12, [0x180000000]
mov esi, 0x80000000
cmp r14d, r15d
jae 0x18003a728
mov ecx, r10d
sub r8, r9
cmp rcx, r8
jb 0x1800397b1
xor al, al
jmp 0x1800398af
xor edx, edx
lea eax, [r10 + 1]
mov dword [rdi + 0x18], eax
mov rax, qword [rdi]
movzx ecx, byte [rcx + rax]
mov byte [rbp + 0x67], cl
mov dword [rbp + 0x7f], 0xe2
mov dword [rbp + 0x77], 0x1e
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp + 0x7f]
add ecx, eax
movzx eax, byte [rdi + 0x188]
mov dword [rbp + 0x77], ecx
inc eax
mov ecx, dword [rbp + 0x77]
div ecx
mov byte [rdi + 0x188], dl
xor edx, edx
mov dword [rbp + 0x7f], 0x17
mov dword [rbp + 0x77], 0xe9
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp + 0x7f]
add ecx, eax
movzx eax, byte [rdi + 0x188]
mov dword [rbp + 0x77], ecx
movzx ecx, byte [rdi + 0x189]
movzx eax, byte [rax + rdi + 0x88]
add eax, ecx
mov ecx, dword [rbp + 0x77]
movzx r8d, byte [rdi + 0x188]
div ecx
mov byte [rdi + 0x189], dl
movzx r9d, byte [r8 + rdi + 0x88]
movzx eax, dl
movzx ecx, byte [rax + rdi + 0x88]
mov byte [r8 + rdi + 0x88], cl
movzx eax, byte [rdi + 0x189]
mov byte [rax + rdi + 0x88], r9b
mov dword [rbp + 0x7f], 0x5a
mov dword [rbp + 0x77], 0xa6
mov ecx, dword [rbp + 0x77]
mov eax, dword [rbp + 0x7f]
add ecx, eax
mov dword [rbp + 0x77], ecx
mov r8d, dword [rbp + 0x77]
movzx eax, byte [rdi + 0x188]
movzx ecx, byte [rdi + 0x189]
movzx eax, byte [rax + rdi + 0x88]
movzx edx, byte [rcx + rdi + 0x88]
add eax, edx
xor edx, edx
div r8d
movzx eax, byte [rdx + rdi + 0x88]
xor al, byte [rbp + 0x67]
movzx eax, al
dec eax
cmp eax, 0x17
ja case.default.0x1800398ca
cdqe
mov ecx, dword [r12 + rax*4 + 0x3a730]
add rcx, r12
jmp rcx
lea rdx, [rbp - 9]
mov rcx, rdi
call fcn.18003f230
lea rdx, [rsp + 0x30]
mov rcx, rdi
call fcn.18003f230
mov rax, qword [rsp + 0x30]
cmp eax, 1
jne 0x180039937
mov eax, dword [rsp + 0x34]
dec eax
cmp eax, 5
ja case.default.0x180039907
cdqe
mov ecx, dword [r12 + rax*4 + 0x3a790]
add rcx, r12
jmp rcx
lea rax, [rdi + 0x20]
jmp 0x18003992f
lea rax, [rdi + 0x28]
jmp 0x18003992f
lea rax, [rdi + 0x30]
jmp 0x18003992f
lea rax, [rdi + 0x38]
jmp 0x18003992f
lea rax, [rdi + 0x40]
jmp 0x18003992f
lea rax, [rdi + 0x48]
jmp 0x18003992f
xor eax, eax
mov rax, qword [rax]
mov qword [rsp + 0x30], rax
cmp dword [rbp - 9], 1
jne 0x18003a505
mov ecx, dword [rbp - 5]
dec ecx
cmp ecx, 5
ja case.default.0x180039959
movsxd rcx, ecx
mov edx, dword [r12 + rcx*4 + 0x3a7a8]
add rdx, r12
jmp rdx
lea rcx, [rdi + 0x20]
mov qword [rcx], rax
jmp 0x18003a505
lea rcx, [rdi + 0x30]
mov qword [rcx], rax
jmp 0x18003a505
lea rcx, [rdi + 0x38]
mov qword [rcx], rax
jmp 0x18003a505
lea rcx, [rdi + 0x40]
mov qword [rcx], rax
jmp 0x18003a505
lea rcx, [rdi + 0x48]
mov qword [rcx], rax
jmp 0x18003a505
xor ecx, ecx
mov qword [rcx], rax
jmp 0x18003a505
lea rdx, [rbp - 1]
mov rcx, rdi
call fcn.18003f230
lea rdx, [rsp + 0x38]
mov rcx, rdi
call fcn.18003f230
mov rax, qword [rsp + 0x38]
cmp eax, 1
jne 0x180039a0c
mov eax, dword [rsp + 0x3c]
dec eax
cmp eax, 5
ja case.default.0x1800399dc
cdqe
mov ecx, dword [r12 + rax*4 + 0x3a7c0]
add rcx, r12
jmp rcx
lea rax, [rdi + 0x20]
jmp 0x180039a04
lea rax, [rdi + 0x28]
jmp 0x180039a04
lea rax, [rdi + 0x30]
jmp 0x180039a04
lea rax, [rdi + 0x38]
jmp 0x180039a04
lea rax, [rdi + 0x40]
jmp 0x180039a04
lea rax, [rdi + 0x48]
jmp 0x180039a04
xor eax, eax
mov rax, qword [rax]
mov qword [rsp + 0x38], rax
cmp dword [rbp - 1], 1
jne 0x18003a505
mov ecx, dword [rbp + 3]
dec ecx
cmp ecx, 5
ja case.default.0x180039a2e
movsxd rcx, ecx
mov edx, dword [r12 + rcx*4 + 0x3a7d8]
add rdx, r12
jmp rdx
lea r8, [rdi + 0x20]
jmp 0x180039a57
lea r8, [rdi + 0x28]
jmp 0x180039a57
lea r8, [rdi + 0x30]
jmp 0x180039a57
lea r8, [rdi + 0x38]
jmp 0x180039a57
lea r8, [rdi + 0x40]
jmp 0x180039a57
lea r8, [rdi + 0x48]
jmp 0x180039a57
xor r8d, r8d
cmp dword [r8], 2
jne 0x180039a7f
cmp eax, 2
jne 0x180039a7f
mov rcx, rax
shr rcx, 0x20
add dword [r8 + 4], ecx
mov edx, dword [r8 + 4]
sete cl
test edx, edx
mov byte [rdi + 0x50], cl
sets cl
mov byte [rdi + 0x51], cl
cmp dword [r8], 3
jne 0x18003a505
cmp eax, 3
jne 0x18003a505
mov ecx, dword [r8 + 4]
dec ecx
shr rax, 0x20
dec eax
movsxd rcx, ecx
shl rcx, 5
add rcx, qword [rdi + 0x70]
movsxd r9, eax
shl r9, 5
add r9, qword [rdi + 0x70]
cmp qword [r9 + 0x18], 0x10
jb 0x180039abe
mov r9, qword [r9]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [r9 + r8], 0
jne 0x180039ac5
mov rdx, r9
call fcn.1803539e0
jmp 0x18003a505
lea rdx, [rbp + 7]
mov rcx, rdi
call fcn.18003f230
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.18003f230
mov rax, qword [rsp + 0x40]
cmp eax, 1
jne 0x180039b47
mov eax, dword [rsp + 0x44]
dec eax
cmp eax, 5
ja case.default.0x180039b17
cdqe
mov ecx, dword [r12 + rax*4 + 0x3a7f0]
add rcx, r12
jmp rcx
lea rax, [rdi + 0x20]
jmp 0x180039b3f
lea rax, [rdi + 0x28]
jmp 0x180039b3f
lea rax, [rdi + 0x30]
jmp 0x180039b3f
lea rax, [rdi + 0x38]
jmp 0x180039b3f
lea rax, [rdi + 0x40]
jmp 0x180039b3f
lea rax, [rdi + 0x48]
jmp 0x180039b3f
xor eax, eax
mov rax, qword [rax]
mov qword [rsp + 0x40], rax
cmp dword [rbp + 7], 1
jne 0x18003a505
mov ecx, dword [rbp + 0xb]
dec ecx
cmp ecx, 5
ja case.default.0x180039b69
movsxd rcx, ecx
mov edx, dword [r12 + rcx*4 + 0x3a808]
add rdx, r12
jmp rdx
lea rcx, [rdi + 0x20]
jmp 0x180039b91
lea rcx, [rdi + 0x28]
jmp 0x180039b91
lea rcx, [rdi + 0x30]
jmp 0x180039b91
lea rcx, [rdi + 0x38]
jmp 0x180039b91
lea rcx, [rdi + 0x40]
jmp 0x180039b91
lea rcx, [rdi + 0x48]
jmp 0x180039b91
xor ecx, ecx
cmp dword [rcx], 2
jne 0x18003a505
cmp eax, 2
jne 0x18003a505
shr rax, 0x20
sub dword [rcx + 4], eax
mov ecx, dword [rcx + 4]
sete al
test ecx, ecx
mov byte [rdi + 0x50], al
sets al
mov byte [rdi + 0x51], al
jmp 0x18003a505
lea rdx, [rbp + 0xf]
mov rcx, rdi
call fcn.18003f230
cmp dword [rbp + 0xf], 1
jne 0x18003a505
mov eax, dword [rbp + 0x13]
dec eax
cmp eax, 5
ja case.default.0x180039bed
cdqe
mov ecx, dword [r12 + rax*4 + 0x3a820]
add rcx, r12
jmp rcx
lea rax, [rdi + 0x20]
jmp 0x180039c15
lea rax, [rdi + 0x28]
jmp 0x180039c15
lea rax, [rdi + 0x30]
jmp 0x180039c15
lea rax, [rdi + 0x38]
jmp 0x180039c15
lea rax, [rdi + 0x40]
jmp 0x180039c15
lea rax, [rdi + 0x48]
jmp 0x180039c15
xor eax, eax
cmp dword [rax], 2
jne 0x18003a505
add dword [rax + 4], 1
mov ecx, dword [rax + 4]
sete al
mov byte [rdi + 0x50], al
test ecx, ecx
sets al
mov byte [rdi + 0x51], al
jmp 0x18003a505
lea rdx, [rbp + 0x17]
mov rcx, rdi
call fcn.18003f230
cmp dword [rbp + 0x17], 1
jne 0x18003a505
mov eax, dword [rbp + 0x1b]
dec eax
cmp eax, 5
ja case.default.0x180039c65
cdqe
mov ecx, dword [r12 + rax*4 + 0x3a838]
add rcx, r12
jmp rcx
lea rax, [rdi + 0x20]
jmp 0x180039c8d
lea rax, [rdi + 0x28]
jmp 0x180039c8d
lea rax, [rdi + 0x30]
jmp 0x180039c8d
lea rax, [rdi + 0x38]
jmp 0x180039c8d
lea rax, [rdi + 0x40]
jmp 0x180039c8d
lea rax, [rdi + 0x48]
jmp 0x180039c8d
xor eax, eax
cmp dword [rax], 2
jne 0x18003a505
sub dword [rax + 4], 1
jmp 0x180039c22
mov rcx, rdi
call fcn.18003b240
jmp 0x18003a505
mov rax, qword [rdi + 0x60]
sub rax, qword [rdi + 0x58]
sar rax, 3
test rax, rax
je 0x18003a505
mov rax, qword [rdi + 0x60]
cmp dword [rax - 8], 4
lea rcx, [rax - 8]
jne 0x18003a505
mov edx, dword [rax - 4]
mov qword [rdi + 0x60], rcx
mov rcx, rdi
call fcn.180040000
jmp 0x18003a505
mov rcx, rdi
call fcn.18003b3e0
jmp 0x18003a505
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.18003f230
mov rax, qword [rsp + 0x20]
cmp eax, 1
jne 0x180039d50
mov eax, dword [rsp + 0x24]
dec eax
cmp eax, 5
ja case.default.0x180039d20
cdqe
mov ecx, dword [r12 + rax*4 + 0x3a850]
add rcx, r12
jmp rcx
lea rax, [rdi + 0x20]
jmp 0x180039d48
lea rax, [rdi + 0x28]
jmp 0x180039d48
lea rax, [rdi + 0x30]
jmp 0x180039d48
lea rax, [rdi + 0x38]
jmp 0x180039d48
lea rax, [rdi + 0x40]
jmp 0x180039d48
lea rax, [rdi + 0x48]
jmp 0x180039d48
xor eax, eax
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
lea ecx, [rax - 2]
cmp ecx, 2
ja 0x18003a505
mov rdx, qword [rdi + 0x60]
lea rcx, [rdi + 0x58]
cmp qword [rcx + 0x10], rdx
je 0x180039d77
mov qword [rdx], rax
add qword [rcx + 8], 8
jmp 0x18003a505
lea r8, [rsp + 0x20]
call fcn.180355900
jmp 0x18003a505
lea rdx, [rbp + 0x1f]
mov rcx, rdi
call fcn.18003f230
cmp dword [rbp + 0x1f], 1
jne 0x18003a505
mov rax, qword [rdi + 0x60]
sub rax, qword [rdi + 0x58]
sar rax, 3
test rax, rax
je 0x180039dc3
mov rcx, qword [rdi + 0x60]
add rcx, 0xfffffffffffffff8
mov rax, qword [rcx]
mov qword [rsp + 0x48], rax
mov qword [rdi + 0x60], rcx
jmp 0x180039dd1
mov qword [rsp + 0x48], 0
mov rax, qword [rsp + 0x48]
mov ecx, dword [rbp + 0x23]
dec ecx
cmp ecx, 5
ja case.default.0x180039959
movsxd rcx, ecx
mov edx, dword [r12 + rcx*4 + 0x3a868]
add rdx, r12
jmp rdx
lea rcx, [rdi + 0x28]
mov qword [rcx], rax
jmp 0x18003a505
lea rdx, [rsp + 0x28]
mov rcx, rdi
call fcn.18003f230
mov rbx, qword [rsp + 0x28]
cmp ebx, 1
jne 0x180039e5a
mov eax, dword [rsp + 0x2c]
dec eax
cmp eax, 5
ja case.default.0x180039e2a
cdqe
mov ecx, dword [r12 + rax*4 + 0x3a880]
add rcx, r12
jmp rcx
lea rbx, [rdi + 0x20]
jmp 0x180039e52
lea rbx, [rdi + 0x28]
jmp 0x180039e52
lea rbx, [rdi + 0x30]
jmp 0x180039e52
lea rbx, [rdi + 0x38]
jmp 0x180039e52
lea rbx, [rdi + 0x40]
jmp 0x180039e52
lea rbx, [rdi + 0x48]
jmp 0x180039e52
xor ebx, ebx
mov rbx, qword [rbx]
mov qword [rsp + 0x28], rbx
lea rdx, [rbp - 0x79]
mov rcx, rdi
call fcn.18003f230
mov rax, qword [rbp - 0x79]
cmp eax, 1
jne 0x180039eb5
mov eax, dword [rbp - 0x75]
dec eax
cmp eax, 5
ja case.default.0x180039e86
cdqe
mov ecx, dword [r12 + rax*4 + 0x3a898]
add rcx, r12
jmp rcx
lea rax, [rdi + 0x20]
jmp 0x180039eae
lea rax, [rdi + 0x28]
jmp 0x180039eae
lea rax, [rdi + 0x30]
jmp 0x180039eae
lea rax, [rdi + 0x38]
jmp 0x180039eae
lea rax, [rdi + 0x40]
jmp 0x180039eae
lea rax, [rdi + 0x48]
jmp 0x180039eae
xor eax, eax
mov rax, qword [rax]
mov qword [rbp - 0x79], rax
cmp ebx, 2
jne 0x18003a505
cmp eax, ebx
jne 0x18003a505
movsxd r8, dword [rsp + 0x2c]
mov rcx, rax
shr rcx, 0x20
cmp r8d, ecx
setl cl
mov byte [rdi + 0x52], cl
mov rcx, rax
shr rcx, 0x20
movsxd rdx, ecx
mov rcx, r8
sub rcx, rdx
mov edx, 0xffffffff
add rcx, rsi
cmp rcx, rdx
seta cl
shr rax, 0x20
sub r8d, eax
mov byte [rdi + 0x53], cl
sete al
test r8d, r8d
mov byte [rdi + 0x50], al
sets al
mov byte [rdi + 0x51], al
jmp 0x18003a505
lea rdx, [rbp - 0x71]
mov rcx, rdi
call fcn.18003f230
mov rax, qword [rbp - 0x71]
cmp eax, 1
jne 0x180039f72
mov eax, dword [rbp - 0x6d]
dec eax
cmp eax, 5
ja case.default.0x180039f43
cdqe
mov ecx, dword [r12 + rax*4 + 0x3a8b0]
add rcx, r12
jmp rcx
lea rax, [rdi + 0x20]
jmp 0x180039f6b
lea rax, [rdi + 0x28]
jmp 0x180039f6b
lea rax, [rdi + 0x30]
jmp 0x180039f6b
lea rax, [rdi + 0x38]
jmp 0x180039f6b
lea rax, [rdi + 0x40]
jmp 0x180039f6b
lea rax, [rdi + 0x48]
jmp 0x180039f6b
xor eax, eax
mov rax, qword [rax]
mov qword [rbp - 0x71], rax
cmp eax, 4
jne 0x18003a505
shr rax, 0x20
mov rcx, rdi
mov edx, eax
call fcn.180040000
jmp 0x18003a505
movzx ebx, byte [rdi + 0x50]
lea rdx, [rbp - 0x69]
mov rcx, rdi
call fcn.18003f230
mov rax, qword [rbp - 0x69]
cmp eax, 1
jne 0x180039fed
mov eax, dword [rbp - 0x65]
dec eax
cmp eax, 5
ja case.default.0x180039fbe
cdqe
mov ecx, dword [r12 + rax*4 + 0x3a8c8]
add rcx, r12
jmp rcx
lea rax, [rdi + 0x20]
jmp 0x180039fe6
lea rax, [rdi + 0x28]
jmp 0x180039fe6
lea rax, [rdi + 0x30]
jmp 0x180039fe6
lea rax, [rdi + 0x38]
jmp 0x180039fe6
lea rax, [rdi + 0x40]
jmp 0x180039fe6
lea rax, [rdi + 0x48]
jmp 0x180039fe6
xor eax, eax
mov rax, qword [rax]
mov qword [rbp - 0x69], rax
cmp eax, 4
jne 0x18003a505
test bl, bl
je 0x18003a505
shr rax, 0x20
mov rcx, rdi
mov edx, eax
call fcn.180040000
jmp 0x18003a505
movzx ebx, byte [rdi + 0x50]
lea rdx, [rbp - 0x61]
mov rcx, rdi
call fcn.18003f230
mov rax, qword [rbp - 0x61]
cmp eax, 1
jne 0x18003a070
mov eax, dword [rbp - 0x5d]
dec eax
cmp eax, 5
ja case.default.0x18003a041
cdqe
mov ecx, dword [r12 + rax*4 + 0x3a8e0]
add rcx, r12
jmp rcx
lea rax, [rdi + 0x20]
jmp 0x18003a069
lea rax, [rdi + 0x28]
jmp 0x18003a069
lea rax, [rdi + 0x30]
jmp 0x18003a069
lea rax, [rdi + 0x38]
jmp 0x18003a069
lea rax, [rdi + 0x40]
jmp 0x18003a069
lea rax, [rdi + 0x48]
jmp 0x18003a069
xor eax, eax
mov rax, qword [rax]
mov qword [rbp - 0x61], rax
cmp eax, 4
jne 0x18003a505
test bl, bl
jne 0x18003a505
shr rax, 0x20
mov rcx, rdi
mov edx, eax
call fcn.180040000
jmp 0x18003a505
movzx ebx, byte [rdi + 0x51]
lea rdx, [rbp - 0x59]
mov rcx, rdi
call fcn.18003f230
mov rax, qword [rbp - 0x59]
cmp eax, 1
jne 0x180039fed
mov eax, dword [rbp - 0x55]
dec eax
cmp eax, 5
ja case.default.0x18003a0c8
cdqe
mov ecx, dword [r12 + rax*4 + 0x3a8f8]
add rcx, r12
jmp rcx
lea rax, [rdi + 0x20]
mov rax, qword [rdi + 0x20]
mov qword [rbp - 0x59], rax
jmp 0x180039fed
lea rax, [rdi + 0x28]
mov rax, qword [rdi + 0x28]
mov qword [rbp - 0x59], rax
jmp 0x180039fed
lea rax, [rdi + 0x30]
mov rax, qword [rdi + 0x30]
mov qword [rbp - 0x59], rax
jmp 0x180039fed
lea rax, [rdi + 0x38]
mov rax, qword [rdi + 0x38]
mov qword [rbp - 0x59], rax
jmp 0x180039fed
lea rax, [rdi + 0x40]
mov rax, qword [rdi + 0x40]
mov qword [rbp - 0x59], rax
jmp 0x180039fed
lea rax, [rdi + 0x48]
mov rax, qword [rdi + 0x48]
mov qword [rbp - 0x59], rax
jmp 0x180039fed
xor eax, eax
mov rax, qword [rax]
mov qword [rbp - 0x59], rax
jmp 0x180039fed
movzx ebx, byte [rdi + 0x51]
lea rdx, [rbp - 0x51]
mov rcx, rdi
call fcn.18003f230
mov rax, qword [rbp - 0x51]
cmp eax, 1
jne 0x18003a19d
mov eax, dword [rbp - 0x4d]
dec eax
cmp eax, 5
ja case.default.0x18003a16e
cdqe
mov ecx, dword [r12 + rax*4 + 0x3a910]
add rcx, r12
jmp rcx
lea rax, [rdi + 0x20]
jmp 0x18003a196
lea rax, [rdi + 0x28]
jmp 0x18003a196
lea rax, [rdi + 0x30]
jmp 0x18003a196
lea rax, [rdi + 0x38]
jmp 0x18003a196
lea rax, [rdi + 0x40]
jmp 0x18003a196
lea rax, [rdi + 0x48]
jmp 0x18003a196
xor eax, eax
mov rax, qword [rax]
mov qword [rbp - 0x51], rax
cmp eax, 4
jne 0x18003a505
test bl, bl
jne 0x18003a505
shr rax, 0x20
mov rcx, rdi
mov edx, eax
call fcn.180040000
jmp 0x18003a505
movzx ebx, byte [rdi + 0x52]
lea rdx, [rbp - 0x49]
mov rcx, rdi
call fcn.18003f230
mov rax, qword [rbp - 0x49]
cmp eax, 1
jne 0x180039fed
mov eax, dword [rbp - 0x45]
dec eax
cmp eax, 5
ja case.default.0x18003a1f5
cdqe
mov ecx, dword [r12 + rax*4 + 0x3a928]
add rcx, r12
jmp rcx
lea rax, [rdi + 0x20]
mov rax, qword [rdi + 0x20]
mov qword [rbp - 0x49], rax
jmp 0x180039fed
lea rax, [rdi + 0x28]
mov rax, qword [rdi + 0x28]
mov qword [rbp - 0x49], rax
jmp 0x180039fed
lea rax, [rdi + 0x30]
mov rax, qword [rdi + 0x30]
mov qword [rbp - 0x49], rax
jmp 0x180039fed
lea rax, [rdi + 0x38]
mov rax, qword [rdi + 0x38]
mov qword [rbp - 0x49], rax
jmp 0x180039fed
lea rax, [rdi + 0x40]
mov rax, qword [rdi + 0x40]
mov qword [rbp - 0x49], rax
jmp 0x180039fed
lea rax, [rdi + 0x48]
mov rax, qword [rdi + 0x48]
mov qword [rbp - 0x49], rax
jmp 0x180039fed
xor eax, eax
mov rax, qword [rax]
mov qword [rbp - 0x49], rax
jmp 0x180039fed
movzx ebx, byte [rdi + 0x52]
lea rdx, [rbp - 0x41]
mov rcx, rdi
call fcn.18003f230
mov rax, qword [rbp - 0x41]
cmp eax, 1
jne 0x18003a19d
mov eax, dword [rbp - 0x3d]
dec eax
cmp eax, 5
ja case.default.0x18003a29f
cdqe
mov ecx, dword [r12 + rax*4 + 0x3a940]
add rcx, r12
jmp rcx
lea rax, [rdi + 0x20]
mov rax, qword [rdi + 0x20]
mov qword [rbp - 0x41], rax
jmp 0x18003a19d
lea rax, [rdi + 0x28]
mov rax, qword [rdi + 0x28]
mov qword [rbp - 0x41], rax
jmp 0x18003a19d
lea rax, [rdi + 0x30]
mov rax, qword [rdi + 0x30]
mov qword [rbp - 0x41], rax
jmp 0x18003a19d
lea rax, [rdi + 0x38]
mov rax, qword [rdi + 0x38]
mov qword [rbp - 0x41], rax
jmp 0x18003a19d
lea rax, [rdi + 0x40]
mov rax, qword [rdi + 0x40]
mov qword [rbp - 0x41], rax
jmp 0x18003a19d
lea rax, [rdi + 0x48]
mov rax, qword [rdi + 0x48]
mov qword [rbp - 0x41], rax
jmp 0x18003a19d
xor eax, eax
mov rax, qword [rax]
mov qword [rbp - 0x41], rax
jmp 0x18003a19d
cmp byte [rdi + 0x52], 0
jne 0x18003a325
cmp byte [rdi + 0x50], 0
jne 0x18003a325
xor bl, bl
jmp 0x18003a327
mov bl, 1
lea rdx, [rbp - 0x39]
mov rcx, rdi
call fcn.18003f230
mov rax, qword [rbp - 0x39]
cmp eax, 1
jne 0x180039fed
mov eax, dword [rbp - 0x35]
dec eax
cmp eax, 5
ja case.default.0x18003a357
cdqe
mov ecx, dword [r12 + rax*4 + 0x3a958]
add rcx, r12
jmp rcx
lea rax, [rdi + 0x20]
mov rax, qword [rdi + 0x20]
mov qword [rbp - 0x39], rax
jmp 0x180039fed
lea rax, [rdi + 0x28]
mov rax, qword [rdi + 0x28]
mov qword [rbp - 0x39], rax
jmp 0x180039fed
lea rax, [rdi + 0x30]
mov rax, qword [rdi + 0x30]
mov qword [rbp - 0x39], rax
jmp 0x180039fed
lea rax, [rdi + 0x38]
mov rax, qword [rdi + 0x38]
mov qword [rbp - 0x39], rax
jmp 0x180039fed
lea rax, [rdi + 0x40]
mov rax, qword [rdi + 0x40]
mov qword [rbp - 0x39], rax
jmp 0x180039fed
lea rax, [rdi + 0x48]
mov rax, qword [rdi + 0x48]
mov qword [rbp - 0x39], rax
jmp 0x180039fed
xor eax, eax
mov rax, qword [rax]
mov qword [rbp - 0x39], rax
jmp 0x180039fed
cmp byte [rdi + 0x52], 0
jne 0x18003a3dd
cmp byte [rdi + 0x50], 0
jne 0x18003a3dd
mov bl, 1
jmp 0x18003a3df
xor bl, bl
lea rdx, [rbp - 0x31]
mov rcx, rdi
call fcn.18003f230
mov rax, qword [rbp - 0x31]
cmp eax, 1
jne 0x180039fed
mov eax, dword [rbp - 0x2d]
dec eax
cmp eax, 5
ja case.default.0x18003a40f
cdqe
mov ecx, dword [r12 + rax*4 + 0x3a970]
add rcx, r12
jmp rcx
lea rax, [rdi + 0x20]
mov rax, qword [rdi + 0x20]
mov qword [rbp - 0x31], rax
jmp 0x180039fed
lea rax, [rdi + 0x28]
mov rax, qword [rdi + 0x28]
mov qword [rbp - 0x31], rax
jmp 0x180039fed
lea rax, [rdi + 0x30]
mov rax, qword [rdi + 0x30]
mov qword [rbp - 0x31], rax
jmp 0x180039fed
lea rax, [rdi + 0x38]
mov rax, qword [rdi + 0x38]
mov qword [rbp - 0x31], rax
jmp 0x180039fed
lea rax, [rdi + 0x40]
mov rax, qword [rdi + 0x40]
mov qword [rbp - 0x31], rax
jmp 0x180039fed
lea rax, [rdi + 0x48]
mov rax, qword [rdi + 0x48]
mov qword [rbp - 0x31], rax
jmp 0x180039fed
xor eax, eax
mov rax, qword [rax]
mov qword [rbp - 0x31], rax
jmp 0x180039fed
movzx ebx, byte [rdi + 0x51]
lea rdx, [rbp - 0x29]
movzx esi, byte [rdi + 0x53]
mov rcx, rdi
call fcn.18003f230
mov rax, qword [rbp - 0x29]
cmp eax, 1
jne 0x18003a4e8
mov eax, dword [rbp - 0x25]
dec eax
cmp eax, 5
ja case.default.0x18003a4b9
cdqe
mov ecx, dword [r12 + rax*4 + 0x3a988]
add rcx, r12
jmp rcx
lea rax, [rdi + 0x20]
jmp 0x18003a4e1
lea rax, [rdi + 0x28]
jmp 0x18003a4e1
lea rax, [rdi + 0x30]
jmp 0x18003a4e1
lea rax, [rdi + 0x38]
jmp 0x18003a4e1
lea rax, [rdi + 0x40]
jmp 0x18003a4e1
lea rax, [rdi + 0x48]
jmp 0x18003a4e1
xor eax, eax
mov rax, qword [rax]
mov qword [rbp - 0x29], rax
cmp eax, 4
jne 0x18003a500
cmp bl, sil
je 0x18003a500
shr rax, 0x20
mov rcx, rdi
mov edx, eax
call fcn.180040000
mov esi, 0x80000000
mov ecx, dword [rdi + 0x18]
inc r14d
mov r8, qword [rdi + 8]
mov r10d, ecx
mov r9, qword [rdi]
mov rax, r8
sub rax, r9
cmp rcx, rax
jb 0x180039796
mov al, 1
add rsp, 0xf0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
movzx ebx, byte [rdi + 0x51]
lea rdx, [rbp - 0x21]
movzx esi, byte [rdi + 0x53]
mov rcx, rdi
call fcn.18003f230
mov rax, qword [rbp - 0x21]
cmp eax, 1
jne 0x18003a59b
mov eax, dword [rbp - 0x1d]
dec eax
cmp eax, 5
ja case.default.0x18003a56c
cdqe
mov ecx, dword [r12 + rax*4 + 0x3a9a0]
add rcx, r12
jmp rcx
lea rax, [rdi + 0x20]
jmp 0x18003a594
lea rax, [rdi + 0x28]
jmp 0x18003a594
lea rax, [rdi + 0x30]
jmp 0x18003a594
lea rax, [rdi + 0x38]
jmp 0x18003a594
lea rax, [rdi + 0x40]
jmp 0x18003a594
lea rax, [rdi + 0x48]
jmp 0x18003a594
xor eax, eax
mov rax, qword [rax]
mov qword [rbp - 0x21], rax
cmp eax, 4
jne 0x18003a500
cmp bl, sil
jne 0x18003a500
jmp 0x18003a4f2
cmp byte [rdi + 0x50], 0
jne 0x18003a5c5
movzx eax, byte [rdi + 0x53]
cmp byte [rdi + 0x51], al
jne 0x18003a5c5
xor bl, bl
jmp 0x18003a5c7
mov bl, 1
lea rdx, [rbp - 0x19]
mov rcx, rdi
call fcn.18003f230
mov rax, qword [rbp - 0x19]
cmp eax, 1
jne 0x180039fed
mov eax, dword [rbp - 0x15]
dec eax
cmp eax, 5
ja case.default.0x18003a5f7
cdqe
mov ecx, dword [r12 + rax*4 + 0x3a9b8]
add rcx, r12
jmp rcx
lea rax, [rdi + 0x20]
mov rax, qword [rdi + 0x20]
mov qword [rbp - 0x19], rax
jmp 0x180039fed
lea rax, [rdi + 0x28]
mov rax, qword [rdi + 0x28]
mov qword [rbp - 0x19], rax
jmp 0x180039fed
lea rax, [rdi + 0x30]
mov rax, qword [rdi + 0x30]
mov qword [rbp - 0x19], rax
jmp 0x180039fed
lea rax, [rdi + 0x38]
mov rax, qword [rdi + 0x38]
mov qword [rbp - 0x19], rax
jmp 0x180039fed
lea rax, [rdi + 0x40]
mov rax, qword [rdi + 0x40]
mov qword [rbp - 0x19], rax
jmp 0x180039fed
lea rax, [rdi + 0x48]
mov rax, qword [rdi + 0x48]
mov qword [rbp - 0x19], rax
jmp 0x180039fed
xor eax, eax
mov rax, qword [rax]
mov qword [rbp - 0x19], rax
jmp 0x180039fed
cmp byte [rdi + 0x50], 0
jne 0x18003a680
movzx eax, byte [rdi + 0x53]
cmp byte [rdi + 0x51], al
jne 0x18003a680
mov bl, 1
jmp 0x18003a682
xor bl, bl
lea rdx, [rbp - 0x11]
mov rcx, rdi
call fcn.18003f230
mov rax, qword [rbp - 0x11]
cmp eax, 1
jne 0x180039fed
mov eax, dword [rbp - 0xd]
dec eax
cmp eax, 5
ja case.default.0x18003a6b2
cdqe
mov ecx, dword [r12 + rax*4 + 0x3a9d0]
add rcx, r12
jmp rcx
lea rax, [rdi + 0x20]
mov rax, qword [rdi + 0x20]
mov qword [rbp - 0x11], rax
jmp 0x180039fed
lea rax, [rdi + 0x28]
mov rax, qword [rdi + 0x28]
mov qword [rbp - 0x11], rax
jmp 0x180039fed
lea rax, [rdi + 0x30]
mov rax, qword [rdi + 0x30]
mov qword [rbp - 0x11], rax
jmp 0x180039fed
lea rax, [rdi + 0x38]
mov rax, qword [rdi + 0x38]
mov qword [rbp - 0x11], rax
jmp 0x180039fed
lea rax, [rdi + 0x40]
mov rax, qword [rdi + 0x40]
mov qword [rbp - 0x11], rax
jmp 0x180039fed
lea rax, [rdi + 0x48]
mov rax, qword [rdi + 0x48]
mov qword [rbp - 0x11], rax
jmp 0x180039fed
xor eax, eax
mov rax, qword [rax]
mov qword [rbp - 0x11], rax
jmp 0x180039fed
xor al, al
jmp 0x18003a526