Function at 0x140054f90
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xb50]
sub rsp, 0xc50
mov rax, qword [0x1401990d8]
xor rax, rsp
mov qword [rbp + 0xb40], rax
mov r12, rcx
mov qword [rsp + 0x78], rcx
xor r14d, r14d
lea rcx, [rbp + 0x1c0]
mov ebx, r14d
xor edx, edx
mov r8d, 0x800
mov dword [rsp + 0x48], ebx
call fcn.1400a1af0
xor edx, edx
mov byte [rsp + 0x44], bl
mov r8d, 0x11c
mov dword [rsp + 0x64], r14d
lea rcx, [rbp - 0x30]
mov dword [rsp + 0x58], r14d
mov dword [rsp + 0x60], r14d
mov dword [rsp + 0x70], r14d
mov dword [rsp + 0x6c], r14d
mov dword [rsp + 0x68], r14d
mov dword [rsp + 0x5c], r14d
call fcn.1400a1af0
lea rcx, [0x140194d68]
mov dword [rbp - 0x30], 0x11c
call qword [fcn.140120538]
mov rcx, rax
lea rdx, [0x140194d58]
call fcn.1400570b0
test rax, rax
je 0x140055054
lea rcx, [rbp - 0x30]
call rax
lea rcx, [0x140191148]
call qword [fcn.140120538]
mov rcx, rax
lea rdx, [0x140191138]
call fcn.1400570b0
test rax, rax
lea rcx, [0x140191148]
mov rsi, rax
cmove rsi, qword [0x1401201d8]
xor eax, eax
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x78], rsi
call qword [fcn.140120538]
mov rcx, rax
lea rdx, [0x140194d78]
call qword [fcn.1401204e8]
lea rcx, [rbp - 0x70]
test rax, rax
je 0x1400550c6
call rax
jmp 0x1400550cc
call fcn.1405b8f4c
nop
lea rcx, [0x140191148]
call qword [fcn.140120538]
mov rcx, rax
lea rdx, [0x140194d90]
call qword [fcn.1401204e8]
mov rdi, rax
test rax, rax
jne 0x1400550fb
mov byte [rsp + 0x44], 1
jmp 0x1400551f4
mov rsi, r14
mov dword [rsp + 0x40], r14d
mov r15d, r14d
lea rdx, [rsp + 0x40]
mov rcx, rsi
call rdi
test eax, eax
jne 0x14005513d
call qword [fcn.140120588]
cmp eax, 0x7a
jne 0x14005513d
test rsi, rsi
je 0x14005512c
mov rcx, rsi
call fcn.1400e0334
mov ecx, dword [rsp + 0x40]
call fcn.1400e0348
mov rsi, rax
test rax, rax
jne 0x140055106
mov qword [rsp + 0x50], rsi
test rsi, rsi
je 0x1400551f0
mov r13d, dword [rsp + 0x40]
cmp r13, 0x20
jb 0x1400551e8
lea rdi, [rsi + 0x10]
mov r12d, ebx
mov esi, ebx
mov ecx, dword [rdi - 8]
test ecx, ecx
je 0x1400551a0
sub ecx, 1
je 0x14005519b
sub ecx, 1
je 0x14005517f
cmp ecx, 1
jne 0x1400551b1
inc dword [rsp + 0x5c]
jmp 0x1400551b1
movzx eax, byte [rdi]
cmp al, 1
jne 0x14005518b
inc r14d
jmp 0x1400551b1
cmp al, 2
jne 0x140055193
inc ebx
jmp 0x1400551b1
cmp al, 3
jne 0x1400551b1
inc esi
jmp 0x1400551b1
inc r12d
jmp 0x1400551b1
mov rcx, qword [rdi - 0x10]
inc dword [rsp + 0x60]
call fcn.140054eb0
add dword [rsp + 0x64], eax
add r15d, 0x20
add rdi, 0x20
mov eax, r15d
add rax, 0x20
cmp rax, r13
jbe 0x140055163
mov dword [rsp + 0x68], esi
mov rsi, qword [rsp + 0x50]
mov dword [rsp + 0x6c], ebx
mov ebx, dword [rsp + 0x48]
mov dword [rsp + 0x70], r14d
xor r14d, r14d
mov dword [rsp + 0x58], r12d
mov r12, qword [rsp + 0x78]
mov rcx, rsi
call fcn.1400e0334
mov rsi, qword [rbp - 0x78]
mov eax, dword [rbp - 0x20]
mov edi, 0x200
mov r15d, 0x2000
mov r13d, 0x8000
test eax, eax
je 0x140055e6a
sub eax, 1
je 0x140055d36
cmp eax, 1
jne 0x140055e7f
mov byte [0x1401a6250], al
mov eax, dword [rbp - 0x2c]
cmp eax, 4
ja 0x140055266
lea rdx, [0x140194db0]
lea rcx, [rbp + 0x1c0]
call fcn.14002e110
lea rdx, [0x140194dc8]
mov ebx, eax
lea rcx, [0x140198e38]
call fcn.1405ae0fc
nop
mov eax, dword [rbp - 0x2c]
mov dword [0x1401a6254], 0x4e21
cmp eax, 5
jne 0x1400553a4
mov ecx, dword [rbp - 0x28]
test ecx, ecx
jne 0x1400552be
movsxd rax, ebx
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140194dd0]
call fcn.14002e110
lea rdx, [0x140194de8]
add ebx, eax
lea rcx, [0x140198e38]
call fcn.1405ae0fc
nop
mov eax, dword [rbp - 0x2c]
mov dword [0x1401a6254], 0x4e22
cmp eax, 5
jne 0x1400553a4
mov ecx, dword [rbp - 0x28]
cmp ecx, 1
jne 0x14005530b
movsxd rax, ebx
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140194df0]
call fcn.14002e110
lea rdx, [0x140194e08]
add ebx, eax
lea rcx, [0x140198e38]
call fcn.1405ae0fc
nop
mov eax, dword [rbp - 0x2c]
mov dword [0x1401a6254], 0x4e2a
cmp eax, 5
jne 0x1400553a4
mov ecx, dword [rbp - 0x28]
cmp ecx, 2
jne 0x14005554b
mov ecx, 0x59
call fcn.1405bcbbb
nop
test eax, eax
je 0x14005532c
lea rdx, [0x140194e10]
jmp 0x14005536f
movzx eax, word [rbp + 0xe8]
cmp ax, r15w
jne 0x140055342
lea rdx, [0x140194e38]
jmp 0x14005536f
cmp ax, r13w
jne 0x140055351
lea rdx, [0x140194e60]
jmp 0x14005536f
cmp byte [rbp + 0xea], 1
jne 0x140055368
cmp word [rbp - 0x70], 9
lea rdx, [0x140194e80]
je 0x14005536f
lea rdx, [0x140194eb0]
movsxd rax, ebx
lea rcx, [rbp + 0x1c0]
add rcx, rax
call fcn.14002e110
add ebx, eax
lea rdx, [0x140194ed0]
lea rcx, [0x140198e38]
call fcn.1405ae0fc
nop
mov eax, dword [rbp - 0x2c]
mov dword [0x1401a6254], 0x4e3e
cmp eax, 6
jne 0x140055507
mov ecx, dword [rbp - 0x28]
test ecx, ecx
jne 0x14005540c
movsxd rax, ebx
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140194ed8]
cmp byte [rbp + 0xea], 1
je 0x1400553d8
lea rdx, [0x140194ef8]
call fcn.14002e110
lea rdx, [0x140194f18]
add ebx, eax
lea rcx, [0x140198e38]
call fcn.1405ae0fc
nop
mov eax, dword [rbp - 0x2c]
mov dword [0x1401a6254], 0x4e48
cmp eax, 6
jne 0x140055507
mov ecx, dword [rbp - 0x28]
cmp ecx, 1
jne 0x140055469
movsxd rax, ebx
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140194f20]
cmp byte [rbp + 0xea], 1
je 0x140055435
lea rdx, [0x140194f38]
call fcn.14002e110
lea rdx, [0x140194f5c]
add ebx, eax
lea rcx, [0x140198e38]
call fcn.1405ae0fc
nop
mov eax, dword [rbp - 0x2c]
mov dword [0x1401a6254], 0x4e70
cmp eax, 6
jne 0x140055507
mov ecx, dword [rbp - 0x28]
cmp ecx, 2
jne 0x1400554c2
movsxd rax, ebx
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140194f60]
cmp byte [rbp + 0xea], 1
je 0x140055492
lea rdx, [0x140194f78]
call fcn.14002e110
lea rdx, [0x140194f98]
add ebx, eax
lea rcx, [0x140198e38]
call fcn.1405ae0fc
nop
mov eax, dword [rbp - 0x2c]
mov dword [0x1401a6254], 0x4e8e
cmp eax, 6
jne 0x140055507
mov ecx, dword [rbp - 0x28]
cmp ecx, 3
jne 0x14005554b
movsxd rax, ebx
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140194fa0]
call fcn.14002e110
add ebx, eax
lea rdx, [0x140194fb8]
lea rcx, [0x140198e38]
call fcn.1405ae0fc
nop
mov eax, dword [rbp - 0x2c]
mov dword [0x1401a6254], 0x4ea2
cmp eax, 0xa
jne 0x140055548
movsxd rax, ebx
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140194fc0]
call fcn.14002e110
add ebx, eax
lea rdx, [0x140194fd8]
lea rcx, [0x140198e38]
call fcn.1405ae0fc
nop
mov eax, dword [rbp - 0x2c]
mov dword [0x1401a6254], 0x4eac
mov ecx, dword [rbp - 0x28]
cmp eax, 6
jb 0x140055bc7
lea rcx, [0x140191148]
mov dword [rsp + 0x40], r14d
call qword [fcn.140120538]
mov rcx, rax
lea rdx, [0x140194fe0]
call qword [fcn.1401204e8]
test rax, rax
je 0x140055e7f
mov edx, dword [rbp - 0x28]
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
mov ecx, dword [rbp - 0x2c]
xor r8d, r8d
call rax
test eax, eax
je 0x140055e7f
mov r8d, dword [rsp + 0x40]
cmp r8d, 1
jne 0x1400555b6
lea rdx, [0x140194ff0]
jmp 0x140055974
cmp r8d, 3
jne 0x1400555c8
lea rdx, [0x140195008]
jmp 0x140055974
cmp r8d, 2
jne 0x1400555da
lea rdx, [0x140195020]
jmp 0x140055974
cmp r8d, 4
jne 0x1400555ec
lea rdx, [0x140195038]
jmp 0x140055974
cmp r8d, 6
jne 0x1400555fe
lea rdx, [0x140195050]
jmp 0x140055974
cmp r8d, 0xb
jne 0x140055610
lea rdx, [0x140195068]
jmp 0x140055974
cmp r8d, 0xb2
jne 0x140055625
lea rdx, [0x140195080]
jmp 0x140055974
cmp r8d, 0xb3
jne 0x14005563a
lea rdx, [0x140195090]
jmp 0x140055974
cmp r8d, 0x12
jne 0x14005564c
lea rdx, [0x1401950a8]
jmp 0x140055974
cmp r8d, 8
jne 0x14005565e
lea rdx, [0x1401950c0]
jmp 0x140055974
cmp r8d, 0xc
jne 0x140055670
lea rdx, [0x1401950d8]
jmp 0x140055974
cmp r8d, 0x79
jne 0x140055682
lea rdx, [0x140195100]
jmp 0x140055974
cmp r8d, 0x7a
jne 0x140055694
lea rdx, [0x140195118]
jmp 0x140055974
cmp r8d, 0xa
jne 0x1400556a6
lea rdx, [0x140195038]
jmp 0x140055974
cmp r8d, 0xe
jne 0x1400556b8
lea rdx, [0x140195130]
jmp 0x140055974
cmp r8d, 0xf
jne 0x1400556ca
lea rdx, [0x140195158]
jmp 0x140055974
cmp r8d, 9
jne 0x1400556dc
lea rdx, [0x140195188]
jmp 0x140055974
cmp r8d, 0x19
jne 0x1400556ee
lea rdx, [0x1401951a0]
jmp 0x140055974
cmp r8d, 7
jne 0x140055714
movsxd rax, ebx
lea rcx, [rbp + 0x1c0]
lea rdx, [0x1401951c8]
add rcx, rax
call fcn.14002e110
add ebx, eax
jmp 0x140055e7f
cmp r8d, 0xd
jne 0x140055726
lea rdx, [0x1401951e0]
jmp 0x140055974
cmp r8d, 0x11
jne 0x140055738
lea rdx, [0x140195208]
jmp 0x140055974
cmp r8d, 0x40
jne 0x14005574a
lea rdx, [0x140195220]
jmp 0x140055974
cmp r8d, 0x65
jne 0x14005575c
lea rdx, [0x140195238]
jmp 0x140055974
cmp r8d, 0x62
jne 0x14005576e
lea rdx, [0x140195240]
jmp 0x140055974
cmp r8d, 0x63
jne 0x140055780
lea rdx, [0x140195248]
jmp 0x140055974
cmp r8d, 0x64
jne 0x140055792
lea rdx, [0x140195258]
jmp 0x140055974
cmp r8d, 0x50
jne 0x1400557a4
lea rdx, [0x140195270]
jmp 0x140055974
cmp r8d, 0x27
jne 0x1400557b6
lea rdx, [0x1401952a0]
jmp 0x140055974
cmp r8d, 0x25
jne 0x1400557c8
lea rdx, [0x1401952d8]
jmp 0x140055974
cmp r8d, 0x54
jne 0x1400557da
lea rdx, [0x140195310]
jmp 0x140055974
cmp r8d, 0x1b
jne 0x1400557ec
lea rdx, [0x140195338]
jmp 0x140055974
cmp r8d, 0x48
jne 0x1400557fe
lea rdx, [0x140195348]
jmp 0x140055974
cmp r8d, 0x29
jne 0x140055810
lea rdx, [0x140195378]
jmp 0x140055974
cmp r8d, 0x26
jne 0x140055822
lea rdx, [0x1401953b0]
jmp 0x140055974
cmp r8d, 0x3b
jne 0x140055834
lea rdx, [0x1401953e8]
jmp 0x140055974
cmp r8d, 0x3c
jne 0x140055846
lea rdx, [0x140195410]
jmp 0x140055974
cmp r8d, 0x3d
jne 0x140055858
lea rdx, [0x140195438]
jmp 0x140055974
cmp r8d, 0x3e
jne 0x14005586a
lea rdx, [0x140195468]
jmp 0x140055974
cmp r8d, 0x1a
jne 0x14005587c
lea rdx, [0x140195498]
jmp 0x140055974
cmp r8d, 0x22
jne 0x14005588e
lea rdx, [0x1401954a8]
jmp 0x140055974
cmp r8d, 0x2a
jne 0x1400558a0
lea rdx, [0x1401954c8]
jmp 0x140055974
cmp r8d, 0x1e
jne 0x1400558b2
lea rdx, [0x1401954e8]
jmp 0x140055974
cmp r8d, 0x20
jne 0x1400558c4
lea rdx, [0x140195518]
jmp 0x140055974
cmp r8d, 0x1f
jne 0x1400558d6
lea rdx, [0x140195548]
jmp 0x140055974
cmp r8d, 0x4c
jne 0x1400558e8
lea rdx, [0x140195578]
jmp 0x140055974
cmp r8d, 0x4d
jne 0x1400558f7
lea rdx, [0x1401955a8]
jmp 0x140055974
cmp r8d, 0x30
jne 0x14005591d
movsxd rax, ebx
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x1401955d8]
call fcn.14002e110
add ebx, eax
jmp 0x140055e7f
cmp r8d, 0x31
jne 0x14005592c
lea rdx, [0x1401955e8]
jmp 0x140055974
cmp r8d, 0x67
jne 0x14005593b
lea rdx, [0x1401955f8]
jmp 0x140055974
cmp r8d, 0x36
je 0x14005596d
cmp r8d, 0x33
jne 0x140055967
movsxd rax, ebx
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195638]
call fcn.14002e110
add ebx, eax
jmp 0x140055e7f
cmp r8d, 0x37
jne 0x14005598d
lea rdx, [0x140195618]
movsxd rax, ebx
lea rcx, [rbp + 0x1c0]
add rcx, rax
call fcn.14002e110
add ebx, eax
jmp 0x140055e7f
cmp r8d, 0x23
jne 0x1400559b3
movsxd rax, ebx
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195660]
call fcn.14002e110
add ebx, eax
jmp 0x140055e7f
cmp r8d, 0x21
jne 0x1400559d9
movsxd rax, ebx
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x1401956b0]
call fcn.14002e110
add ebx, eax
jmp 0x140055e7f
cmp r8d, 0x32
jne 0x1400559ff
movsxd rax, ebx
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x1401956c8]
call fcn.14002e110
add ebx, eax
jmp 0x140055e7f
movsxd rax, ebx
lea rcx, [rbp + 0x1c0]
add rcx, rax
cmp r8d, 0x3f
jne 0x140055a25
lea rdx, [0x1401956f0]
call fcn.14002e110
add ebx, eax
jmp 0x140055e7f
cmp r8d, 0x38
jne 0x140055a3e
lea rdx, [0x140195728]
call fcn.14002e110
add ebx, eax
jmp 0x140055e7f
cmp r8d, 0x4f
jne 0x140055a57
lea rdx, [0x140195740]
call fcn.14002e110
add ebx, eax
jmp 0x140055e7f
cmp r8d, 0x24
jne 0x140055a70
lea rdx, [0x140195770]
call fcn.14002e110
add ebx, eax
jmp 0x140055e7f
cmp r8d, 0x28
jne 0x140055a89
lea rdx, [0x140195798]
call fcn.14002e110
add ebx, eax
jmp 0x140055e7f
cmp r8d, 0x34
jne 0x140055aa2
lea rdx, [0x1401957d0]
call fcn.14002e110
add ebx, eax
jmp 0x140055e7f
cmp r8d, 0x35
jne 0x140055abb
lea rdx, [0x1401957f0]
call fcn.14002e110
add ebx, eax
jmp 0x140055e7f
cmp r8d, 0x2f
jne 0x140055ad4
lea rdx, [0x140195820]
call fcn.14002e110
add ebx, eax
jmp 0x140055e7f
cmp r8d, 0x2e
jne 0x140055aed
lea rdx, [0x140195830]
call fcn.14002e110
add ebx, eax
jmp 0x140055e7f
cmp r8d, 0x2b
jne 0x140055b06
lea rdx, [0x140195860]
call fcn.14002e110
add ebx, eax
jmp 0x140055e7f
cmp r8d, 0x60
jne 0x140055b1f
lea rdx, [0x140195890]
call fcn.14002e110
add ebx, eax
jmp 0x140055e7f
cmp r8d, 0x2c
jne 0x140055b38
lea rdx, [0x1401958c8]
call fcn.14002e110
add ebx, eax
jmp 0x140055e7f
cmp r8d, 0x5f
jne 0x140055b51
lea rdx, [0x1401958f8]
call fcn.14002e110
add ebx, eax
jmp 0x140055e7f
cmp r8d, 0x2d
jne 0x140055b6a
lea rdx, [0x140195930]
call fcn.14002e110
add ebx, eax
jmp 0x140055e7f
test r8d, r8d
jne 0x140055b82
lea rdx, [0x140195960]
call fcn.14002e110
add ebx, eax
jmp 0x140055e7f
cmp r8d, 0x1c
jne 0x140055b9b
lea rdx, [0x140195978]
call fcn.14002e110
add ebx, eax
jmp 0x140055e7f
cmp r8d, 0x1d
jne 0x140055bb4
lea rdx, [0x140195988]
call fcn.14002e110
add ebx, eax
jmp 0x140055e7f
lea rdx, [0x1401959a8]
call fcn.14002e110
add ebx, eax
jmp 0x140055e7f
movzx edx, byte [rbp + 0xea]
cmp dl, 1
jne 0x140055c1b
cmp eax, 4
lea rcx, [rbp + 0x1c0]
movsxd rax, ebx
jne 0x140055bf8
lea rdx, [0x1401959b8]
add rcx, rax
call fcn.14002e110
add ebx, eax
jmp 0x140055e7f
add rcx, rax
test word [rbp + 0xe8], di
je 0x14005590a
lea rdx, [0x1401959d0]
call fcn.14002e110
add ebx, eax
jmp 0x140055e7f
cmp dl, 3
jne 0x140055e7f
cmp eax, 5
jne 0x140055cfa
cmp ecx, 2
jne 0x140055c98
movzx eax, byte [rbp + 0xe8]
test al, al
jns 0x140055c49
lea rdx, [0x1401950c0]
jmp 0x140055974
lea rcx, [rbp + 0x1c0]
test al, 2
je 0x140055c6d
movsxd rax, ebx
lea rdx, [0x140195038]
add rcx, rax
call fcn.14002e110
add ebx, eax
jmp 0x140055e7f
mov eax, 0x400
cmp word [rbp + 0xe8], ax
movsxd rax, ebx
jne 0x1400556fe
lea rdx, [0x1401959e0]
add rcx, rax
call fcn.14002e110
add ebx, eax
jmp 0x140055e7f
test ecx, ecx
jne 0x140055cfa
movzx eax, byte [rbp + 0xe8]
lea rcx, [rbp + 0x1c0]
test al, al
jns 0x140055cc7
movsxd rax, ebx
lea rdx, [0x1401959f0]
add rcx, rax
call fcn.14002e110
add ebx, eax
jmp 0x140055e7f
test al, 2
movsxd rax, ebx
je 0x140055ce4
lea rdx, [0x140195a08]
add rcx, rax
call fcn.14002e110
add ebx, eax
jmp 0x140055e7f
add rcx, rax
lea rdx, [0x140195a20]
call fcn.14002e110
add ebx, eax
jmp 0x140055e7f
movsxd rax, ebx
lea rcx, [rbp + 0x1c0]
add rcx, rax
test byte [rbp + 0xe8], 2
je 0x140055d23
lea rdx, [0x140195a28]
call fcn.14002e110
add ebx, eax
jmp 0x140055e7f
lea rdx, [0x140195a48]
call fcn.14002e110
add ebx, eax
jmp 0x140055e7f
cmp dword [rbp - 0x2c], 4
mov byte [0x1401a6250], 0
jne 0x140055e7f
mov eax, dword [rbp - 0x28]
test eax, eax
jne 0x140055db5
lea rdx, [0x140195a58]
lea rcx, [rbp + 0x1c0]
call fcn.14002e110
movsxd rbx, eax
movzx eax, word [rbp - 0x1a]
sub ax, 0x42
cmp ax, 1
ja 0x140055d8a
lea rcx, [rbp + 0x1c0]
add rcx, rbx
lea rdx, [0x140195a70]
call fcn.14002e110
add ebx, eax
lea rdx, [0x140195a78]
lea rcx, [0x140198e38]
call fcn.1405ae0fc
nop
cmp dword [rbp - 0x2c], 4
mov dword [0x1401a6254], 0x4dee
jne 0x140055e7f
mov eax, dword [rbp - 0x28]
cmp eax, 0xa
jne 0x140055e2a
movsxd rax, ebx
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195a80]
call fcn.14002e110
add ebx, eax
cmp word [rbp - 0x1a], 0x41
jne 0x140055e03
movsxd rax, ebx
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195a98]
call fcn.14002e110
add ebx, eax
mov dword [0x1401a6254], 0x4e16
jmp 0x140055e0d
mov dword [0x1401a6254], 0x4e0c
lea rdx, [0x140195a9c]
lea rcx, [0x140198e38]
call fcn.1405ae0fc
nop
cmp dword [rbp - 0x2c], 4
jne 0x140055e7f
mov eax, dword [rbp - 0x28]
cmp eax, 0x5a
jne 0x140055e7f
movsxd rax, ebx
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195aa0]
call fcn.14002e110
add ebx, eax
lea rdx, [0x140195ab8]
lea rcx, [0x140198e38]
call fcn.1405ae0fc
nop
mov dword [0x1401a6254], 0x4e20
jmp 0x140055e7f
lea rdx, [0x140195ac0]
lea rcx, [rbp + 0x1c0]
call fcn.14002e110
mov ebx, eax
lea rax, [rbp - 0x78]
mov dword [rsp + 0x40], r14d
mov edi, 1
mov dword [rsp + 0x50], 4
mov r9d, edi
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, [0x140195ad8]
mov rcx, 0xffffffff80000002
call fcn.1405b22a2
nop
mov rcx, qword [rbp - 0x78]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rdx, [0x140195b00]
lea rax, [rsp + 0x40]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call fcn.1405b8351
nop
mov rcx, qword [rbp - 0x78]
call fcn.1405b0569
nop
cmp dword [rsp + 0x40], edi
je 0x140055f3f
lea rcx, [0x140191148]
mov dword [rsp + 0x48], r14d
call qword [fcn.140120538]
mov rcx, rax
lea rdx, [0x140194fe0]
call qword [fcn.1401204e8]
test rax, rax
je 0x140055f61
mov edx, dword [rbp - 0x28]
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
mov ecx, dword [rbp - 0x2c]
xor r8d, r8d
call rax
test eax, eax
je 0x140055f61
mov eax, dword [rsp + 0x48]
add eax, 0xffffff4e
cmp eax, edi
ja 0x140055f61
movsxd rax, ebx
lea rcx, [rbp + 0x1c0]
add rcx, rax
mov byte [0x1401a6252], dil
lea rdx, [0x140195b18]
call fcn.14002e110
add ebx, eax
cmp rsi, qword [0x1401201d8]
je 0x140055faf
lea rcx, [0x140195b28]
call qword [fcn.140120538]
cmp qword [0x1401201d8], rax
jbe 0x140055faf
add rax, 0x90000
cmp qword [0x1401201d8], rax
ja 0x140055faf
movsxd rax, ebx
lea rcx, [rbp + 0x1c0]
add rcx, rax
mov byte [0x1401a6251], dil
lea rdx, [0x140195b38]
call fcn.14002e110
test r12, r12
je 0x140055fca
lea r8, [rbp + 0x1c0]
mov rcx, r12
lea rdx, [0x140195b50]
call fcn.14003d640
lea rcx, [0x140195b60]
call fcn.14003fd30
mov rdx, rax
lea r8, [rbp + 0x1c0]
lea rcx, [0x1401a6290]
call fcn.14002e110
movzx eax, word [rbp - 0x24]
lea rdx, [0x140195b70]
mov r9d, dword [rbp - 0x28]
lea rcx, [rbp + 0x1c0]
mov r8d, dword [rbp - 0x2c]
mov dword [rsp + 0x28], eax
lea rax, [rbp - 0x1c]
mov qword [rsp + 0x20], rax
call fcn.14002e110
test r12, r12
je 0x140056033
lea r8, [rbp + 0x1c0]
mov rcx, r12
lea rdx, [0x140195b88]
call fcn.14003d640
lea rdx, [rbp + 0x1c0]
lea rcx, [0x1401a6310]
call fcn.1405ae0fc
nop
lea rcx, [0x140195ba0]
call fcn.14003fd30
mov rdx, rax
lea rcx, [0x140198e48]
call fcn.1400e3d68
test eax, eax
je 0x1400560bb
lea r8, [0x140198e48]
lea rdx, [0x140195bb0]
lea rcx, [rbp + 0x1c0]
call fcn.14002e110
movsxd rcx, eax
lea r8, [0x140198e68]
lea rax, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195bc8]
call fcn.14002e110
test r12, r12
je 0x1400560bb
lea r8, [rbp + 0x1c0]
mov rcx, r12
lea rdx, [0x140195bd8]
call fcn.14003d640
mov r9d, 7
lea r8, [rbp + 0x180]
mov ecx, 0x800
lea edx, [r9 - 2]
call fcn.1405b707f
nop
mov r9d, 6
lea r8, [rbp + 0x130]
mov edx, edi
mov ecx, 0x800
call fcn.1405b707f
nop
mov r9d, 0x40
lea r8, [rbp + 0x9c0]
mov edx, 0x1002
mov ecx, 0x800
call fcn.1405b707f
nop
mov r9d, 0x40
lea r8, [rbp + 0xb00]
mov edx, 0x1001
mov ecx, 0x800
call fcn.1405b707f
nop
lea rax, [rbp + 0x130]
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x180]
lea rax, [rbp + 0xb00]
lea r8, [rbp + 0x9c0]
mov qword [rsp + 0x20], rax
lea rdx, [0x140195be0]
lea rcx, [rbp + 0x1c0]
call fcn.14002e110
test r12, r12
je 0x14005617f
lea r8, [rbp + 0x1c0]
mov rcx, r12
lea rdx, [0x140195bd8]
call fcn.14003d640
lea rdx, [rbp + 0x9c0]
lea rcx, [0x1401a6390]
call fcn.1405ae0fc
nop
lea rdx, [rbp + 0x130]
lea rcx, [0x1401a63b0]
call fcn.1405ae0fc
nop
xor eax, eax
mov byte [rbp + 0x144], 0
xor ecx, ecx
mov byte [rbp + 0x178], 0
cpuid
mov r9d, eax
mov dword [rbp + 0x140], ecx
xor ecx, ecx
mov dword [rbp + 0x138], ebx
mov dword [rbp + 0x13c], edx
mov eax, 0x80000000
mov dword [rsp + 0x48], r14d
mov esi, r14d
mov dword [rsp + 0x40], r14d
mov r13d, r14d
mov edi, r14d
mov r15d, r14d
cpuid
mov dword [rsp + 0x50], eax
mov r8d, eax
cmp r9d, 1
jl 0x140056212
mov eax, 1
xor ecx, ecx
cpuid
mov esi, edx
mov dword [0x1401a63c8], eax
mov r13d, ecx
mov edi, ebx
cmp r8d, 0x80000001
jb 0x140056240
xor ecx, ecx
mov eax, 0x80000001
cpuid
mov dword [rsp + 0x48], ecx
mov eax, 0x40000000
xor ecx, ecx
mov r15d, edx
cpuid
mov dword [0x1401a63bc], eax
mov dword [0x1401a63c0], ebx
cmp r9d, 7
jl 0x140056253
mov eax, 7
xor ecx, ecx
cpuid
mov dword [rsp + 0x40], ecx
cmp r8d, 0x80000004
jb 0x1400562bf
xor ecx, ecx
mov eax, 0x80000002
cpuid
mov dword [rbp + 0x148], eax
mov eax, 0x80000003
mov dword [rbp + 0x150], ecx
xor ecx, ecx
mov dword [rbp + 0x14c], ebx
mov dword [rbp + 0x154], edx
cpuid
mov dword [rbp + 0x158], eax
mov eax, 0x80000004
mov dword [rbp + 0x160], ecx
xor ecx, ecx
mov dword [rbp + 0x15c], ebx
mov dword [rbp + 0x164], edx
cpuid
mov dword [rbp + 0x168], eax
mov dword [rbp + 0x16c], ebx
mov dword [rbp + 0x170], ecx
mov dword [rbp + 0x174], edx
lea rcx, [0x140195c08]
call fcn.14003fd30
mov rdx, rax
lea rcx, [rbp + 0x138]
call fcn.1400e3d68
test eax, eax
jne 0x1400562eb
mov byte [0x140198e8c], al
mov byte [0x1401a6289], 1
mov rax, qword [rbp - 0x50]
shr edi, 0x10
movzx r9d, dil
mov dword [0x1401a628c], r9d
mov dword [0x140198e88], eax
test r12, r12
je 0x1400563ec
mov r8d, eax
lea rdx, [0x140195c20]
mov rcx, r12
call fcn.14003d640
cmp byte [rsp + 0x44], 0
jne 0x140056396
mov r8d, dword [rsp + 0x58]
lea rdx, [0x140195c48]
mov rcx, r12
call fcn.14003d640
mov r8d, dword [rsp + 0x5c]
lea rdx, [0x140195c68]
mov rcx, r12
call fcn.14003d640
mov r8d, dword [rsp + 0x60]
lea rdx, [0x140195c98]
mov rcx, r12
call fcn.14003d640
mov r8d, dword [rsp + 0x64]
lea rdx, [0x140195cc0]
mov rcx, r12
call fcn.14003d640
mov eax, dword [rsp + 0x68]
lea rdx, [0x140195ce8]
mov r9d, dword [rsp + 0x6c]
mov rcx, r12
mov r8d, dword [rsp + 0x70]
mov dword [rsp + 0x20], eax
call fcn.14003d640
mov r9d, dword [0x1401a63c8]
lea r8, [rbp + 0x138]
movzx ebx, word [0x1401a63ca]
mov ecx, r9d
mov eax, r9d
shr ecx, 8
shr eax, 0x14
and ecx, 0xf
movzx edx, al
and ebx, 0xf
mov dword [rsp + 0x38], edx
mov eax, r9d
shr eax, 4
lea rdx, [0x140195d20]
mov dword [rsp + 0x30], ebx
and eax, 0xf
mov dword [rsp + 0x28], ecx
and r9d, 0xf
mov rcx, r12
mov dword [rsp + 0x20], eax
call fcn.14003d640
cmp dword [rsp + 0x50], 0x80000004
jb 0x14005655e
test r12, r12
je 0x140056415
lea r8, [rbp + 0x148]
mov rcx, r12
lea rdx, [0x140195d78]
call fcn.14003d640
lea rcx, [0x140195d90]
call fcn.14003fd30
mov r8d, 4
lea rcx, [rbp + 0x148]
mov rdx, rax
call fcn.1400e6ec4
test eax, eax
jne 0x140056447
mov byte [0x140198e8c], al
mov byte [0x1401a6289], 1
lea rdx, [rbp + 0x148]
lea rcx, [0x1401a6258]
call fcn.1405ae0fc
nop
nop dword [rax + rax]
movzx eax, byte [rbp + r14 + 0x148]
mov byte [rbp + r14 + 0x188], al
lea r14, [r14 + 1]
test al, al
jne 0x140056460
lea rcx, [rbp + 0x188]
call fcn.1400e6d24
lea rdx, [0x140195d9c]
lea rcx, [rbp + 0x188]
call fcn.1400a08dc
test rax, rax
je 0x1400564a6
mov byte [0x1401a6253], 1
jmp 0x1400564d1
lea rdx, [0x140195da8]
lea rcx, [rbp + 0x188]
call fcn.1400a08dc
movzx ecx, byte [0x1401a6253]
test rax, rax
mov eax, 1
cmovne ecx, eax
mov byte [0x1401a6253], cl
cmp byte [0x140198e8c], 0
je 0x14005655e
lea rdx, [0x140195db8]
xor bl, bl
lea rcx, [rbp + 0x188]
call fcn.1400a08dc
test rax, rax
jne 0x140056512
lea rdx, [0x140195dbc]
lea rcx, [rbp + 0x188]
call fcn.1400a08dc
mov bl, 1
test rax, rax
je 0x14005655e
mov byte [rax], 0
nop word [rax + rax]
mov rcx, rax
lea rdx, [rbp + 0x188]
dec rax
cmp rax, rdx
jb 0x14005655e
cmp byte [rax], 0x20
jne 0x140056520
call fcn.1400e2628
xorps xmm1, xmm1
ucomisd xmm0, xmm1
jp 0x140056547
je 0x14005655e
test bl, bl
je 0x140056553
mulsd xmm0, qword [0x140128ba8]
cvttsd2si rax, xmm0
mov dword [0x1401a63cc], eax
lea rdx, [0x140195dc0]
lea rcx, [rbp + 0x1c0]
call fcn.14002e110
movsxd rdi, eax
test sil, 1
je 0x140056592
lea rcx, [rbp + 0x1c0]
add rcx, rdi
lea rdx, [0x140195dd8]
call fcn.14002e110
add edi, eax
test sil, 2
je 0x1400565b3
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195de0]
call fcn.14002e110
add edi, eax
test sil, 4
je 0x1400565d4
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195de8]
call fcn.14002e110
add edi, eax
test sil, 8
je 0x1400565f5
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195df0]
call fcn.14002e110
add edi, eax
test sil, 0x10
je 0x14005661d
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195df8]
call fcn.14002e110
add edi, eax
mov byte [0x140198e8d], 1
test sil, 0x20
je 0x14005663e
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195e00]
call fcn.14002e110
add edi, eax
test sil, 0x40
je 0x14005665f
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195e08]
call fcn.14002e110
add edi, eax
test sil, sil
jns 0x14005667f
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195e10]
call fcn.14002e110
add edi, eax
bt esi, 8
jae 0x1400566a0
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195e18]
call fcn.14002e110
add edi, eax
bt esi, 9
jae 0x1400566c1
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195e20]
call fcn.14002e110
add edi, eax
bt esi, 0xb
jae 0x1400566e2
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195e28]
call fcn.14002e110
add edi, eax
bt esi, 0xc
jae 0x140056703
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195e30]
call fcn.14002e110
add edi, eax
bt esi, 0xd
jae 0x140056724
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195e38]
call fcn.14002e110
add edi, eax
bt esi, 0xe
jae 0x140056745
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195e40]
call fcn.14002e110
add edi, eax
bt esi, 0xf
jae 0x140056766
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195e48]
call fcn.14002e110
add edi, eax
bt esi, 0x10
jae 0x140056787
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195e50]
call fcn.14002e110
add edi, eax
bt esi, 0x11
jae 0x1400567a8
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195e58]
call fcn.14002e110
add edi, eax
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195e60]
call fcn.14002e110
add edi, eax
bt esi, 0x12
jae 0x1400567e4
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195e80]
call fcn.14002e110
add edi, eax
bt esi, 0x13
jae 0x140056805
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195e88]
call fcn.14002e110
add edi, eax
bt esi, 0x15
jae 0x140056826
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195e94]
call fcn.14002e110
add edi, eax
bt esi, 0x16
jae 0x14005684e
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195e9c]
call fcn.14002e110
add edi, eax
mov byte [0x1401a63bb], 1
bt esi, 0x17
jae 0x14005686f
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195ea4]
call fcn.14002e110
add edi, eax
bt esi, 0x18
jae 0x140056890
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195eac]
call fcn.14002e110
add edi, eax
bt esi, 0x19
jae 0x1400568b1
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195eb4]
call fcn.14002e110
add edi, eax
bt esi, 0x1a
jae 0x1400568d2
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195ebc]
call fcn.14002e110
add edi, eax
bt esi, 0x1b
jae 0x1400568f3
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195ec4]
call fcn.14002e110
add edi, eax
bt esi, 0x1c
jae 0x140056914
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195ecc]
call fcn.14002e110
add edi, eax
bt esi, 0x1d
jae 0x14005693c
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195ed4]
call fcn.14002e110
add edi, eax
mov byte [0x1401a63ba], 1
bt esi, 0x1e
jae 0x14005695d
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195edc]
call fcn.14002e110
add edi, eax
test esi, esi
jns 0x14005697c
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195ee4]
call fcn.14002e110
add edi, eax
bt r15d, 0x13
jae 0x14005699e
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195eec]
call fcn.14002e110
add edi, eax
bt r15d, 0x14
jae 0x1400569c0
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195ef4]
call fcn.14002e110
add edi, eax
bt r15d, 0x19
jae 0x1400569e2
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195f00]
call fcn.14002e110
add edi, eax
bt r15d, 0x1a
jae 0x140056a04
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195f10]
call fcn.14002e110
add edi, eax
bt r15d, 0x1b
jae 0x140056a26
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195f20]
call fcn.14002e110
add edi, eax
bt r15d, 0x1d
jae 0x140056a48
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195f2c]
call fcn.14002e110
add edi, eax
test r15d, r15d
jns 0x140056a68
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195f38]
call fcn.14002e110
add edi, eax
bt r15d, 0x1e
jae 0x140056a8a
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195f40]
call fcn.14002e110
add edi, eax
lea ebx, [rdi - 2]
movsxd rax, ebx
lea rcx, [rbp + 0x1c0]
lea rdx, [0x140195f50]
cmp byte [rbp + rax + 0x1c0], 0x2c
cmovne ebx, edi
movsxd rax, ebx
add rcx, rax
call fcn.14002e110
lea edi, [rbx + rax]
test r13b, 1
je 0x140056ad8
lea rax, [rbp + 0x1c0]
movsxd rcx, edi
add rcx, rax
lea rdx, [0x140195f70]
call fcn.14002e110
add edi, eax
bt r13d, 0x13
jae 0x140056afa
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195f78]
call fcn.14002e110
add edi, eax
bt r13d, 0x14
jae 0x140056b1c
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195f88]
call fcn.14002e110
add edi, eax
test r13b, r13b
jns 0x140056b3c
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195f94]
call fcn.14002e110
add edi, eax
bt r13d, 8
jae 0x140056b65
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195f9c]
call fcn.14002e110
add edi, eax
mov byte [0x1401a63ba], 1
test r13b, 0x20
je 0x140056b8d
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195fa4]
call fcn.14002e110
add edi, eax
mov byte [0x1401a628b], 1
test byte [rsp + 0x48], 2
je 0x140056bb6
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195fac]
call fcn.14002e110
add edi, eax
mov byte [0x1401a628b], 1
test r13d, r13d
jns 0x140056bdd
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195fb8]
call fcn.14002e110
add edi, eax
mov byte [0x1401a628a], 1
test byte [rsp + 0x40], 0x80
je 0x140056c06
movsxd rax, edi
lea rcx, [rbp + 0x1c0]
add rcx, rax
lea rdx, [0x140195fc8]
call fcn.14002e110
add edi, eax
mov byte [0x1401a63c4], 1
lea ecx, [rdi - 2]
movsxd rax, ecx
cmp byte [rbp + rax + 0x1c0], 0x2c
jne 0x140056c2c
mov edi, ecx
cmp rax, 0x800
jae 0x140056f52
mov byte [rbp + rax + 0x1c0], 0
mov r9d, dword [0x1401a63c0]
lea rcx, [rbp + 0x1c0]
mov r8d, dword [0x1401a63bc]
lea rdx, [0x140195fd8]
movsxd rax, edi
add rcx, rax
call fcn.14002e110
test r12, r12
je 0x140056c6e
lea r8, [rbp + 0x1c0]
mov rcx, r12
lea rdx, [0x140195bd8]
call fcn.14003d640
lea rcx, [rbp - 0x40]
call fcn.1405b9749
nop
lea rdx, [0x140195fe8]
lea rcx, [rbp + 0x1c0]
call fcn.14002e110
movsxd rbx, eax
lea rcx, [rbp + 0x1c0]
movzx eax, byte [rbp - 0x40]
add rcx, rbx
test eax, eax
je 0x140056cb7
cmp eax, 1
je 0x140056cae
lea rdx, [0x140196010]
jmp 0x140056cbe
lea rdx, [0x140196008]
jmp 0x140056cbe
lea rdx, [0x140196000]
call fcn.14002e110
add ebx, eax
lea rcx, [rbp + 0x1c0]
movsxd rax, ebx
lea rdx, [0x140196018]
add rcx, rax
call fcn.14002e110
movzx ecx, byte [rbp - 0x3f]
add ebx, eax
movsxd rax, ebx
sub ecx, 0x80
je 0x140056d1a
cmp ecx, 0x7f
lea rcx, [rbp + 0x1c0]
je 0x140056d11
movzx r8d, byte [rbp - 0x3e]
lea rdx, [0x140196048]
add rcx, rax
call fcn.14002e110
jmp 0x140056d30
lea rdx, [0x140196010]
jmp 0x140056d28
lea rcx, [rbp + 0x1c0]
lea rdx, [0x140196030]
add rcx, rax
call fcn.14002e110
test r12, r12
je 0x140056d4b
lea r8, [rbp + 0x1c0]
mov rcx, r12
lea rdx, [0x140195bd8]
call fcn.14003d640
movzx eax, byte [0x1401a6253]
mov ecx, 1
cmp byte [rbp - 0x3f], 0x80
mov dword [rbp + 0xf0], 0x40
cmovb eax, ecx
lea rcx, [rbp + 0xf0]
mov byte [0x1401a6253], al
call fcn.1405b590b
nop
test r12, r12
je 0x140056dc2
mov r9, qword [rbp + 0xf8]
lea rdx, [0x140196060]
mov rcx, qword [rbp + 0x108]
mov eax, dword [rbp + 0xf4]
sub rcx, r9
mov r8, qword [rbp + 0x100]
shr rcx, 0x14
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov rcx, r12
shr r9, 0x14
shr r8, 0x14
call fcn.14003d640
mov eax, dword [rbp + 0xf4]
lea rcx, [0x140191148]
mov dword [0x1401a63d0], eax
mov rax, qword [rbp + 0x100]
shr rax, 0x14
mov dword [0x1401a63d4], eax
call qword [fcn.140120538]
mov rcx, rax
lea rdx, [0x1401960b0]
call qword [fcn.1401204e8]
test rax, rax
je 0x140056f22
mov edx, 0x100
lea rcx, [rbp + 0xa00]
call fcn.1405b595f
nop
lea r9, [rsp + 0x48]
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0xa00]
call qword [0x1401202b0]
mov edx, 0x5c
lea rcx, [rbp + 0xa00]
call fcn.1400e6df8
test rax, rax
je 0x140056e4c
mov byte [rax], 0
test r12, r12
je 0x140056e8c
mov rcx, qword [rsp + 0x50]
lea r8, [rbp + 0xa00]
mov rax, qword [rsp + 0x48]
lea rdx, [0x1401960c8]
mov r9, qword [rsp + 0x70]
shr rcx, 0x14
mov qword [rsp + 0x28], rcx
mov rcx, r12
shr rax, 0x14
shr r9, 0x14
mov qword [rsp + 0x20], rax
call fcn.14003d640
movzx ebx, byte [rbp + 0xa00]
lea rdx, [rbp + 0xa00]
mov ecx, 0x100
call qword [0x1401205c0]
cmp bl, byte [rbp + 0xa00]
je 0x140056f22
lea r9, [rsp + 0x48]
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0xa00]
call qword [0x1401202b0]
mov edx, 0x5c
lea rcx, [rbp + 0xa00]
call fcn.1400e6df8
test rax, rax
je 0x140056ee2
mov byte [rax], 0
test r12, r12
je 0x140056f22
mov rbx, qword [rsp + 0x50]
lea r8, [rbp + 0xa00]
mov rax, qword [rsp + 0x48]
lea rdx, [0x1401960c8]
mov r9, qword [rsp + 0x70]
mov rcx, r12
shr rbx, 0x14
shr rax, 0x14
mov qword [rsp + 0x28], rbx
shr r9, 0x14
mov qword [rsp + 0x20], rax
call fcn.14003d640
mov rcx, qword [rbp + 0xb40]
xor rcx, rsp
call fcn.14009ed10
lea r11, [rsp + 0xc50]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14009e8cc
int3