Function at 0x1400301a0
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x10d40]
mov eax, 0x10e40
call fcn.1400e08d0
sub rsp, rax
mov rcx, qword [rbp + 0x10d80]
movzx ebx, r8b
xor edi, edi
mov dword [rsp + 0x60], r9d
mov rsi, rdx
mov dword [rsp + 0x40], ebx
test rcx, rcx
je 0x140030218
lea rdx, [rbp + 0x120]
sub rdx, rcx
nop
movzx eax, word [rcx]
add rcx, 2
mov word [rdx + rcx - 2], ax
test ax, ax
jne 0x1400301f0
mov rax, qword [rbp + 0x10d88]
test rax, rax
jne 0x140030bd0
xor cl, cl
jmp 0x140030c48
cmp bl, 3
jne 0x140030232
mov word [rbp + 0x120], di
mov qword [rbp + 0x10d88], rdi
xor cl, cl
jmp 0x140030c48
lea rdx, [0x1400f9648]
mov r8d, 6
mov rcx, rsi
call fcn.1400d67b0
test eax, eax
mov rax, qword [0x1401255c8]
jne 0x14003026c
cmp qword [rax + 0xd8], rdi
lea rbx, [rsi + 0xc]
mov ecx, 0x41
mov esi, 0xc1
cmovne esi, ecx
jmp 0x1400302c1
cmp qword [rax + 0xd8], rdi
je 0x140030ba7
lea rdx, [0x1400f9658]
mov r8d, 5
mov rcx, rsi
call fcn.1400d67b0
test eax, eax
jne 0x14003029b
lea rbx, [rsi + 0xa]
lea esi, [rax + 0x42]
jmp 0x1400302c1
lea rdx, [0x1400f4be0]
mov r8d, 6
mov rcx, rsi
call fcn.1400d67b0
test eax, eax
jne 0x140030ba7
lea rbx, [rsi + 0xc]
mov esi, 0x62
movzx eax, word [rbx]
mov dword [rsp + 0x44], esi
test ax, ax
je 0x140030b30
cmp ax, 0x20
je 0x1400302e1
cmp ax, 9
jne 0x140030b9c
movzx eax, word [rbx]
cmp ax, 0x20
je 0x1400302f0
cmp ax, 9
jne 0x1400302f6
add rbx, 2
jmp 0x1400302e1
cmp word [rbx], di
je 0x140030b30
movzx edi, word [rbx + 2]
xor eax, eax
xor edx, edx
mov rcx, rbx
mov word [rbx + 2], ax
call fcn.1400bd8b0
mov word [rbx + 2], di
test eax, eax
je 0x140030b9c
mov rdi, qword [rbp + 0x10d60]
cmp byte [rdi + 0x7c], 0
je 0x14003038a
mov rax, qword [0x1401255c8]
mov rcx, qword [rax + 0xd8]
cmp byte [rcx + 0x5c], 0
jne 0x14003038a
cmp esi, 0x62
je 0x140030350
cmp esi, 0x42
setne al
add al, 0x41
mov byte [rcx + 0x5c], al
mov rsi, qword [rbp + 0x10d60]
mov rax, qword [rsi + 8]
test rax, rax
je 0x1400303e5
movzx eax, byte [rax]
cmp al, 9
jb 0x14003036f
cmp al, 0x20
jbe 0x140030383
cmp al, 0x21
je 0x140030383
cmp al, 0x69
jb 0x14003037b
cmp al, 0x6b
jbe 0x140030383
cmp al, 0x6f
jb 0x1400303e5
cmp al, 0x71
ja 0x1400303e5
mov byte [rsp + 0x48], 1
jmp 0x1400303ea
mov rax, qword [0x1401255c8]
mov rcx, qword [rax + 0xd8]
test rcx, rcx
je 0x140030350
movzx eax, byte [rcx + 0x5c]
cmp esi, eax
jne 0x140030350
cmp esi, 0x41
jne 0x1400303c5
mov r8, qword [rbp + 0x10d68]
lea rdx, [0x1400f9670]
mov rcx, rdi
call fcn.14004e5d0
jmp 0x140032c18
cmp esi, 0x42
jne 0x140030350
mov r8, qword [rbp + 0x10d68]
lea rdx, [0x1400f96e0]
mov rcx, rdi
call fcn.14004e5d0
jmp 0x140032c18
mov byte [rsp + 0x48], 0
cmp word [rbx], 0
mov byte [rbp + 0x10d80], 0
je 0x140030b62
nop dword [rax + rax]
lea rdx, [0x1400f9750]
mov rcx, rbx
call fcn.140007500
mov rdi, rax
test rax, rax
jne 0x140030429
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea rdi, [rbx + rcx*2 - 2]
mov rax, qword [0x1401255c8]
mov r8, rdi
sub r8, rbx
sar r8, 1
cmp qword [rax + 0xd8], 0
mov qword [rsp + 0x60], r8
je 0x140030572
mov rax, qword [rax + 0xd8]
xor ecx, ecx
mov esi, ecx
cmp dword [rax + 0x20], ecx
jle 0x1400304a9
mov qword [rsp + 0x78], rcx
mov rax, qword [rax + 0x18]
or r9, 0xffffffffffffffff
mov rdx, qword [rax + rcx]
mov rcx, rbx
mov rdx, qword [rdx + 0x28]
call fcn.1400b8940
test eax, eax
je 0x140030a5f
mov rcx, qword [rsp + 0x78]
mov rax, qword [0x1401255c8]
mov r8, qword [rsp + 0x60]
mov rax, qword [rax + 0xd8]
add rcx, 0x18
inc esi
mov qword [rsp + 0x78], rcx
cmp esi, dword [rax + 0x20]
jl 0x140030461
mov rcx, qword [rbp + 0x10d60]
xor esi, esi
xor r9d, r9d
mov rdx, rbx
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 2
call fcn.14003bea0
mov ecx, dword [rsp + 0x44]
mov qword [rsp + 0x58], rax
test rax, rax
je 0x1400304f7
movzx eax, byte [rax + 0x22]
xor eax, ecx
test eax, 0xffffffbf
jne 0x140030a7a
cmp ecx, 0x62
je 0x140030a7a
mov qword [rsp + 0x58], rsi
cmp ecx, 0x41
je 0x140030558
mov rax, qword [0x1401255c8]
mov dword [rsp + 0x70], esi
mov rcx, qword [rax + 0xd8]
cmp dword [rcx + 0x54], esi
jle 0x140030558
mov rax, qword [rcx + 0x40]
mov r9, qword [rsp + 0x60]
or r8, 0xffffffffffffffff
mov rcx, qword [rax + rsi*8]
mov rdx, rbx
mov rcx, qword [rcx + 0x28]
call fcn.1400b8940
test eax, eax
mov rax, qword [0x1401255c8]
mov rcx, qword [rax + 0xd8]
je 0x14003060c
mov edx, dword [rsp + 0x70]
inc rsi
inc edx
mov dword [rsp + 0x70], edx
cmp edx, dword [rcx + 0x54]
jl 0x140030513
mov rcx, qword [rsp + 0x58]
test rcx, rcx
jne 0x140030a7f
mov r8, qword [rsp + 0x60]
mov rsi, qword [rbp + 0x10d60]
cmp word [rbx], 0
je 0x140030b0e
mov r9d, dword [rsp + 0x44]
mov rdx, rbx
mov rcx, rsi
call fcn.14003be20
mov rsi, rax
test rax, rax
je 0x140030b0e
movzx eax, byte [rax + 0x23]
test al, al
jne 0x1400305a8
mov rax, qword [rsi + 0x10]
movzx eax, byte [rax + 0x23]
cmp al, 1
jne 0x140030b15
mov r8, qword [rsp + 0x60]
lea rdx, [0x1400f8960]
or r9, 0xffffffffffffffff
mov rcx, rbx
call fcn.1400b8940
test eax, eax
je 0x140030b15
mov eax, dword [rsp + 0x44]
cmp eax, 0x41
jne 0x140030619
mov rdx, qword [0x1401255c8]
mov rax, qword [rdx + 0xd8]
cmp dword [rax + 0x54], 0x7d0
jge 0x140030aae
movsxd rcx, dword [rax + 0x54]
mov rax, qword [rax + 0x40]
mov qword [rax + rcx*8], rsi
mov rax, qword [rdx + 0xd8]
inc dword [rax + 0x54]
jmp 0x140030623
mov rax, qword [rcx + 0x40]
mov rcx, qword [rax + rsi*8]
jmp 0x14003055d
cmp eax, 0xc1
jne 0x140030623
mov byte [rsi + 0x22], al
movzx eax, word [rdi]
cmp ax, 0x20
je 0x140030632
cmp ax, 9
jne 0x140030638
add rdi, 2
jmp 0x140030623
movzx eax, word [rdi]
test eax, eax
je 0x140030a46
cmp eax, 0x2c
je 0x140030a2d
cmp eax, 0x3a
je 0x14003065f
cmp eax, 0x3d
jne 0x14003066e
add rdi, 2
mov sil, 1
jmp 0x140030671
cmp word [rdi + 2], 0x3d
jne 0x140030ac9
add rdi, 4
xor sil, sil
mov edx, 0x2c
xor r9d, r9d
xor r8d, r8d
mov rcx, rdi
call fcn.1400bb280
movsxd rcx, eax
lea rax, [rdi + rcx*2]
lea rdi, [rdi + rcx*2 - 2]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x78], rdi
cmp rdi, rbx
jbe 0x1400306bd
nop
movzx eax, word [rdi]
cmp ax, 0x20
je 0x1400306af
cmp ax, 9
jne 0x1400306b8
sub rdi, 2
cmp rdi, rbx
ja 0x1400306a0
mov qword [rsp + 0x78], rdi
movzx eax, word [rdi + 2]
xor edx, edx
mov word [rsp + 0x40], ax
mov word [rdi + 2], dx
test sil, sil
je 0x14003095c
lea rcx, [rbp + 0x8d30]
sub rcx, rbx
nop
movzx eax, word [rbx]
add rbx, 2
mov word [rcx + rbx - 2], ax
test ax, ax
jne 0x1400306e0
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rbp + 0x8d30]
repne scasw ax, word [rdi]
mov dword [rsp + 0x60], 1
mov rsi, rdx
not rcx
mov rbx, rdx
mov qword [rbp - 0x80], rdx
dec rcx
mov rax, rcx
mov qword [rsp + 0x58], rcx
cmp word [rbp + 0x8d30], dx
je 0x140030950
cmp word [0x1400f4c18], dx
je 0x140030950
cmp rax, 0x1388
jb 0x1400308eb
lea rdi, [rbp + 0x8d30]
mov dword [rsp + 0x70], edx
mov qword [rbp - 0x78], rdi
nop word [rax + rax]
lea rdx, [0x1400f4c18]
mov rcx, rdi
call fcn.1400d83b8
mov rcx, rax
mov qword [rsp + 0x50], rax
test rax, rax
je 0x14003084a
mov r10d, dword [rsp + 0x70]
mov edx, dword [rsp + 0x60]
mov rdi, rax
mov rax, qword [rbp - 0x78]
inc r10d
dec edx
sub rdi, rax
mov dword [rsp + 0x70], r10d
mov dword [rsp + 0x60], edx
sar rdi, 1
lea r8, [rdi + rbx]
mov qword [rbp - 0x70], r8
add r8, 2
cmp r8, qword [rbp - 0x80]
jb 0x14003080a
mov rax, rcx
movsxd rcx, r8d
lea r9, [rbp + 0x8d30]
sub rax, r9
movsxd r9, dword [rsp + 0x58]
mov r8d, edx
sar rax, 1
mov edx, r10d
cdqe
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov ecx, 1
call fcn.1400b9540
mov rcx, rsi
lea rdx, [rax + rax]
mov qword [rbp - 0x80], rax
call fcn.1400d6568
test rax, rax
je 0x140030895
mov rsi, rax
mov rax, qword [rbp - 0x78]
test rdi, rdi
je 0x140030823
lea r8, [rdi + rdi]
lea rcx, [rsi + rbx*2]
mov rdx, rax
call fcn.1400d72b0
mov rbx, qword [rbp - 0x70]
mov eax, dword [0x1400f4c10]
mov rdi, qword [rsp + 0x50]
add rbx, 2
mov dword [rsi + rbx*2 - 4], eax
mov eax, dword [rsp + 0x60]
add rdi, 2
mov qword [rbp - 0x78], rdi
test eax, eax
jne 0x140030760
mov eax, dword [rsp + 0x70]
test eax, eax
je 0x14003094e
lea rcx, [rbp + 0x8d30]
mov rax, rdi
sub rax, rcx
mov rcx, qword [rsp + 0x58]
sar rax, 1
sub rcx, rax
mov qword [rsp + 0x58], rcx
je 0x1400308c7
lea rax, [rcx + rbx]
mov qword [rbp - 0x78], rax
cmp rax, qword [rbp - 0x80]
jb 0x1400308b3
lea rdx, [rax + rax + 2]
mov rcx, rsi
call fcn.1400d6568
test rax, rax
jne 0x1400308ab
test rsi, rsi
je 0x14003094e
mov rcx, rsi
call fcn.1400d6528
jmp 0x14003094e
mov rcx, qword [rsp + 0x58]
mov rsi, rax
lea r8, [rcx + rcx]
lea rcx, [rsi + rbx*2]
mov rdx, rdi
call fcn.1400d72b0
mov rbx, qword [rbp - 0x78]
xor eax, eax
lea r8, [rbx + rbx + 2]
lea rcx, [rbp + 0x8d30]
mov rdx, rsi
mov word [rsi + rbx*2], ax
call fcn.1400d72b0
mov rcx, rsi
call fcn.1400d6528
jmp 0x14003094e
mov rsi, qword [rsp + 0x58]
lea rbx, [rbp + 0x8d30]
nop word [rax + rax]
lea rdx, [0x1400f4c18]
mov rcx, rbx
call fcn.1400d83b8
mov rdi, rax
test rax, rax
je 0x14003094e
lea rbx, [rax + 4]
lea rcx, [rbp + 0x8d30]
mov r8, rsi
sub rax, rcx
lea rdx, [rdi + 2]
mov rcx, rbx
sar rax, 1
sub r8, rax
add r8, r8
call fcn.1400d72b0
mov eax, dword [0x1400f4c10]
inc rsi
dec dword [rsp + 0x60]
mov dword [rdi], eax
jne 0x140030900
xor edx, edx
mov rdi, qword [rsp + 0x78]
lea rbx, [rbp + 0x8d30]
mov esi, dword [rsp + 0x44]
cmp esi, 0x62
jne 0x140030972
mov rcx, qword [rbp + 0x10d60]
mov byte [rcx + 0x7d], 1
jmp 0x1400309aa
cmp byte [rsp + 0x48], 0
je 0x1400309aa
cmp byte [rbp + 0x10d80], 0
jne 0x1400309aa
mov rcx, qword [rbp + 0x10d60]
mov qword [rsp + 0x20], rdx
xor r9d, r9d
xor r8d, r8d
mov dl, 0x75
call fcn.1400332c0
test eax, eax
je 0x140030b0e
mov byte [rbp + 0x10d80], 1
xor eax, eax
mov rdx, rbx
mov rbx, qword [rbp + 0x10d60]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
mov rcx, rbx
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call fcn.1400301a0
test eax, eax
je 0x140030b0e
cmp esi, 0x62
jne 0x1400309fb
mov rcx, qword [rbx + 8]
mov byte [rbx + 0x7d], 0
movzx eax, byte [rcx]
mov qword [rcx + 0x10], rax
mov rax, qword [rbx + 8]
mov byte [rax], 8
movzx eax, word [rsp + 0x40]
mov word [rdi + 2], ax
mov rax, qword [rsp + 0x68]
cmp word [rax], 0x2c
jne 0x140030a28
lea rbx, [rax + 2]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x140030a22
cmp ax, 9
jne 0x140030a49
add rbx, 2
jmp 0x140030a13
mov rbx, rax
jmp 0x140030a49
lea rbx, [rdi + 2]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x140030a40
cmp ax, 9
jne 0x140030a49
add rbx, 2
jmp 0x140030a31
mov rbx, rdi
cmp word [rbx], 0
je 0x140030ae4
mov rsi, qword [rbp + 0x10d60]
jmp 0x140030400
mov rcx, qword [rbp + 0x10d60]
lea rdx, [0x1400f9760]
mov r8, rbx
call fcn.14004e5d0
jmp 0x140032c18
mov rcx, qword [rsp + 0x58]
movzx eax, byte [rcx + 0x22]
lea rdx, [0x1400f97e0]
lea rcx, [0x1400f97a8]
shr al, 6
and al, 1
cmovne rdx, rcx
mov rcx, qword [rbp + 0x10d60]
mov r8, rbx
call fcn.14004e5d0
jmp 0x140032c18
mov rcx, qword [rbp + 0x10d60]
lea rdx, [0x1400f9898]
mov r8, rbx
call fcn.14004e5d0
jmp 0x140032c18
mov rcx, qword [rbp + 0x10d60]
lea rdx, [0x1400f8f30]
mov r8, rbx
call fcn.14004e5d0
jmp 0x140032c18
cmp byte [rbp + 0x10d80], 0
je 0x140030b62
mov rcx, qword [rbp + 0x10d60]
xor r9d, r9d
xor r8d, r8d
mov dl, 0x76
mov qword [rsp + 0x20], 0
call fcn.1400332c0
test eax, eax
jne 0x140030b62
xor eax, eax
jmp 0x140032c18
mov rcx, qword [rbp + 0x10d60]
lea rdx, [0x1400f9840]
mov r8, rbx
call fcn.14004e5d0
jmp 0x140032c18
mov rdi, qword [rbp + 0x10d60]
cmp byte [rdi + 0x7c], 0
je 0x140030b81
mov rax, qword [0x1401255c8]
mov rcx, qword [rax + 0xd8]
movzx eax, byte [rcx + 0x5c]
test al, al
jne 0x140030b6c
mov eax, 0x46
cmp esi, 0x42
cmove esi, eax
mov byte [rcx + 0x5c], sil
mov eax, 1
jmp 0x140032c18
cmp al, 0x46
jne 0x140030b81
cmp esi, 0x62
jne 0x140030b81
mov byte [rcx + 0x5c], 0x66
lea eax, [rsi - 0x61]
jmp 0x140032c18
mov r8, qword [rbp + 0x10d68]
lea rdx, [0x1400f8f30]
mov rcx, rdi
call fcn.14004e5d0
jmp 0x140032c18
mov rsi, qword [rbp + 0x10d68]
mov ebx, dword [rsp + 0x40]
mov rcx, qword [rbp + 0x10d60]
lea rdx, [rbp + 0x120]
mov r9b, 1
mov r8, rsi
call fcn.140032e50
mov qword [rbp + 0x10d88], rax
test rax, rax
je 0x140030b0e
lea rcx, [rax + 2]
mov rsi, rcx
movzx eax, word [rsi]
cmp ax, 0x20
je 0x140030be6
cmp ax, 9
jne 0x140030bec
add rsi, 2
jmp 0x140030bd7
movzx eax, word [rcx]
cmp ax, word [0x1401255b4]
je 0x140030c41
test ax, ax
je 0x140030c41
cmp ax, 0x20
je 0x140030c41
cmp ax, 9
je 0x140030c41
cmp ax, 0x28
jne 0x140030c3d
lea rdx, [0x1400f89b4]
lea rcx, [rbp + 0x120]
call fcn.1400d5fdc
test eax, eax
je 0x140030c41
lea rdx, [0x1400f89c0]
lea rcx, [rbp + 0x120]
call fcn.1400d5fdc
test eax, eax
je 0x140030c41
xor cl, cl
jmp 0x140030c43
mov cl, 1
mov r9d, dword [rsp + 0x60]
movzx eax, word [0x1401255b4]
mov byte [rsp + 0x48], cl
mov byte [rbp + 0x10d80], 0
lea r8, [0x140000000]
cmp word [rsi], ax
jne 0x140030c80
movzx eax, word [rsi + 2]
add rsi, 2
cmp ax, 0x20
je 0x140030c66
cmp ax, 9
jne 0x1400315b5
jmp 0x140030c66
test bl, bl
jne 0x1400318ca
test r9b, r9b
jne 0x1400315c3
test cl, cl
je 0x14003121e
lea rdx, [0x1400f89b4]
lea rcx, [rbp + 0x120]
call fcn.1400d5fdc
test eax, eax
jne 0x140031217
movzx ecx, word [rsi]
cmp cx, 0x28
je case.0x140030e63.34
cmp cx, word [0x1401255b8]
jne 0x140030ce2
movzx eax, word [rsi + 2]
cmp ax, 0x20
je case.0x140030e63.34
cmp ax, 9
je case.0x140030e63.34
movzx eax, word [0x1401255b4]
mov r8d, 0x20
mov dword [rbp - 0x40], 0x7b
mov word [rbp - 0x66], ax
mov eax, 0x28
mov word [rbp - 0x68], r8w
mov word [rbp - 0x64], ax
mov eax, 9
mov rdi, rsi
mov word [rbp - 0x62], ax
mov eax, 0x3c
mov word [rbp - 0x60], ax
mov eax, 0x3e
mov word [rbp - 0x5e], ax
mov eax, 0x3a
mov word [rbp - 0x5c], ax
mov eax, 0x3d
mov word [rbp - 0x5a], ax
mov eax, 0x2b
mov word [rbp - 0x58], ax
mov eax, 0x2d
mov word [rbp - 0x56], ax
mov eax, 0x2a
mov word [rbp - 0x54], ax
mov eax, 0x2f
mov word [rbp - 0x52], ax
mov eax, 0x21
mov word [rbp - 0x50], ax
mov eax, 0x7e
mov word [rbp - 0x4e], ax
mov eax, 0x26
mov word [rbp - 0x4c], ax
mov eax, 0x7c
mov word [rbp - 0x4a], ax
mov eax, 0x5e
mov word [rbp - 0x48], ax
mov eax, 0x5b
mov word [rbp - 0x46], ax
mov eax, 0x2e
mov word [rbp - 0x44], ax
mov eax, 0x3f
mov word [rbp - 0x42], ax
test cx, cx
je 0x140030dd7
movzx edx, word [rsi]
test dx, dx
je 0x140030dd7
lea rcx, [rbp - 0x68]
mov eax, r8d
cmp dx, ax
je 0x140030e20
movzx eax, word [rcx + 2]
add rcx, 2
test ax, ax
jne 0x140030db8
movzx edx, word [rdi + 2]
add rdi, 2
test dx, dx
jne 0x140030db1
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
lea rdi, [rsi + rcx*2 - 2]
lea rdx, [0x1400f5850]
mov r8d, 3
mov rcx, rsi
call fcn.1400d67b0
test eax, eax
jne 0x140030e35
movzx edx, word [rsi + 6]
lea rcx, [rbp - 0x68]
call fcn.1400d75e4
test rax, rax
je 0x140030e35
mov bl, 1
jmp 0x140030e37
movzx eax, word [rdi]
cmp ax, r8w
je 0x140030e2f
cmp ax, 9
jne 0x140030deb
add rdi, 2
jmp 0x140030e20
xor bl, bl
movzx eax, word [rdi]
add eax, 0xffffffdf
cmp eax, 0x4d
ja case.0x140030e63.34
lea r8, [0x140000000]
cdqe
movzx eax, byte [r8 + rax + 0x32c50]
mov ecx, dword [r8 + rax*4 + 0x32c2c]
add rcx, r8
jmp rcx
mov bl, 0x12
mov dword [rsp + 0x40], ebx
jmp 0x140031127
movzx ecx, word [rdi + 2]
sub ecx, 0x3d
je 0x140030e88
dec ecx
je 0x140030ecd
mov bl, 0x16
mov dword [rsp + 0x40], ebx
jmp 0x140031127
mov bl, 0x17
mov eax, 0x20
mov dword [rsp + 0x40], ebx
mov word [rdi + 2], ax
jmp 0x140031127
cmp word [rdi + 2], 0x3d
jne 0x140030eb7
mov bl, 0x15
mov eax, 0x20
mov dword [rsp + 0x40], ebx
mov word [rdi + 2], ax
jmp 0x140031127
mov bl, 0x14
mov dword [rsp + 0x40], ebx
jmp 0x140031127
cmp word [rdi + 2], 0x3d
jne case.0x140030e63.34
mov bl, 0x13
mov eax, 0x20
mov dword [rsp + 0x40], ebx
mov word [rdi + 2], ax
jmp 0x140031127
test bl, bl
jne case.0x140030e63.34
lea rdx, [0x1400f4b68]
mov r8d, 7
mov rcx, rdi
call fcn.1400d67b0
test eax, eax
jne case.0x140030e63.34
mov dword [rdi], 0x200020
mov dword [rdi + 4], 0x200020
mov bl, 0xf
mov edx, 0x20
mov dword [rdi + 8], 0x200020
mov dword [rsp + 0x40], ebx
mov word [rdi + 0xc], dx
jmp 0x140031127
test bl, bl
jne case.0x140030e63.34
lea rdx, [0x1400f4bb0]
mov r8d, 8
mov rcx, rdi
call fcn.1400d67b0
test eax, eax
jne case.0x140030e63.34
mov dword [rdi], 0x200020
mov dword [rdi + 4], 0x200020
mov bl, 0xb
mov dword [rdi + 8], 0x200020
mov dword [rdi + 0xc], 0x200020
mov dword [rsp + 0x40], ebx
jmp 0x140031127
movzx ecx, word [rdi + 2]
call fcn.140014d90
movzx r11d, ax
cmp r11d, 0x4e
je 0x140031012
cmp r11d, 0x53
je 0x140030fa6
cmp r11d, 0x6e
je 0x140031012
cmp r11d, 0x73
jne case.0x140030e63.34
test bl, bl
jne case.0x140030e63.34
lea rbx, [rdi + 4]
movzx eax, word [rbx]
cmp ax, 0x20
je 0x140030fc1
cmp ax, 9
jne 0x140030fc7
add rbx, 2
jmp 0x140030fb2
lea rdx, [0x1400f98c8]
mov r8d, 3
mov rcx, rbx
call fcn.1400d67b0
mov edx, 0x20
test eax, eax
je 0x140030fed
mov bl, 0xd
mov dword [rsp + 0x40], ebx
jmp 0x140031000
mov dword [rbx], 0x200020
mov byte [rsp + 0x40], 0xe
mov word [rbx + 4], dx
mov ebx, dword [rsp + 0x40]
mov word [rdi + 2], dx
cmp bl, 0x11
jne 0x140031127
jmp 0x1400311dc
test bl, bl
jne case.0x140030e63.34
mov bl, 9
mov eax, 0x20
mov dword [rsp + 0x40], ebx
mov word [rdi + 2], ax
jmp 0x140031127
lea rdx, [0x1400f98c8]
mov r8d, 3
mov rcx, rdi
call fcn.1400d67b0
test eax, eax
jne case.0x140030e63.34
movzx eax, word [rdi + 6]
lea rbx, [rdi + 6]
cmp ax, 0x20
je 0x140031063
cmp ax, 9
jne case.0x140030e63.34
mov eax, 0x20
mov dword [rdi], 0x200020
mov word [rdi + 4], ax
movzx eax, word [rbx]
cmp ax, 0x20
je 0x140031081
cmp ax, 9
jne 0x140031087
add rbx, 2
jmp 0x140031072
lea rdx, [0x1400f4bd8]
mov r8d, 2
mov rcx, rbx
call fcn.1400d67b0
test eax, eax
jne 0x1400310ad
mov byte [rsp + 0x40], 0xa
mov dword [rbx], 0x200020
jmp 0x140031123
lea rdx, [0x1400f4b68]
mov r8d, 7
mov rcx, rbx
call fcn.1400d67b0
test eax, eax
jne 0x1400310ea
mov dword [rbx], 0x200020
mov dword [rbx + 4], 0x200020
mov edx, 0x20
mov dword [rbx + 8], 0x200020
mov byte [rsp + 0x40], 0x10
mov word [rbx + 0xc], dx
jmp 0x140031123
lea rdx, [0x1400f4bb0]
mov r8d, 8
mov rcx, rbx
call fcn.1400d67b0
test eax, eax
jne 0x140031123
mov dword [rbx], 0x200020
mov dword [rbx + 4], 0x200020
mov dword [rbx + 8], 0x200020
mov dword [rbx + 0xc], 0x200020
mov byte [rsp + 0x40], 0xc
mov ebx, dword [rsp + 0x40]
movzx eax, word [0x1401255b4]
mov word [rdi], ax
cmp bl, 0xf
je 0x14003113f
cmp bl, 0x10
jne 0x1400315b5
lea rdx, [0x1400f8aa8]
mov rcx, rdi
call fcn.1400b8ca0
mov rdi, rax
test rax, rax
je 0x1400311a2
nop word [rax + rax]
movzx edx, word [rdi - 2]
lea rcx, [0x1400f5bc0]
call fcn.1400d75e4
test rax, rax
je 0x14003118a
movzx edx, word [rdi + 6]
lea rcx, [0x1400f5bc0]
call fcn.1400d75e4
test rax, rax
jne 0x1400311c1
lea rcx, [rdi + 6]
lea rdx, [0x1400f8aa8]
call fcn.1400b8ca0
mov rdi, rax
test rax, rax
jne 0x140031160
mov r8, qword [rbp + 0x10d68]
mov rcx, qword [rbp + 0x10d60]
lea rdx, [0x1400f98d0]
call fcn.14004e5d0
jmp 0x140032c18
movzx eax, word [0x1401255b4]
mov dword [rdi + 2], 0x200020
mov word [rdi], ax
jmp 0x1400315b5
mov byte [rsp + 0x40], 0x11
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rsi
repne scasw ax, word [rdi]
not rcx
lea rdx, [rsi + rcx*2 - 4]
cmp word [rdx], 0x7b
jne 0x1400318ca
mov word [rdx], ax
sub rdx, rsi
mov rcx, rsi
sar rdx, 1
call fcn.140024310
mov byte [rbp + 0x10d80], 1
jmp 0x1400318ca
lea r8, [0x140000000]
movzx edi, word [rsi]
movzx edx, word [rsi + 2]
lea rbx, [rsi + 2]
lea eax, [rdi - 0x26]
cmp eax, 0x56
ja case.0x14003124b.47
cdqe
movzx eax, byte [r8 + rax + 0x32cc8]
mov ecx, dword [r8 + rax*4 + 0x32ca0]
add rcx, r8
jmp rcx
mov dil, 1
mov dword [rsp + 0x40], edi
jmp 0x14003135c
cmp dx, 0x3d
jne case.0x14003124b.47
mov dil, 2
jmp 0x1400313a0
cmp word [rbp + 0x120], 0x2b
jne 0x140031286
cmp word [rbp + 0x122], 0
jne 0x140031286
mov al, 1
mov dil, 4
jmp 0x1400312be
xor al, al
cmp dx, 0x3d
jne case.0x14003124b.47
mov dil, 4
jmp 0x1400312be
cmp word [rbp + 0x120], 0x2d
jne 0x1400312af
cmp word [rbp + 0x122], 0
jne 0x1400312af
mov al, 1
jmp 0x1400312bb
xor al, al
cmp dx, 0x3d
jne case.0x14003124b.47
mov dil, 5
mov dword [rsp + 0x40], edi
test al, al
je 0x140031342
movzx eax, word [rbx]
cmp ax, 0x20
je 0x1400312d5
cmp ax, 9
jne 0x1400312db
add rbx, 2
jmp 0x1400312c6
lea rdx, [0x1400f9930]
mov rcx, rbx
call fcn.140007500
mov rsi, qword [rbp + 0x10d68]
test rax, rax
je 0x140031301
mov bl, 3
mov dword [rsp + 0x40], ebx
jmp 0x1400315b5
or rcx, 0xffffffffffffffff
mov rdi, rbx
mov rdx, rbx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx + rcx]
lea rdi, [rcx - 1]
mov rcx, rsi
call fcn.1400d72b0
movzx edx, word [0x1401255b4]
mov eax, 0x31
mov word [rsi + rdi*2], dx
mov word [rsi + rdi*2 + 2], ax
xor eax, eax
mov word [rsi + rdi*2 + 4], ax
jmp 0x1400315b1
cmp dil, 3
je 0x1400315aa
cmp dil, 1
jne 0x1400313a4
cmp dil, 3
je 0x1400315aa
movzx eax, word [0x1401255b4]
mov word [rsi], ax
mov rsi, qword [rbp + 0x10d68]
cmp dil, 1
je 0x1400315b1
mov eax, 0x20
mov word [rbx], ax
jmp 0x1400315b1
cmp dx, 0x3d
jne case.0x14003124b.47
mov dil, 6
jmp 0x1400313a0
cmp dx, 0x3d
jne 0x140031423
mov dil, 7
mov dword [rsp + 0x40], edi
movzx edx, word [0x1401255b4]
xor r9d, r9d
mov rcx, rsi
lea r8d, [r9 + 2]
call fcn.1400bb280
movsxd rcx, eax
cmp word [rsi + rcx*2], r9w
je 0x140031352
cmp dil, 4
je 0x1400313e2
cmp dil, 5
je 0x1400313e2
mov rsi, qword [rbp + 0x10d68]
mov bl, 3
mov dword [rsp + 0x40], ebx
jmp 0x1400315b5
lea rcx, [rsi + rcx*2 + 2]
movzx eax, word [rcx]
cmp ax, 0x20
je 0x1400313f6
cmp ax, 9
jne 0x1400313fc
add rcx, 2
jmp 0x1400313e7
lea rdx, [0x1400f9930]
call fcn.140007500
test rax, rax
je 0x140031352
mov rsi, qword [rbp + 0x10d68]
mov bl, 3
mov dword [rsp + 0x40], ebx
jmp 0x1400315b5
cmp dx, 0x2f
jne case.0x14003124b.47
cmp word [rsi + 4], 0x3d
jne case.0x14003124b.47
mov rsi, qword [rbp + 0x10d68]
mov bl, 3
mov dword [rsp + 0x40], ebx
jmp 0x1400315b5
cmp dx, 0x3d
jne case.0x14003124b.47
mov rsi, qword [rbp + 0x10d68]
mov bl, 3
mov dword [rsp + 0x40], ebx
jmp 0x1400315b5
cmp dx, di
jne case.0x14003124b.47
movzx eax, word [rsi + 4]
cmp ax, 0x3d
je 0x140031497
cmp dx, 0x3e
jne case.0x14003124b.47
cmp ax, dx
jne case.0x14003124b.47
cmp word [rsi + 6], 0x3d
jne case.0x14003124b.47
mov rsi, qword [rbp + 0x10d68]
mov bl, 3
mov dword [rsp + 0x40], ebx
jmp 0x1400315b5
cmp dx, 0x3d
jne 0x1400314c1
mov rsi, qword [rbp + 0x10d68]
mov bl, 3
mov dword [rsp + 0x40], ebx
jmp 0x1400315b5
mov rcx, rbx
call fcn.1400502e0
mov rdi, rax
cmp word [rax], 0x28
je 0x140031438
cmp rdi, rbx
je case.0x14003124b.47
nop
movzx eax, word [rdi]
cmp ax, 0x20
je 0x1400314ef
cmp ax, 9
jne 0x1400314f5
add rdi, 2
jmp 0x1400314e0
movzx edx, word [rdi]
cmp dx, 0x5b
je 0x140031438
test dx, dx
je 0x140031438
cmp word [rdi + 2], 0x3d
lea rbx, [rdi + 2]
jne 0x14003152b
lea rcx, [0x1400f9910]
call fcn.1400d75e4
test rax, rax
jne 0x140031438
movzx eax, word [rdi]
cmp word [rbx], ax
jne 0x140031580
lea rcx, [0x1400f9928]
movzx edx, ax
call fcn.1400d75e4
test rax, rax
je 0x140031552
cmp word [rdi + 4], 0x3d
je 0x140031438
movzx eax, word [rdi]
cmp ax, 0x2b
je 0x140031438
cmp ax, 0x2d
je 0x140031438
cmp ax, 0x3e
jne 0x140031580
cmp word [rdi + 4], ax
jne 0x140031580
cmp word [rdi + 6], 0x3d
je 0x140031438
cmp ax, 0x2e
jne case.0x14003124b.47
mov rcx, rbx
call fcn.1400502e0
mov rdi, rax
cmp word [rax], 0x28
jne 0x1400314d6
mov rsi, qword [rbp + 0x10d68]
mov bl, 3
mov dword [rsp + 0x40], ebx
jmp 0x1400315b5
mov rsi, qword [rbp + 0x10d68]
mov ebx, dword [rsp + 0x40]
test bl, bl
jne 0x1400318ca
jmp 0x1400315c3
mov ebx, dword [rsp + 0x40]
cmp byte [rsp + 0x48], 0
mov edi, dword [rsp + 0x60]
je 0x140031671
test dil, dil
jne 0x140031671
mov ebx, 0x18
lea rdi, [0x140000000]
mov dword [rsp + 0x40], ebx
nop dword [rax + rax]
movsxd rax, ebx
lea rcx, [rbp + 0x120]
lea rdx, [rax + rax*8]
mov rdx, qword [rdi + rdx*2 + 0x1256b0]
call fcn.1400d5fdc
test eax, eax
je 0x140031624
inc ebx
mov dword [rsp + 0x40], ebx
cmp ebx, 0xe4
jl 0x1400315f0
mov byte [rsp + 0x40], 0
jmp 0x14003162c
test bl, bl
jne 0x140031750
mov edi, 1
lea rbx, [0x140000000]
mov dword [rsp + 0x60], edi
nop dword [rax]
movsxd rax, edi
lea rcx, [rbp + 0x120]
lea rdx, [rax + rax*8]
mov rdx, qword [rbx + rdx*2 + 0x1266c0]
call fcn.1400d5fdc
test eax, eax
je 0x140031680
inc edi
mov dword [rsp + 0x60], edi
cmp edi, 0xe
jl 0x140031640
mov byte [rsp + 0x60], 0
jmp 0x140031689
test bl, bl
jne 0x1400318ca
lea rbx, [0x140000000]
test dil, dil
jne 0x1400318ca
movzx eax, word [rsi]
cmp ax, 0x7b
jne 0x140031759
mov edi, 0x18
nop dword [rax + rax]
movsxd rax, edi
lea rcx, [rbp + 0x120]
lea rdx, [rax + rax*8]
mov rdx, qword [rbx + rdx*2 + 0x1256b0]
call fcn.1400d5fdc
test eax, eax
je 0x140031717
inc edi
cmp edi, 0xe4
jl 0x1400316a0
movzx edx, word [rsi]
lea rcx, [0x1400f9930]
call fcn.1400d75e4
test rax, rax
je 0x140031858
movzx eax, word [rsi]
cmp ax, 0x2b
je 0x1400316f4
cmp ax, 0x2d
jne 0x140031825
cmp word [rsi + 2], ax
jne 0x140031825
cmp word [rsi + 4], 0
je 0x1400317f0
mov byte [rsp + 0x40], 3
mov ecx, dword [rsp + 0x40]
jmp 0x140031811
cmp dil, 0x21
je 0x14003173f
cmp dil, 0x69
je 0x140031731
cmp dil, 0x6e
jbe 0x1400316c9
cmp dil, 0x71
jbe 0x14003173f
jmp 0x1400316c9
cmp word [rsi + 2], 0
mov byte [rbp + 0x10d80], 1
jne 0x1400316c9
mov byte [rsp + 0x40], dil
test dil, dil
je 0x1400316c9
lea rdi, [0x140000000]
mov ecx, dword [rsp + 0x40]
jmp 0x1400318d5
cmp ax, 0x3a
jne 0x1400316c9
lea rdx, [0x1400f7680]
lea rcx, [rbp + 0x120]
call fcn.1400d5fdc
test eax, eax
jne 0x1400316c9
mov rbx, qword [rbp + 0x10d60]
xor edi, edi
xor r9d, r9d
xor r8d, r8d
mov dl, 0x74
mov rcx, rbx
mov qword [rsp + 0x20], rdi
call fcn.1400332c0
test eax, eax
je 0x140030b0e
lea rdx, [rsi + 2]
nop dword [rax + rax]
movzx eax, word [rdx]
cmp ax, 0x20
je 0x1400317bf
cmp ax, 9
jne 0x1400317c5
add rdx, 2
jmp 0x1400317b0
cmp word [rdx], di
je 0x140030b62
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
xor r9d, r9d
mov qword [rsp + 0x28], rdi
xor r8d, r8d
mov rcx, rbx
mov qword [rsp + 0x20], rdi
jmp 0x140032c13
cmp ax, 0x2b
movzx eax, word [0x1401255b4]
setne cl
mov word [rsi], ax
mov eax, 0x31
add cl, 4
mov word [rsi + 2], ax
mov dword [rsp + 0x40], ecx
mov rbx, qword [rbp + 0x10d68]
mov rsi, rbx
test cl, cl
jne 0x1400318ce
jmp 0x14003185f
cmp ax, 0x3f
je 0x14003184f
mov edx, 0x3f
mov rcx, rsi
call fcn.1400d75e4
test rax, rax
je 0x140031858
mov edx, 0x3a
mov rcx, rax
call fcn.1400d75e4
test rax, rax
je 0x140031858
mov rsi, qword [rbp + 0x10d68]
jmp 0x1400318c5
mov rbx, qword [rbp + 0x10d68]
movzx eax, word [rsi]
cmp ax, 0x28
je 0x1400318c2
cmp ax, 0x5b
je 0x1400318c2
cmp word [rbx], 0x28
je 0x1400318c2
lea rdx, [0x1400f9968]
mov r8d, 3
mov rcx, rbx
call fcn.1400d67b0
test eax, eax
jne 0x14003189d
movzx eax, word [rbx + 6]
cmp ax, 0x20
je 0x1400318c2
cmp ax, 9
je 0x1400318c2
lea rdx, [0x1400f8aec]
mov rcx, rbx
call fcn.1400d83b8
lea rcx, [0x1400f9970]
lea rdx, [0x1400f8f30]
test rax, rax
jmp 0x140030a96
mov rsi, rbx
mov byte [rsp + 0x40], 3
mov ecx, dword [rsp + 0x40]
lea rdi, [0x140000000]
xor r8d, r8d
movzx ecx, cl
sub ecx, 0x21
mov qword [rsp + 0x58], r8
je 0x140031a58
sub ecx, 0x4e
je 0x140031a58
dec ecx
je 0x140031a50
dec ecx
je 0x140031a58
cmp ecx, 3
jne 0x140031a8c
mov edi, r8d
lea ebx, [rcx + 0x37]
lea r9d, [rcx + 0x7a]
lea r8d, [rcx + 0x26]
nop dword [rax]
movsxd rax, edi
lea rdx, [rsi + rax*2]
movzx eax, word [rsi + rax*2]
cmp ax, bx
jne 0x14003193b
cmp word [rdx + 2], 0x3d
jne case.0x140031962.0
movzx eax, ax
cmp eax, 0x7d
ja case.0x140031962.3
lea r10, [0x140000000]
movzx eax, byte [r10 + rax + 0x32d40]
mov ecx, dword [r10 + rax*4 + 0x32d20]
add rcx, r10
jmp rcx
movzx eax, word [rdx + 2]
add rdx, 2
inc edi
test ax, ax
je case.0x140031962.0
cmp ax, 0x22
jne case.0x140031962.1
inc edi
jmp 0x140031920
lea r8d, [rdi + 1]
mov edx, ebx
xor r9d, r9d
mov rcx, rsi
call fcn.1400bb3c0
movsxd rdi, eax
jmp 0x1400319c8
movzx eax, r8w
jmp 0x1400319b0
mov eax, 0x5d
jmp 0x1400319b0
movzx eax, r9w
lea r8d, [rdi + 1]
xor r9d, r9d
movzx edx, ax
mov rcx, rsi
call fcn.1400bb3c0
movsxd rdi, eax
mov rax, rdi
cmp word [rsi + rdi*2], 0
je case.0x140031962.0
mov r9d, 0x7d
lea r8d, [r9 - 0x54]
inc edi
jmp 0x140031920
mov rbx, qword [rbp + 0x10d68]
movsxd rdi, edi
cmp word [rsi + rdi*2], 0
jne 0x140031a0c
mov rcx, qword [rbp + 0x10d60]
lea rdx, [0x1400f9990]
mov r8, rbx
call fcn.14004e5d0
jmp 0x140032c18
xor ebx, ebx
or rdx, 0xffffffffffffffff
mov rcx, rsi
mov word [rsi + rdi*2], bx
call fcn.140024310
lea rdx, [rsi + rdi*2 + 2]
movzx eax, word [rdx]
cmp ax, 0x20
je 0x140031a32
cmp ax, 9
jne 0x140031a38
add rdx, 2
jmp 0x140031a23
mov qword [rsp + 0x58], rdx
lea rdi, [0x140000000]
cmp word [rdx], bx
jne 0x140031a8e
mov qword [rsp + 0x58], rbx
jmp 0x140031a8e
cmp word [rsi], 0x7b
jne 0x140031a8c
jmp 0x140031a5e
cmp word [rsi], 0x7b
jne 0x140031a79
mov byte [rbp + 0x10d80], 1
movzx eax, word [rsi + 2]
add rsi, 2
cmp ax, 0x20
je 0x140031a65
cmp ax, 9
je 0x140031a65
cmp word [rsi], r8w
je 0x140031a8c
mov qword [rsp + 0x58], rsi
sub rsi, 2
mov word [rsi], r8w
xor ebx, ebx
mov eax, dword [rsp + 0x40]
test al, al
je 0x140031aab
movzx eax, al
lea rcx, [rax + rax*8]
lea rdi, [rdi + rcx*2 + 0x1256b0]
mov qword [rbp - 0x78], rdi
jmp 0x140031ac0
movzx eax, byte [rsp + 0x60]
lea rcx, [rax + rax*8]
lea rax, [rdi + rcx*2 + 0x1266c0]
mov qword [rbp - 0x78], rax
lea rcx, [rbp + 0xd20]
xor edx, edx
mov r8d, 0x8002
call fcn.1400ddb10
mov rdx, qword [rbp + 0x10d90]
test rdx, rdx
je 0x140031b6b
mov ecx, dword [rbp + 0x10d98]
mov rax, rsi
sub rax, qword [rbp + 0x10d88]
sar rax, 1
sub ecx, eax
test ecx, ecx
jle 0x140031b15
movsxd r8, ecx
cdqe
lea rcx, [rbp + 0xd20]
lea rdx, [rdx + rax*2]
add r8, r8
call fcn.1400d72b0
mov eax, dword [rsp + 0x40]
xor r10d, r10d
mov dword [rsp + 0x70], r10d
cmp al, 0x22
jne 0x1400321bd
mov edx, r10d
mov ebx, 1
mov dword [rsp + 0x50], ebx
cmp word [rsi], dx
je 0x1400322ad
nop
cmp ebx, 1
jle 0x140031b47
inc edx
movsxd rax, edx
lea rcx, [rsi + rax*2]
nop
movzx eax, word [rcx]
cmp ax, 0x20
je 0x140031b63
cmp ax, 9
jne 0x140031c5b
inc edx
add rcx, 2
jmp 0x140031b50
mov edx, ebx
mov dword [rsp + 0x70], ebx
cmp word [rsi + rbx*2], 0
mov r10d, 0xb
lea r9d, [r10 + 2]
lea r8d, [r10 - 1]
lea edi, [r10 + 1]
je 0x140031b15
movzx eax, word [0x1401255bc]
cmp word [rsi + rbx*2], ax
je 0x140031ba3
inc rbx
inc edx
cmp word [rsi + rbx*2], 0
jne 0x140031b91
cmp word [rsi + rbx*2], 0
mov dword [rsp + 0x70], edx
je 0x140031b15
movzx eax, word [rsi + rbx*2 + 2]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x140031bd3.99
lea r11, [0x140000000]
cdqe
mov ecx, dword [r11 + rax*4 + 0x32dc0]
add rcx, r11
jmp rcx
mov eax, 7
mov word [rsi + rbx*2 + 2], ax
jmp case.0x140031bd3.99
mov eax, 8
mov word [rsi + rbx*2 + 2], ax
jmp case.0x140031bd3.99
mov word [rsi + rbx*2 + 2], di
jmp case.0x140031bd3.99
mov word [rsi + rbx*2 + 2], r8w
jmp case.0x140031bd3.99
mov word [rsi + rbx*2 + 2], r9w
jmp case.0x140031bd3.99
mov eax, 9
mov word [rsi + rbx*2 + 2], ax
jmp case.0x140031bd3.99
mov word [rsi + rbx*2 + 2], r10w
movsxd rax, edx
or rcx, 0xffffffffffffffff
lea r9, [rsi + rax*2]
xor eax, eax
lea rdx, [r9 + 2]
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx + rcx]
mov rcx, r9
call fcn.1400d72b0
mov edx, dword [rsp + 0x70]
mov eax, 1
inc edx
mov word [rbp + rbx*2 + 0xd20], ax
inc rbx
mov dword [rsp + 0x70], edx
jmp 0x140031b71
cmp ax, word [0x1401255b8]
jne 0x140031cb1
movsxd rax, edx
cmp word [rbp + rax*2 + 0xd20], 0
jne 0x140031cb1
movzx eax, word [rsi + rax*2 + 2]
cmp ax, 0x20
je 0x140031c83
cmp ax, 9
jne 0x140031cb1
cmp ebx, 3
jge 0x1400322ad
lea r8d, [rdx + 2]
movzx edx, word [0x1401255b4]
lea r9, [rbp + 0xd20]
mov rcx, rsi
call fcn.1400bb280
xor r10d, r10d
mov r8d, eax
jmp 0x140031e49
movsxd rcx, edx
mov r8d, edx
mov dword [rsp + 0x44], edx
cmp word [rsi + rcx*2], 0
lea rdi, [rsi + rcx*2]
je 0x140031cfa
nop word [rax + rax]
movzx eax, word [0x1401255b4]
cmp word [rsi + rcx*2], ax
jne 0x140031ce8
cmp word [rbp + rcx*2 + 0xd20], 0
je 0x140031cf5
inc rcx
inc r8d
cmp word [rsi + rcx*2], 0
jne 0x140031cd0
mov dword [rsp + 0x44], r8d
cmp ebx, 1
jne 0x140031e44
movsxd rax, r8d
mov qword [rbp - 0x80], rax
cmp word [rsi + rax*2], 0
je 0x1400322ad
mov word [rsi + rax*2], r10w
nop word [rax + rax]
movzx eax, word [rdi]
cmp ax, 0x20
je 0x140031d2f
cmp ax, 9
jne 0x140031d35
add rdi, 2
jmp 0x140031d20
movzx eax, word [rdi]
test ax, ax
je 0x140031e1c
cmp ax, 0x2d
je 0x140031e14
cmp ax, 0x2b
jne 0x140031d55
add rdi, 2
cmp word [rdi], 0x30
jne 0x140031d89
movzx eax, word [rdi + 2]
cmp ax, 0x78
je 0x140031d6b
cmp ax, 0x58
jne 0x140031d89
movzx ecx, word [rdi + 4]
call fcn.1400d60e4
test eax, eax
je 0x140031d86
add rdi, 4
mov eax, 1
xor r10d, r10d
jmp 0x140031d8c
xor r10d, r10d
mov eax, r10d
movzx ebx, word [rdi]
cdqe
mov ecx, r10d
mov qword [rsp + 0x78], rax
cmp ebx, 0x20
je 0x140031df5
nop
cmp ebx, 9
je 0x140031df5
test ebx, ebx
je 0x140031e10
cmp ebx, 0x2e
je 0x140031e14
test rax, rax
je 0x140031dd4
movzx ecx, bx
call fcn.1400d8d54
xor r10d, r10d
test eax, eax
mov ecx, r10d
sete cl
test ecx, ecx
je 0x140031ddc
movzx ecx, bx
call fcn.140014d90
jmp 0x140031e14
lea eax, [rbx - 0x30]
cmp eax, 9
ja 0x140031dca
movzx ebx, word [rdi + 2]
add rdi, 2
mov ecx, 1
cmp ebx, 0x20
je 0x140031df5
mov rax, qword [rsp + 0x78]
jmp 0x140031da0
movzx eax, word [rdi]
cmp ax, 0x20
je 0x140031e04
cmp ax, 9
jne 0x140031e0a
add rdi, 2
jmp 0x140031df5
cmp word [rdi], 0
jne 0x140031e14
test ecx, ecx
jne 0x140031e1c
mov dword [rsp + 0x70], 1
cmp dword [rsp + 0x70], 0
mov rcx, qword [rbp - 0x80]
movzx eax, word [0x1401255b4]
mov word [rsi + rcx*2], ax
jne 0x1400322ad
mov r8d, dword [rsp + 0x44]
mov ebx, dword [rsp + 0x50]
xor r10d, r10d
jmp 0x140031e49
cmp ebx, 4
je 0x140031e65
inc ebx
movsxd rax, r8d
mov edx, r8d
cmp word [rsi + rax*2], 0
mov dword [rsp + 0x50], ebx
jne 0x140031b40
jmp 0x1400322ad
movsxd r9, edx
mov qword [rbp - 0x80], r9
lea rcx, [rsi + r9*2]
mov qword [rbp - 0x70], rcx
mov rdi, rcx
movzx eax, word [rdi]
cmp ax, 0x20
je 0x140031e86
cmp ax, 9
jne 0x140031e8c
add rdi, 2
jmp 0x140031e77
movzx eax, word [rdi]
test ax, ax
je 0x1400322ad
cmp ax, 0x2d
je 0x140032003
cmp ax, 0x2b
jne 0x140031eac
add rdi, 2
cmp word [rdi], 0x30
jne 0x140031ee0
movzx eax, word [rdi + 2]
cmp ax, 0x78
je 0x140031ec2
cmp ax, 0x58
jne 0x140031ee0
movzx ecx, word [rdi + 4]
call fcn.1400d60e4
test eax, eax
je 0x140031edd
add rdi, 4
mov eax, 1
xor r10d, r10d
jmp 0x140031ee3
xor r10d, r10d
mov eax, r10d
movzx ebx, word [rdi]
mov ecx, r10d
mov edx, r10d
cdqe
mov dword [rsp + 0x50], ecx
mov dword [rsp + 0x68], edx
mov qword [rsp + 0x78], rax
cmp ebx, 0x20
je 0x140031f70
cmp ebx, 9
je 0x140031f65
test ebx, ebx
je 0x140031fd7
cmp ebx, 0x2e
jne 0x140031f2e
test ecx, ecx
jne 0x140031ff6
test rax, rax
jne 0x140031ff6
mov ecx, 1
mov dword [rsp + 0x50], ecx
jmp 0x140031f58
test rax, rax
je 0x140031f85
movzx ecx, bx
call fcn.1400d8d54
xor ecx, ecx
test eax, eax
sete cl
test ecx, ecx
jne 0x140031f8d
mov ecx, dword [rsp + 0x50]
mov edx, 1
mov dword [rsp + 0x68], edx
mov rax, qword [rsp + 0x78]
movzx ebx, word [rdi + 2]
add rdi, 2
cmp ebx, 0x20
jne 0x140031f00
xor r10d, r10d
nop dword [rax + rax]
movzx eax, word [rdi]
cmp ax, 0x20
je 0x140031f7f
cmp ax, 9
jne 0x140031fdc
add rdi, 2
jmp 0x140031f70
lea eax, [rbx - 0x30]
cmp eax, 9
jbe 0x140031f4a
movzx ecx, bx
call fcn.140014d90
cmp ax, 0x45
jne 0x140031ff6
cmp dword [rsp + 0x50], 0
je 0x140031ff6
mov edx, dword [rsp + 0x68]
test edx, edx
je 0x140031ff6
movzx eax, word [rdi + 2]
cmp ax, 0x2d
je 0x140031fba
cmp ax, 0x2b
jne 0x140031fbe
add rdi, 2
movzx eax, word [rdi + 2]
cmp ax, 0x30
jb 0x140031ff6
cmp ax, 0x39
ja 0x140031ff6
mov ecx, dword [rsp + 0x50]
jmp 0x140031f53
xor r10d, r10d
jmp 0x140031fe2
cmp word [rdi], 0
jne 0x140031ff6
test edx, edx
je 0x140031ff6
test ecx, ecx
mov eax, r10d
setne al
inc eax
jne 0x1400322ad
mov r9, qword [rbp - 0x80]
mov rcx, qword [rbp - 0x70]
mov r8d, dword [rsp + 0x44]
movsxd rax, r8d
cmp word [rsi + rax*2], 0
jne 0x1400321b0
movzx edx, word [0x1401255b8]
cmp word [rcx], dx
jne 0x1400321b0
cmp word [rbp + r9*2 + 0xd20], 0
jne 0x1400321b0
add rcx, 2
call fcn.1400d75e4
test rax, rax
je 0x1400321b0
lea rdi, [rax + 2]
movzx eax, word [rdi]
cmp ax, 0x20
je 0x140032056
cmp ax, 9
jne 0x14003205c
add rdi, 2
jmp 0x140032047
movzx eax, word [rdi]
test ax, ax
je 0x1400322ad
cmp ax, 0x2d
je 0x1400321b0
cmp ax, 0x2b
jne 0x14003207c
add rdi, 2
cmp word [rdi], 0x30
jne 0x1400320aa
movzx eax, word [rdi + 2]
cmp ax, 0x78
je 0x140032092
cmp ax, 0x58
jne 0x1400320aa
movzx ecx, word [rdi + 4]
call fcn.1400d60e4
test eax, eax
je 0x1400320aa
mov eax, 1
add rdi, 4
jmp 0x1400320ac
xor eax, eax
movzx ebx, word [rdi]
xor ecx, ecx
xor edx, edx
cdqe
mov dword [rsp + 0x44], ecx
mov dword [rsp + 0x50], edx
mov qword [rsp + 0x78], rax
cmp ebx, 0x20
je 0x140032130
cmp ebx, 9
je 0x140032130
test ebx, ebx
je 0x14003219d
cmp ebx, 0x2e
jne 0x1400320f5
test ecx, ecx
jne 0x1400321b0
test rax, rax
jne 0x1400321b0
mov ecx, 1
mov dword [rsp + 0x44], ecx
jmp 0x14003211f
test rax, rax
je 0x140032145
movzx ecx, bx
call fcn.1400d8d54
xor ecx, ecx
test eax, eax
sete cl
test ecx, ecx
jne 0x14003214d
mov ecx, dword [rsp + 0x44]
mov edx, 1
mov dword [rsp + 0x50], edx
mov rax, qword [rsp + 0x78]
movzx ebx, word [rdi + 2]
add rdi, 2
cmp ebx, 0x20
jne 0x1400320c7
nop dword [rax]
movzx eax, word [rdi]
cmp ax, 0x20
je 0x14003213f
cmp ax, 9
jne 0x140032197
add rdi, 2
jmp 0x140032130
lea eax, [rbx - 0x30]
cmp eax, 9
jbe 0x140032111
movzx ecx, bx
call fcn.140014d90
cmp ax, 0x45
jne 0x1400321b0
cmp dword [rsp + 0x44], 0
je 0x1400321b0
mov edx, dword [rsp + 0x50]
test edx, edx
je 0x1400321b0
movzx eax, word [rdi + 2]
lea rcx, [rdi + 2]
cmp ax, 0x2d
je 0x14003217e
cmp ax, 0x2b
jne 0x140032181
mov rdi, rcx
movzx eax, word [rdi + 2]
cmp ax, 0x30
jb 0x1400321b0
cmp ax, 0x39
ja 0x1400321b0
mov ecx, dword [rsp + 0x44]
jmp 0x14003211a
cmp word [rdi], 0
jne 0x1400321b0
test edx, edx
je 0x1400321b0
xor eax, eax
test ecx, ecx
setne al
inc eax
jne 0x1400322ad
mov dword [rsp + 0x70], 3
jmp 0x1400322ad
cmp al, 0x6a
jne 0x1400322ad
mov rdi, rsi
cmp word [rsi], r10w
je 0x140032215
nop
movzx eax, word [rdi]
cmp ax, 0x20
je 0x1400321df
cmp ax, 9
jne 0x14003220b
movzx ecx, word [rdi + 2]
call fcn.1400d8f94
cmp eax, 0x69
jne 0x14003220b
movzx ecx, word [rdi + 4]
call fcn.1400d8f94
cmp eax, 0x6e
jne 0x14003220b
movzx eax, word [rdi + 6]
cmp ax, 0x20
je 0x140032215
cmp ax, 9
je 0x140032215
add rdi, 2
cmp word [rdi], 0
jne 0x1400321d0
cmp word [rdi], 0
jne 0x14003223a
mov r8, qword [rbp + 0x10d68]
mov rcx, qword [rbp + 0x10d60]
lea rdx, [0x1400f99b0]
call fcn.14004e5d0
jmp 0x140032c18
mov rax, rdi
mov edx, 1
sub rax, rsi
sar rax, 1
movsxd rcx, eax
test eax, eax
jle 0x140032267
nop
movzx eax, word [0x1401255b4]
cmp word [rsi + rcx*2], ax
jne 0x14003225f
inc edx
dec rcx
test rcx, rcx
jg 0x140032250
movzx eax, word [0x1401255b4]
mov word [rdi + 2], ax
cmp edx, 1
jle 0x1400322a2
cmp edx, 2
jle 0x14003229b
mov r8, qword [rbp + 0x10d68]
mov rcx, qword [rbp + 0x10d60]
lea rdx, [0x1400f99f0]
call fcn.14004e5d0
jmp 0x140032c18
mov eax, 0x20
jmp 0x1400322a9
movzx eax, word [0x1401255b4]
mov word [rdi + 4], ax
mov eax, dword [rsp + 0x70]
xor dil, dil
xor cl, cl
xor edx, edx
mov dword [rsp + 0x68], edi
mov dword [rsp + 0x44], ecx
mov qword [rsp + 0x78], rdx
test eax, eax
jne 0x1400322d1
mov rax, qword [rbp - 0x78]
movsx eax, byte [rax + 9]
movsxd r8, eax
dec eax
mov ebx, edx
cdqe
mov r10d, edx
mov dword [rsp + 0x50], edx
mov qword [rbp - 0x80], rdx
mov qword [rbp - 0x38], r8
mov qword [rbp - 0x70], rax
cmp word [rsi], dx
je 0x1400325e4
cmp rdx, r8
jge 0x1400325e4
cmp r10d, 2
jne 0x140032404
movzx eax, byte [rsp + 0x40]
sub al, 0x18
cmp al, 3
ja 0x1400323e6
mov rcx, qword [rbp + 0x10d60]
movsxd rax, ebx
lea rdx, [rbp + 0x320]
lea r8, [rsi + rax*2]
xor r9d, r9d
call fcn.140032e50
mov qword [rsp + 0x78], rax
test rax, rax
je 0x1400323e2
mov edi, 0x18
mov dword [rsp + 0x68], edi
nop dword [rax]
movsxd rcx, edi
lea rax, [0x140000000]
lea rdx, [rcx + rcx*8]
lea rcx, [rbp + 0x320]
mov rdx, qword [rax + rdx*2 + 0x1256b0]
call fcn.1400d5fdc
test eax, eax
je 0x14003238d
inc edi
mov dword [rsp + 0x68], edi
cmp edi, 0xe4
jl 0x140032350
xor dil, dil
mov dword [rsp + 0x68], edi
jmp 0x140032396
test dil, dil
jne 0x1400325c5
mov eax, 1
mov dword [rsp + 0x44], eax
nop
cdqe
lea rcx, [rbp + 0x320]
lea rdx, [rax + rax*8]
lea rax, [0x140000000]
mov rdx, qword [rax + rdx*2 + 0x1266c0]
call fcn.1400d5fdc
test eax, eax
je 0x1400323dc
mov eax, dword [rsp + 0x44]
inc eax
mov dword [rsp + 0x44], eax
cmp eax, 0xe
jl 0x1400323a0
xor cl, cl
mov dword [rsp + 0x44], ecx
jmp 0x1400323f7
mov ecx, dword [rsp + 0x44]
jmp 0x1400323ef
mov ecx, dword [rsp + 0x44]
test dil, dil
jne 0x1400325c5
test cl, cl
jne 0x1400325c5
mov rax, qword [rbp - 0x70]
mov rdx, qword [rbp - 0x80]
mov r10d, dword [rsp + 0x50]
movsxd rdi, ebx
lea r8, [rsi + rdi*2]
lea rcx, [rbp + rdi*2 + 0xd20]
mov qword [rsp + 0x70], r8
mov qword [rbp + rdx*8 - 0x20], r8
mov qword [rbp - 0x30], rcx
mov qword [rbp + rdx*8 + 0x80], rcx
cmp rdx, rax
je 0x1400325d8
movzx eax, word [0x1401255b8]
cmp word [r8], ax
jne 0x14003245e
cmp word [rcx], 0
jne 0x14003245e
movzx eax, word [r8 + 2]
cmp ax, 0x20
je 0x14003251a
cmp ax, 9
je 0x14003251a
mov rax, qword [rbp - 0x78]
lea edx, [r10 + 1]
lea rcx, [rax + 0xb]
movzx eax, byte [rax + 0xb]
test al, al
je 0x140032484
movzx eax, al
cmp eax, edx
je 0x1400324f5
movzx eax, byte [rcx + 1]
inc rcx
test al, al
jne 0x140032472
mov eax, dword [rsp + 0x40]
cmp al, 0x74
je 0x14003251a
cmp al, 0x2b
jne 0x1400324c1
cmp r10d, 2
je 0x1400324a0
cmp r10d, 3
jne 0x1400324c1
mov rcx, qword [rbp - 0x18]
call fcn.140025df0
test eax, eax
js 0x14003251a
cmp eax, 1
jle 0x1400324bc
cmp eax, 3
je 0x1400324bc
cmp eax, 5
jne 0x14003251a
mov r8, qword [rsp + 0x70]
cmp word [r8], 0
je 0x14003253a
movzx eax, word [rsi + rdi*2]
nop dword [rax]
cmp ax, word [0x1401255b4]
jne 0x1400324e4
cmp word [rbp + rdi*2 + 0xd20], 0
je 0x14003253a
movzx eax, word [rsi + rdi*2 + 2]
inc rdi
inc ebx
test ax, ax
jne 0x1400324d0
jmp 0x14003253a
cmp byte [rcx], 0
je 0x140032484
cmp byte [rsp + 0x40], 0x86
jne 0x14003251a
cmp r10d, 1
jle 0x14003251a
lea rdx, [0x1400f9b28]
mov rcx, r8
call fcn.1400d5fdc
test eax, eax
je 0x1400324bc
movzx edx, word [0x1401255b4]
lea r9, [rbp + 0xd20]
mov r8d, ebx
mov rcx, rsi
call fcn.1400bb280
mov r8, qword [rsp + 0x70]
mov ebx, eax
movsxd rax, ebx
cmp word [rsi + rax*2], 0
je 0x14003258e
mov rdx, qword [rbp - 0x30]
xor ecx, ecx
mov word [rsi + rax*2], cx
mov rcx, r8
call fcn.140024290
inc ebx
mov rdx, rsi
movsxd rax, ebx
lea rcx, [rbp + rax*2 + 0xd20]
lea rax, [rbp + 0xd20]
sub rdx, rax
movzx eax, word [rdx + rcx]
cmp ax, 0x20
je 0x140032580
cmp ax, 9
jne 0x14003258e
cmp word [rcx], 0
jne 0x14003258e
inc ebx
add rcx, 2
jmp 0x140032570
mov r10d, dword [rsp + 0x50]
mov rdx, qword [rbp - 0x80]
mov edi, dword [rsp + 0x68]
inc r10d
inc rdx
movsxd rax, ebx
cmp word [rsi + rax*2], 0
mov dword [rsp + 0x50], r10d
mov qword [rbp - 0x80], rdx
je 0x1400325e4
mov ecx, dword [rsp + 0x44]
mov r8, qword [rbp - 0x38]
mov rax, qword [rbp - 0x70]
jmp 0x1400322f6
mov r10d, dword [rsp + 0x50]
movsxd rax, ebx
lea rax, [rsi + rax*2]
mov qword [rsp + 0x58], rax
jmp 0x1400325e4
mov edi, dword [rsp + 0x68]
inc r10d
mov dword [rsp + 0x50], r10d
mov r11, qword [rbp - 0x78]
movsx ecx, byte [r11 + 8]
mov r8d, ecx
cmp r10d, ecx
jge 0x14003264d
mov r9, qword [r11]
lea rdx, [0x1400f9a60]
cmp cl, 1
lea rax, [0x1400f1604]
lea r8, [0x1400f9a70]
cmovg rax, rdx
mov edx, 0x400
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ecx
lea rcx, [rbp + 0x520]
call fcn.1400b8860
mov r8, qword [rbp + 0x10d68]
mov rcx, qword [rbp + 0x10d60]
lea rdx, [rbp + 0x520]
call fcn.14004e5d0
jmp 0x140032c18
xor ebx, ebx
cmp byte [rsp + 0x40], 0x74
cmove r8d, r10d
mov edx, ebx
mov ecx, ebx
movsxd r9, r8d
test r8d, r8d
jle 0x140032678
mov rax, qword [rbp + rcx*8 - 0x20]
cmp word [rax], bx
je 0x1400326a8
inc rcx
inc edx
cmp rcx, r9
jl 0x140032664
mov edx, dword [rsp + 0x60]
test dl, dl
je case.default.0x1400326a6
movzx eax, dl
dec eax
cmp eax, 0xc
ja case.default.0x1400326a6
lea r8, [0x140000000]
cdqe
mov ecx, dword [r8 + rax*4 + 0x32e18]
add rcx, r8
jmp rcx
mov r9, qword [r11]
lea eax, [rdx + 1]
lea r8, [0x1400f9ac0]
lea rcx, [rbp + 0x520]
mov edx, 0x400
mov dword [rsp + 0x20], eax
call fcn.1400b8860
mov r8, qword [rbp + 0x10d68]
mov rcx, qword [rbp + 0x10d60]
lea rdx, [rbp + 0x520]
call fcn.14004e5d0
jmp 0x140032c18
mov rcx, qword [rbp + 0x10d60]
movsxd rax, r10d
lea rdi, [0x1400f9b20]
mov qword [rbp + rax*8 - 0x20], rdi
mov qword [rbp + rax*8 + 0x80], rbx
lea rax, [rbp + 0x80]
lea r9d, [r10 + 1]
lea r8, [rbp - 0x20]
mov dl, 0x8b
mov qword [rsp + 0x20], rax
call fcn.1400332c0
jmp 0x140032c18
mov rcx, qword [rbp + 0x10d60]
mov rbx, qword [rbp - 0x18]
xor esi, esi
lea rax, [rbp + 0x80]
lea rdi, [0x1400f9b20]
lea r9d, [rsi + 2]
lea r8, [rbp - 0x20]
mov dl, 0x8b
mov qword [rbp + 0x88], rsi
mov qword [rbp - 0x18], rdi
mov qword [rsp + 0x20], rax
call fcn.1400332c0
test eax, eax
je 0x140030b0e
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0x10d60]
lea r9d, [rsi + 5]
mov qword [rbp - 0x20], rax
mov rax, qword [rbp + 0x98]
lea r8, [rbp - 0x20]
mov qword [rbp + 0x80], rax
mov rax, qword [rbp - 0x10]
mov dl, 0x8e
mov qword [rbp - 8], rax
mov rax, qword [rbp + 0x90]
mov qword [rbp - 0x10], rbx
mov qword [rbp + 0x98], rax
mov rax, qword [rbp]
mov qword [rbp + 0x90], rsi
mov qword [rbp - 0x18], rax
mov rax, qword [rbp + 0xa0]
mov qword [rbp], rdi
mov qword [rbp + 0x88], rax
lea rax, [rbp + 0x80]
mov qword [rbp + 0xa0], rsi
mov qword [rsp + 0x20], rax
call fcn.1400332c0
jmp 0x140032c18
mov rcx, qword [rbp + 0x10d60]
lea rax, [rbp + 0x80]
lea r8, [rbp - 0x20]
mov r9d, r10d
mov dl, 1
mov qword [rsp + 0x20], rax
call fcn.1400332c0
jmp 0x140032c18
mov rcx, qword [rbp + 0x10d60]
lea rax, [rbp + 0x80]
lea r8, [rbp - 0x20]
mov r9d, r10d
mov dl, 4
mov qword [rsp + 0x20], rax
call fcn.1400332c0
jmp 0x140032c18
mov rcx, qword [rbp + 0x10d60]
lea rax, [rbp + 0x80]
lea r8, [rbp - 0x20]
mov r9d, r10d
mov dl, 5
mov qword [rsp + 0x20], rax
call fcn.1400332c0
jmp 0x140032c18
mov rcx, qword [rbp + 0x10d60]
lea rax, [rbp + 0x80]
lea r8, [rbp - 0x20]
mov r9d, r10d
mov dl, 6
mov qword [rsp + 0x20], rax
call fcn.1400332c0
jmp 0x140032c18
mov rcx, qword [rbp + 0x10d60]
lea rax, [rbp + 0x80]
lea r8, [rbp - 0x20]
mov r9d, r10d
mov dl, 7
mov qword [rsp + 0x20], rax
call fcn.1400332c0
jmp 0x140032c18
mov cl, 0x12
mov dword [rsp + 0x40], ecx
jmp 0x1400328da
mov cl, 0x13
mov dword [rsp + 0x40], ecx
jmp 0x1400328da
mov cl, 0x14
mov dword [rsp + 0x40], ecx
jmp 0x1400328da
mov cl, 0x15
mov dword [rsp + 0x40], ecx
jmp 0x1400328da
mov cl, 0x16
mov dword [rsp + 0x40], ecx
jmp 0x1400328da
mov cl, 0x17
mov dword [rsp + 0x40], ecx
jmp 0x1400328da
mov ecx, dword [rsp + 0x40]
test r10d, r10d
je 0x140032946
test dil, dil
jne 0x140032946
cmp byte [rsp + 0x44], bl
jne 0x140032946
lea eax, [rcx - 0x12]
cmp al, 0xe
ja 0x140032946
cmp cl, 0x17
ja 0x1400328fe
sub dl, 6
cmp dl, 5
ja 0x140032946
movsxd rax, r10d
mov rax, qword [rbp + rax*8 - 0x28]
mov rcx, rax
mov qword [rbp - 0x30], rax
sub rcx, rsi
sar rcx, 1
movsxd rax, ecx
cmp word [rsi + rax*2], bx
je 0x140032946
movzx edx, word [rsi + rax*2]
cmp dx, word [0x1401255b4]
jne 0x140032937
cmp word [rbp + rax*2 + 0xd20], bx
je 0x140032a0a
movzx edx, word [rsi + rax*2 + 2]
inc rax
inc ecx
test dx, dx
jne 0x140032920
mov ebx, dword [rsp + 0x68]
mov edx, dword [rsp + 0x40]
cmp dl, 0x69
je 0x140032958
cmp dl, 0x6b
jne 0x140032968
cmp r10d, 1
jne 0x140032968
mov rax, qword [rbp - 0x20]
cmp word [rax], 0
jne 0x140032984
cmp dl, 0x6a
je 0x14003297b
cmp dl, 0x70
je 0x14003297b
cmp dl, 0x73
jne 0x140032b38
test r10d, r10d
je 0x140032b38
or rcx, 0xffffffffffffffff
movsxd rax, r10d
mov r8, qword [rbp + rax*8 - 0x28]
xor eax, eax
mov rdi, r8
repne scasw ax, word [rdi]
xor edi, edi
not rcx
cmp word [r8 + rcx*2 - 4], 0x7b
jne 0x140032b3a
mov word [r8 + rcx*2 - 4], di
or rdx, 0xffffffffffffffff
mov rcx, r8
mov byte [rbp + 0x10d80], 1
call fcn.140024310
mov edx, dword [rsp + 0x40]
test rax, rax
jne 0x140032b3a
cmp dl, 0x69
je 0x140032b33
cmp dl, 0x70
je 0x140032b33
cmp dl, 0x73
je 0x140032b33
mov r8, qword [rbp + 0x10d68]
mov rcx, qword [rbp + 0x10d60]
lea rdx, [0x1400f90a0]
call fcn.14004e5d0
jmp 0x140032c18
movsxd rax, ecx
inc ecx
mov qword [rbp - 0x38], rax
movsxd rax, ecx
lea rdx, [rsi + rax*2]
nop word [rax + rax]
movzx eax, word [rdx]
cmp ax, 0x20
je 0x140032a2f
cmp ax, 9
jne 0x140032a37
inc ecx
add rdx, 2
jmp 0x140032a20
movsxd rax, ecx
mov rcx, qword [rbp + 0x10d60]
lea rdx, [rbp + 0x320]
lea rax, [rsi + rax*2]
xor r9d, r9d
mov r8, rax
mov qword [rsp + 0x58], rax
call fcn.140032e50
mov qword [rsp + 0x78], rax
test rax, rax
je 0x140032b1e
mov edi, 0x18
nop
movsxd rax, edi
lea rcx, [rbp + 0x320]
lea rdx, [rax + rax*8]
lea rax, [0x140000000]
mov rdx, qword [rax + rdx*2 + 0x1256b0]
call fcn.1400d5fdc
test eax, eax
je 0x140032aa2
inc edi
cmp edi, 0xe4
jl 0x140032a70
jmp 0x140032aab
movzx ebx, dil
test dil, dil
jne 0x140032afd
mov edi, 1
movsxd rax, edi
lea rcx, [rbp + 0x320]
lea rdx, [rax + rax*8]
lea rax, [0x140000000]
mov rdx, qword [rax + rdx*2 + 0x1266c0]
call fcn.1400d5fdc
test eax, eax
je 0x140032af3
inc edi
cmp edi, 0xe
jl 0x140032ab0
mov r10d, dword [rsp + 0x50]
xor eax, eax
mov byte [rsp + 0x44], 0
mov qword [rsp + 0x58], rax
jmp 0x14003294a
mov byte [rsp + 0x44], dil
test dil, dil
je 0x140032b22
mov rax, qword [rbp - 0x38]
xor ecx, ecx
or rdx, 0xffffffffffffffff
mov word [rsi + rax*2], cx
mov rcx, qword [rbp - 0x30]
call fcn.140024310
mov r10d, dword [rsp + 0x50]
jmp 0x14003294a
mov ebx, dword [rsp + 0x68]
mov r10d, dword [rsp + 0x50]
xor eax, eax
mov qword [rsp + 0x58], rax
jmp 0x14003294a
mov r9d, edi
jmp 0x140032b3f
xor edi, edi
mov r9d, dword [rsp + 0x50]
mov rcx, qword [rbp + 0x10d60]
lea rax, [rbp + 0x80]
lea r8, [rbp - 0x20]
mov qword [rsp + 0x20], rax
call fcn.1400332c0
test eax, eax
je 0x140030b0e
cmp byte [rbp + 0x10d80], 0
je 0x140032b8d
mov rcx, qword [rbp + 0x10d60]
xor r9d, r9d
xor r8d, r8d
mov dl, 0x75
mov qword [rsp + 0x20], rdi
call fcn.1400332c0
test eax, eax
je 0x140030b0e
mov r10, qword [rsp + 0x58]
test r10, r10
je 0x140030b62
mov rdx, qword [rsp + 0x78]
test rdx, rdx
jne 0x140032bc1
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
xor r9d, r9d
mov qword [rsp + 0x28], rdi
xor r8d, r8d
mov qword [rsp + 0x20], rdi
jmp 0x140032c09
movzx r9d, byte [rsp + 0x44]
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
movzx r8d, bl
repne scasw ax, word [rdi]
mov rax, rdx
sub rax, rsi
not rcx
dec rcx
sar rax, 1
mov qword [rsp + 0x38], rcx
lea rax, [rbp + rax*2 + 0xd20]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x320]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
mov rcx, qword [rbp + 0x10d60]
mov rdx, r10
call fcn.1400301a0
mov rbx, qword [rsp + 0x10e70]
add rsp, 0x10e40
pop rdi
pop rsi
pop rbp
ret