Function at 0x1400518f0
Capabilities:
Validate payment card number using luhn algorithm

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xc18
lea rax, [rdx + 2]
mov rsi, r9
mov qword [rsp + 0x110], r9
mov qword [rsp + 0x100], r9
mov r9, qword [rsp + 0xc80]
xor r15d, r15d
mov qword [rsp + 0x1e8], rax
mov r11, r8
mov qword [rsp + 0xa8], r8
mov r10, rcx
lea rax, [0x14011c618]
cmp r9, r15
jne 0x140051962
cmp qword [rcx + 0x10], 0x3f
jne 0x140051962
mov byte [rsp + 0xc60], 1
jmp 0x14005196f
mov byte [rsp + 0xc60], r15b
cmp r9, r15
jne 0x14005197a
mov r9, rax
mov qword [rsp + 0xc80], rax
cmp qword [r10 + 0x10], 0x3f
mov rdx, qword [rcx]
mov rcx, qword [rcx + 8]
mov rax, r15
sete al
mov r8, r15
mov qword [rsp + 0x88], rax
mov al, byte [r10 + 0x10]
mov qword [rsp + 0x98], r15
cmp al, 0x74
mov qword [rsp + 0x190], rdx
mov qword [rsp + 0x128], rcx
sete r8b
mov qword [rsp + 0x198], r8
cmp al, 0x73
je 0x1400519ce
cmp al, 0x31
je 0x1400519ce
mov eax, r15d
jmp 0x1400519d1
movsx eax, al
mov ebx, dword [r10 + 0x28]
mov r14d, dword [r10 + 0x50]
cdqe
mov qword [rsp + 0x1c8], rax
mov eax, ebx
mov r12d, ebx
and eax, 1
mov edi, ebx
mov r13d, ebx
mov dword [rsp + 0x44], eax
mov rax, rdx
or rdx, 0xffffffffffffffff
and r12d, 2
and edi, 4
and r13d, 0x10
and ebx, 0x20
cmp rcx, r15
mov qword [rsp + 0xd8], rcx
cmovl rax, rdx
lea rcx, [rsp + 0xe8]
mov edx, 0x3b
mov dword [rsp + 0xc0], r14d
mov qword [rsp + 0xe8], r9
mov qword [rsp + 0x38], r15
mov qword [rsp + 0xf8], rax
call fcn.1400e8c3c
mov rcx, qword [rsp + 0xe8]
cmp word [rcx], r15w
je 0x140051a7d
mov word [rcx], r15w
mov rcx, qword [rsp + 0xe8]
mov r11, qword [rsp + 0xc70]
add rcx, 2
mov qword [rsp + 0xa8], r11
mov qword [rsp + 0xe8], rcx
cmp word [r11], r15w
mov qword [rsp + 0x38], rcx
lea rcx, [rsp + 0x38]
setne byte [rsp + 0xc78]
call fcn.1400e8c3c
mov rcx, qword [rsp + 0x38]
cmp word [rcx], r15w
je 0x140051ac5
mov word [rcx], r15w
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0xc70]
add rcx, 2
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x38], rcx
mov rax, qword [r10 + 0x30]
mov r8, qword [r10 + 0x38]
mov rdx, qword [r10 + 0x48]
mov qword [rsp + 0x150], rax
mov rax, qword [r10 + 0x40]
movabs r11, 0x7fffffffffffffff
mov qword [rsp + 0x1e0], rax
mov rax, r8
and rax, r11
mov qword [rsp + 0x1b0], rax
mov rax, rdx
and rax, r11
mov qword [rsp + 0x1d0], rax
movabs rax, 0x8000000000000000
and r8, rax
and rdx, rax
mov eax, 0x2a
mov qword [rsp + 0x1c0], r8
mov qword [rsp + 0x180], rdx
cmp ax, word [rcx]
jne 0x140051b41
or edi, 1
add rcx, 2
mov qword [rsp + 0x38], rcx
mov ebp, 1
mov dword [rsp + 0x80], 1
lea eax, [rbp + 0x7d]
cmp ax, word [r9]
jne 0x140051b6e
or dword [rsp + 0x80], 0xffffffff
add r9, 2
mov qword [rsp + 0xc80], r9
cmp ax, word [rcx]
jne 0x140051b7f
or ebp, 0xffffffff
add rcx, 2
mov qword [rsp + 0x38], rcx
lea rcx, [rsp + 0x20]
call fcn.1400632a0
lea rcx, [rsp + 0x168]
mov qword [rsp + 0x90], r15
call fcn.1400632a0
mov qword [rsp + 0x170], r15
mov qword [rsp + 0x178], r15
mov r15d, 0x46
lea rcx, [rsp + 0x130]
mov rdx, r15
call fcn.140063314
xor r8d, r8d
lea ecx, [r14 + r14 + 1]
shl ecx, 8
movzx eax, bpl
mov qword [rsp + 0x138], r15
or ecx, eax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x140], r15
mov dword [rsp + 0xf0], ecx
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], rax
lea eax, [r8 + 0x5c]
mov r14d, r8d
mov r15d, r8d
cmp ax, word [rcx]
jne 0x140051c4c
movzx eax, word [rcx + 2]
lea edx, [r8 + 0x75]
or ax, 0x20
cmp dx, ax
jne 0x140051c30
cmp word [rcx + 4], r8w
jne 0x140051c30
lea r14d, [r8 + 1]
jmp 0x140051c45
mov edx, 0x6c
cmp dx, ax
jne 0x140051c4c
cmp word [rcx + 4], r8w
jne 0x140051c4c
lea r15d, [rdx - 0x6b]
mov ebp, 1
jmp 0x140051c4f
mov ebp, r8d
lea rcx, [rsp + 0x68]
call fcn.140062fc4
mov ecx, dword [rsp + 0xc0]
movsxd rax, r13d
mov qword [rsp + 0x1a0], rax
xor r11d, r11d
movsxd rax, ebp
mov qword [rsp + 0x160], rax
movsxd rax, r14d
mov qword [rsp + 0x70], r11
mov qword [rsp + 0x1f8], rax
movsxd rax, r15d
mov qword [rsp + 0x78], r11
mov qword [rsp + 0x1d8], rax
movsxd rax, r12d
xor r14d, r14d
mov qword [rsp + 0x108], rax
movsxd rax, edi
lea edi, [r11 + 0xd]
mov qword [rsp + 0x158], rax
movsxd rax, ebx
mov qword [rsp + 0x208], rax
lea eax, [rcx + rcx + 1]
movsxd r13, eax
mov qword [rsp + 0x118], r13
lea rcx, [rsp + 0x278]
mov ebx, 0xa
call fcn.14004f9f8
mov dword [rsp + 0x298], r14d
mov dword [rsp + 0x29c], r14d
mov dword [rsp + 0x2a0], 1
mov dword [rsp + 0x270], r14d
mov word [rsp + 0x40], r14w
mov r12, rsi
mov qword [rsp + 0xb0], rsi
cmp qword [rsp + 0x1a0], r14
je 0x140051d64
cmp word [rsi], r14w
je 0x140051d64
cmp di, word [r12]
je 0x140051d49
cmp bx, word [r12]
je 0x140051d49
add r12, 2
mov qword [rsp + 0xb0], r12
cmp word [r12], r14w
jne 0x140051d26
jmp 0x140051d64
movzx eax, word [r12]
mov word [r12], r14w
add r12, 2
mov word [rsp + 0x40], ax
mov qword [rsp + 0xb0], r12
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea rcx, [rsp + 0xb8]
movsxd rdi, eax
mov rax, rdi
mov qword [rsp + 0x1a8], rdi
cqo
idiv r13
lea rdx, [rdi + 0xa]
inc rax
mov qword [rsp + 0x188], rax
call fcn.140063314
mov rcx, qword [rsp + 0xb8]
lea r11d, [rdi + 1]
mov rdx, rsi
movsxd r8, r11d
add r8, r8
call fcn.14001d7d8
mov r15, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xa8]
lea rbx, [r15 + rdi*2]
mov qword [rsp + 0x60], r15
mov word [r15 + rdi*2 + 6], r14w
mov word [r15 + rdi*2 + 4], r14w
mov qword [rsp + 0x120], r15
mov qword [rsp + 0xd0], r14
mov word [rbx + 2], r14w
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x210], r14
mov qword [rsp + 0x218], r14
mov rsi, r15
mov r13, r15
mov qword [rsp + 0x1b8], r15
mov rbp, r15
mov qword [rsp + 0x48], r15
mov dword [rsp + 0xe0], r14d
call qword [sym.imp.KERNEL32.dll_lstrlenW]
cdqe
mov qword [rsp + 0x200], rax
cmp qword [rsp + 0x198], r14
jne 0x140051e55
cmp qword [rsp + 0x1c8], r14
jne 0x140051e55
cmp qword [rsp + 0x160], r14
je 0x140052404
mov rax, qword [rsp + 0x30]
mov r14, qword [rsp + 0x28]
sub rax, r14
sar rax, 1
cmp rdi, rax
jl 0x140051eb3
mov rax, r14
lea rcx, [rsp + 0x20]
sub rax, qword [rsp + 0x20]
sar rax, 1
lea rbx, [rax + rax]
mov rdi, rbx
sub rdi, qword [rsp + 0x20]
add rdi, r14
sar rdi, 1
lea rdx, [rdi + 0x408]
call fcn.1400633a0
mov r11, qword [rsp + 0x20]
lea r14, [rbx + r11]
lea rax, [r11 + rdi*2 + 0x800]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x30], rax
xor r8d, r8d
cmp qword [rsp + 0x160], r8
je 0x140051f56
lea r13, [0x14011c618]
cmp qword [rsp + 0x1f8], r8
je 0x140051f08
cmp word [r15], r8w
je 0x1400522a3
movzx ecx, word [r15]
add r15, 2
lea eax, [rcx - 0x61]
cmp ax, 0x19
ja 0x140051ef8
mov eax, 0xffdf
and cx, ax
mov word [r14], cx
add r14, 2
cmp word [r15], r8w
jne 0x140051edf
jmp 0x140051f4c
cmp qword [rsp + 0x1d8], r8
je 0x1400522a3
cmp word [r15], r8w
je 0x1400522a3
mov ebp, 0x20
movzx ecx, word [r15]
add r15, 2
lea eax, [rcx - 0x41]
cmp ax, 0x19
ja 0x140051f39
or cx, bp
mov word [r14], cx
add r14, 2
cmp word [r15], r8w
jne 0x140051f25
mov rbp, qword [rsp + 0x48]
mov qword [rsp + 0x28], r14
jmp 0x1400522a3
mov rdx, qword [rsp + 0x1c8]
cmp rdx, r8
je 0x140052401
mov rax, qword [rsp + 0xc68]
mov ebx, r8d
mov r11, r8
mov qword [rsp + 0xa0], r15
mov rcx, rax
mov qword [rsp + 0x58], rax
cmp rdx, 0x31
jne 0x140051fca
mov qword [rsp + 0x8f0], rax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov rcx, qword [rsp + 0xc70]
mov qword [rsp + 0x5d0], rcx
mov dword [rsp + 0x440], eax
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov ebx, 1
xor r8d, r8d
mov dword [rsp + 0x2b0], eax
jmp 0x1400520cf
cmp word [rax], r8w
je 0x140052055
lea r10, [rsp + 0x8f0]
mov r9, r8
lea rsi, [0x14011c618]
cmp r9, 0x190
jge 0x140052052
mov qword [r10], rcx
lea rcx, [rsp + 0x58]
mov edx, 0xa
mov qword [rsp + 0x5d0], rsi
mov dword [rsp + r9 + 0x2b0], r8d
call fcn.1400e8c3c
mov rcx, qword [rsp + 0x58]
xor r8d, r8d
mov rax, rcx
sub rax, qword [r10]
sar rax, 1
mov dword [rsp + r9 + 0x440], eax
cmp word [rcx], r8w
je 0x140052042
mov word [rcx], r8w
mov rcx, qword [rsp + 0x58]
add rcx, 2
mov qword [rsp + 0x58], rcx
inc ebx
add r10, 8
add r9, 4
cmp word [rcx], r8w
jne 0x140051fe6
mov rsi, rbp
mov rcx, qword [rsp + 0xc70]
mov qword [rsp + 0x58], rcx
cmp word [rcx], r8w
je 0x1400520c6
movsxd r9, ebx
cmp r11, r9
jge 0x1400520c6
mov qword [rsp + r11*8 + 0x5d0], rcx
lea rcx, [rsp + 0x58]
mov edx, 0xa
call fcn.1400e8c3c
mov rcx, qword [rsp + 0x58]
xor r8d, r8d
mov rax, rcx
sub rax, qword [rsp + r11*8 + 0x5d0]
sar rax, 1
mov dword [rsp + r11*4 + 0x2b0], eax
cmp word [rcx], r8w
je 0x1400520bd
mov word [rcx], r8w
mov rcx, qword [rsp + 0x58]
add rcx, 2
mov qword [rsp + 0x58], rcx
inc r11
cmp word [rcx], r8w
jne 0x14005206b
cmp ebx, r8d
jle 0x14005224d
cmp word [r15], r8w
je 0x14005224d
movsxd rdi, ebx
mov qword [rsp + 0xc8], rdi
cmp rdi, r8
mov rbp, r8
jle 0x1400521ce
movsxd rbx, dword [rsp + rbp*4 + 0x440]
cmp ebx, r8d
jle 0x1400521bd
mov rcx, qword [rsp + 0x1b0]
mov r12, r8
mov r13, r8
cmp rcx, r8
je 0x14005214e
cmp r15, rsi
je 0x14005214e
mov rax, r15
mov r12, rcx
sub rax, rsi
sar rax, 1
cmp rax, rcx
jl 0x1400521bd
mov r9d, dword [rsp + 0x44]
mov rdx, qword [rsp + 0x150]
mov r8, rcx
mov rcx, r15
call fcn.14004f9ac
xor r8d, r8d
cmp rax, r8
jne 0x1400521bd
mov rcx, qword [rsp + rbp*8 + 0x8f0]
lea rdx, [r15 + r12*2]
mov r15, rbx
lea r14, [rdx + rbx*2]
mov ebx, dword [rsp + 0x44]
mov r8, r15
mov r9d, ebx
call fcn.14004f9ac
xor r8d, r8d
cmp rax, r8
jne 0x1400521b8
mov rax, qword [rsp + 0x1d0]
cmp rax, r8
je 0x1400522b1
cmp word [r14], r8w
je 0x1400522b1
mov rdx, qword [rsp + 0x1e0]
mov r9d, ebx
mov r8, rax
mov rcx, r14
mov r13, rax
call fcn.14004f9ac
xor r8d, r8d
cmp rax, r8
je 0x1400522b1
mov r15, qword [rsp + 0x60]
inc rbp
cmp rbp, rdi
jl 0x1400520f0
mov r14, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
sub rax, r14
and rax, 0xfffffffffffffffe
cmp rax, 2
jg 0x140052221
sub r14, qword [rsp + 0x20]
lea rcx, [rsp + 0x20]
lea rbx, [r14 + 2]
mov rdi, r14
sar rbx, 1
sar rdi, 1
lea rdx, [rbx + 0x408]
call fcn.1400633a0
mov r11, qword [rsp + 0x20]
lea rax, [r11 + rbx*2 + 0x800]
lea r14, [r11 + rdi*2]
mov rdi, qword [rsp + 0xc8]
mov qword [rsp + 0x30], rax
movzx eax, word [r15]
add r15, 2
mov word [r14], ax
add r14, 2
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x28], r14
xor r8d, r8d
cmp word [r15], r8w
jne 0x1400520e4
mov rbp, qword [rsp + 0x48]
mov rax, qword [rsp + 0x30]
sub rax, r14
and rax, 0xfffffffffffffffe
cmp rax, 2
jg 0x1400522a0
sub r14, qword [rsp + 0x20]
lea rcx, [rsp + 0x20]
lea rbx, [r14 + 2]
mov rdi, r14
sar rbx, 1
sar rdi, 1
lea rdx, [rbx + 0x408]
call fcn.1400633a0
mov r11, qword [rsp + 0x20]
xor r8d, r8d
lea r14, [r11 + rdi*2]
lea rax, [r11 + rbx*2 + 0x800]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x30], rax
mov r13, r15
mov r15, qword [rsp + 0x50]
mov word [r14], r8w
jmp 0x140052d08
movsxd rsi, dword [rsp + rbp*4 + 0x2b0]
mov rcx, qword [rsp + 0x30]
mov r9, qword [rsp + 0x28]
sub rcx, r9
lea rbx, [rsi + r13]
add rbx, r12
sar rcx, 1
lea rax, [rbx + 1]
cmp rax, rcx
jl 0x14005232b
lea rbx, [rbx + rbx + 2]
mov rdi, r9
lea rcx, [rsp + 0x20]
sub rbx, qword [rsp + 0x20]
sub rdi, qword [rsp + 0x20]
add rbx, r9
sar rdi, 1
sar rbx, 1
lea rdx, [rbx + 0x408]
call fcn.1400633a0
mov r11, qword [rsp + 0x20]
xor r8d, r8d
lea r9, [r11 + rdi*2]
mov rdi, qword [rsp + 0xc8]
lea rax, [r11 + rbx*2 + 0x800]
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x1c0], r8
je 0x14005235e
cmp r12, r8
je 0x14005235e
mov rdx, qword [rsp + 0x60]
movsxd r8, r12d
mov rcx, r9
add r8, r8
call fcn.14001d7d8
mov r9, qword [rsp + 0x28]
xor r8d, r8d
lea r9, [r9 + r12*2]
mov qword [rsp + 0x28], r9
cmp rsi, r8
jle 0x14005238a
mov rdx, qword [rsp + rbp*8 + 0x5d0]
mov r8, rsi
mov rcx, r9
add r8, r8
call fcn.14001d7d8
mov rax, qword [rsp + 0x28]
xor r8d, r8d
lea rax, [rax + rsi*2]
mov qword [rsp + 0x28], rax
cmp qword [rsp + 0x180], r8
je 0x1400523bd
cmp r13, r8
je 0x1400523bd
mov rdx, r14
mov r14, qword [rsp + 0x28]
movsxd r8, r13d
mov rcx, r14
add r8, r8
call fcn.14001d7d8
lea r14, [r14 + r13*2]
xor r8d, r8d
mov qword [rsp + 0x28], r14
jmp 0x1400523c2
mov r14, qword [rsp + 0x28]
lea rax, [r15 + r13]
mov r15, qword [rsp + 0x60]
add rax, r12
lea r15, [r15 + rax*2]
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x60], r15
cmp rax, 1
je 0x140052248
mov rsi, qword [rsp + 0xa0]
dec rax
mov qword [rsp + 0xf8], rax
jmp 0x14005223e
xor r14d, r14d
mov r8d, dword [rsp + 0x44]
mov rdx, qword [rsp + 0xc68]
lea rcx, [rsp + 0x270]
call fcn.1400514fc
cmp eax, r14d
jne 0x140053250
lea rcx, [rsp + 0x248]
mov qword [rsp + 0x238], r14
mov qword [rsp + 0x240], r14
call fcn.14004f9f8
lea rcx, [rsp + 0x248]
or r8d, 0xffffffff
mov edx, 0x100
mov dword [rsp + 0x220], r14d
mov qword [rsp + 0x268], r14
call fcn.14004fe30
mov qword [rsp + 0x228], r14
mov qword [rsp + 0x230], r14
cmp word [r15], r14w
je 0x140052cc4
lea r9, [rsp + 0xd0]
lea r8, [rsp + 0x220]
lea rcx, [rsp + 0x270]
mov rdx, rsi
mov rdi, r14
call fcn.14004ffd4
xor r11d, r11d
mov dword [rsp + 0xe0], eax
cmp eax, r11d
je 0x140052c97
mov r15, qword [rsp + 0xd0]
cmp rsi, r15
je 0x140052cbc
mov rsi, qword [rsp + 0x1b0]
mov rbp, qword [rsp + 0x228]
mov r12, qword [rsp + 0x230]
cmp rsi, r11
mov qword [rsp + 0xa0], rbp
jle 0x140052546
cmp rbp, qword [rsp + 0x60]
je 0x140052546
mov rax, rbp
sub rax, r13
sar rax, 1
cmp rax, rsi
jl 0x140052579
mov r9d, dword [rsp + 0x44]
mov rdx, qword [rsp + 0x150]
lea rax, [rsi + rsi]
mov rbx, rbp
mov r8, rsi
sub rbx, rax
mov rcx, rbx
call fcn.14004f9ac
xor r11d, r11d
cmp rax, r11
jne 0x140052579
cmp qword [rsp + 0x1c0], r11
mov rdi, rsi
cmove rbp, rbx
mov qword [rsp + 0xa0], rbp
mov rbx, qword [rsp + 0x1d0]
cmp rbx, r11
jle 0x14005259e
cmp word [r15], r11w
je 0x14005259e
mov r9d, dword [rsp + 0x44]
mov rdx, qword [rsp + 0x150]
mov r8, rbx
mov rcx, r12
call fcn.14004f9ac
xor r11d, r11d
cmp rax, r11
je 0x14005257f
lea rsi, [rbp + 2]
jmp 0x1400525ac
mov r14, rbx
cmp qword [rsp + 0x180], r11
jne 0x14005259e
lea rax, [rbx + rbx]
add r12, rax
add r15, rax
mov qword [rsp + 0xd0], r15
sub qword [rsp + 0x128], 1
js 0x1400525b4
mov rsi, r15
xor r14d, r14d
jmp 0x140052c8b
cmp qword [rsp + 0x88], r11
jne 0x140052a76
mov r15, qword [rsp + 0xa8]
mov rsi, rbp
mov rax, r12
sub rsi, r13
sub rax, rbp
mov qword [rsp + 0xc8], r11
sar rsi, 1
sar rax, 1
lea rbp, [rsi + rsi]
mov qword [rsp + 0x1f0], rax
add r13, rbp
cmp qword [rsp + 0xd8], r11
jge 0x140052667
mov r8, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
lea rax, [r8 + 1]
cmp rax, rdx
jl 0x14005262c
add rdx, 0xa
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x78], rdx
shl rdx, 5
call fcn.1400630a4
mov r8, qword [rsp + 0x70]
mov rax, qword [rsp + 0xa0]
shl r8, 5
add r8, qword [rsp + 0x68]
mov qword [rsp + 0xc8], r8
mov qword [r8], rax
mov qword [r8 + 8], r12
mov r12, qword [rsp + 0x28]
mov rax, r12
sub rax, qword [rsp + 0x20]
sar rax, 1
mov qword [r8 + 0x10], rax
inc qword [rsp + 0x70]
jmp 0x14005266c
mov r12, qword [rsp + 0x28]
lea rbx, [rsi + r14]
add rbx, rdi
mov rdi, qword [rsp + 0x30]
mov rcx, rdi
lea rax, [rbx + 1]
sub rcx, r12
sar rcx, 1
cmp rax, rcx
jl 0x1400526d3
lea rbx, [rbx + rbx + 2]
mov rdi, r12
lea rcx, [rsp + 0x20]
sub rbx, qword [rsp + 0x20]
sub rdi, qword [rsp + 0x20]
add rbx, r12
sar rdi, 1
sar rbx, 1
lea rdx, [rbx + 0x408]
call fcn.1400633a0
mov r11, qword [rsp + 0x20]
lea r12, [r11 + rdi*2]
lea rdi, [r11 + rbx*2 + 0x800]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], r12
jmp 0x1400526d8
mov r11, qword [rsp + 0x20]
mov r14, qword [rsp + 0xd8]
xor ebx, ebx
cmp r14, rbx
jl 0x14005270f
cmp rsi, rbx
jle 0x14005270f
mov rdx, qword [rsp + 0x1b8]
movsxd r8, esi
mov rcx, r12
add r8, r8
call fcn.14001d7d8
mov r11, qword [rsp + 0x20]
add r12, rbp
mov qword [rsp + 0x28], r12
cmp qword [rsp + 0x160], rbx
je 0x14005277b
mov rax, qword [rsp + 0xd0]
sub rax, r13
sar rax, 1
movsxd rbx, eax
mov rax, rdi
sub rax, r12
sar rax, 1
cmp rbx, rax
jl 0x140052779
add rbx, rbx
mov rdi, r12
lea rcx, [rsp + 0x20]
sub rbx, r11
sub rdi, r11
add rbx, r12
sar rdi, 1
sar rbx, 1
lea rdx, [rbx + 0x408]
call fcn.1400633a0
mov r11, qword [rsp + 0x20]
lea r12, [r11 + rdi*2]
lea rdi, [r11 + rbx*2 + 0x800]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], r12
xor ebx, ebx
cmp qword [rsp + 0x198], rbx
je 0x1400527dc
mov rdx, qword [rsp + 0x1e8]
mov rax, rdx
movzx ecx, word [rdx]
jmp 0x1400527a3
cmp cx, word [r13]
je 0x1400527aa
add rax, 2
mov cx, word [rax]
cmp cx, bx
jne 0x140052795
jmp 0x1400527dc
sub rax, rdx
sar rax, 1
movsxd rcx, eax
cmp rcx, qword [rsp + 0x200]
jge 0x1400527dc
mov rax, qword [rsp + 0xc70]
movzx ecx, word [rax + rcx*2]
mov word [r12], cx
mov r11, qword [rsp + 0x20]
add r12, 2
mov qword [rsp + 0x28], r12
mov rax, r15
cmp word [rax], bx
je 0x140052a3b
mov r13, qword [rsp + 0x1f0]
mov esi, 0x5c
cmp si, word [r15]
je 0x14005285b
mov rax, rdi
sub rax, r12
and rax, 0xfffffffffffffffe
cmp rax, 4
jg 0x140052845
sub r12, r11
lea rcx, [rsp + 0x20]
lea rbx, [r12 + 4]
mov rdi, r12
sar rbx, 1
sar rdi, 1
lea rdx, [rbx + 0x408]
call fcn.1400633a0
mov r11, qword [rsp + 0x20]
lea r12, [r11 + rdi*2]
lea rdi, [r11 + rbx*2 + 0x800]
xor ebx, ebx
mov qword [rsp + 0x30], rdi
movzx eax, word [r15]
mov word [r12], ax
add r12, 2
add r15, 2
jmp 0x140052a27
cmp word [r15 + 2], si
jne 0x1400528be
mov rax, rdi
sub rax, r12
and rax, 0xfffffffffffffffe
cmp rax, 4
jg 0x1400528ac
sub r12, r11
lea rcx, [rsp + 0x20]
lea rbx, [r12 + 4]
mov rdi, r12
sar rbx, 1
sar rdi, 1
lea rdx, [rbx + 0x408]
call fcn.1400633a0
mov r11, qword [rsp + 0x20]
lea r12, [r11 + rdi*2]
lea rdi, [r11 + rbx*2 + 0x800]
xor ebx, ebx
mov qword [rsp + 0x30], rdi
mov word [r12], si
add r12, 2
add r15, 4
jmp 0x140052a27
movzx eax, word [r15 + 2]
mov r8d, 0x30
sub ax, r8w
cmp ax, 9
ja 0x140052a31
movzx ecx, word [r15 + 2]
lea edx, [r8 - 0x2f]
sub ecx, r8d
add r15, 4
movzx eax, word [r15]
sub ax, r8w
cmp ax, 9
ja 0x140052909
movzx eax, word [r15]
lea ecx, [rcx + rcx*4]
add r15, 2
sub edx, 1
lea ecx, [rax + rcx*2 - 0x30]
jns 0x1400528e7
cmp ecx, ebx
jne 0x14005297a
mov rax, rdi
sub rax, r12
sar rax, 1
cmp r13, rax
jl 0x14005295b
lea rbx, [r13 + r13]
mov rdi, r12
lea rcx, [rsp + 0x20]
sub rbx, r11
sub rdi, r11
add rbx, r12
sar rdi, 1
sar rbx, 1
lea rdx, [rbx + 0x408]
call fcn.1400633a0
mov r11, qword [rsp + 0x20]
lea r12, [r11 + rdi*2]
lea rdi, [r11 + rbx*2 + 0x800]
xor ebx, ebx
mov qword [rsp + 0x30], rdi
mov rdx, qword [rsp + 0xa0]
movsxd r8, r13d
mov rcx, r12
add r8, r8
call fcn.14001d7d8
lea r12, [r12 + r13*2]
jmp 0x140052a27
cmp ecx, dword [rsp + 0x220]
ja 0x140052a31
dec ecx
cmp ecx, dword [rsp + 0x220]
jae 0x14005334d
mov rax, qword [rsp + 0x240]
add rcx, rcx
mov rsi, qword [rax + rcx*8 + 8]
mov rbp, qword [rax + rcx*8]
mov rax, rdi
mov qword [rsp + 0x218], rsi
sub rsi, rbp
sub rax, r12
sar rsi, 1
sar rax, 1
mov qword [rsp + 0x210], rbp
cmp rsi, rax
jl 0x140052a0d
lea rbx, [rsi + rsi]
mov rdi, r12
lea rcx, [rsp + 0x20]
sub rbx, r11
sub rdi, r11
add rbx, r12
sar rdi, 1
sar rbx, 1
lea rdx, [rbx + 0x408]
call fcn.1400633a0
mov r11, qword [rsp + 0x20]
lea r12, [r11 + rdi*2]
lea rdi, [r11 + rbx*2 + 0x800]
xor ebx, ebx
mov qword [rsp + 0x30], rdi
movsxd r8, esi
mov rdx, rbp
mov rcx, r12
add r8, r8
call fcn.14001d7d8
lea r12, [r12 + rsi*2]
mov esi, 0x5c
mov r11, qword [rsp + 0x20]
mov qword [rsp + 0x28], r12
cmp word [r15], bx
jne 0x1400527f5
cmp r14, rbx
jge 0x140052a59
mov rcx, qword [rsp + 0xc8]
mov rax, r12
sub rax, r11
sar rax, 1
sub rax, qword [rcx + 0x10]
mov qword [rcx + 0x18], rax
mov r15, qword [rsp + 0xd0]
xor r14d, r14d
inc qword [rsp + 0x98]
mov word [r12], r14w
jmp 0x140052c64
mov r14, qword [rsp + 0xd8]
mov qword [rsp + 0x110], rbp
mov qword [rsp + 0x100], r12
cmp r14, r11
jl 0x140052b03
cmp qword [rsp + 0x108], r11
je 0x140052b03
mov r9, qword [rsp + 0xc70]
lea rcx, [rsp + 0xc70]
mov edx, 0x3b
call fcn.1400e8c3c
mov rcx, qword [rsp + 0xc70]
cmp word [rcx], r11w
je 0x140052ad2
mov word [rcx], r11w
add qword [rsp + 0xc70], 2
movzx ebx, word [r12]
cmp bx, r11w
je 0x140052ae2
mov word [r12], r11w
mov rcx, qword [rsp + 0xc88]
mov r8, rbp
mov rdx, r9
call fcn.140062600
xor r11d, r11d
cmp bx, r11w
je 0x140052b03
mov word [r12], bx
mov r10, qword [rsp + 0x60]
inc qword [rsp + 0x98]
lea rax, [rbp + 2]
mov qword [rsp + 0x48], rax
mov rax, rbp
sub rax, r10
sar rax, 1
lea rcx, [rax + 1]
cqo
idiv qword [rsp + 0x118]
lea rdi, [rax + 1]
movsxd rax, dword [rsp + 0x80]
cmp rax, r11
jg 0x140052b53
cmp rdi, r11
jle 0x140052b53
mov rsi, qword [rsp + 0x188]
sub rsi, rdi
jmp 0x140052b56
mov rsi, rdi
mov rax, qword [rsp + 0x38]
mov ebx, r11d
cmp word [rax], r11w
je 0x140052bb5
mov r9d, dword [rsp + 0x1a8]
mov r8d, dword [rsp + 0xf0]
mov edx, ecx
mov rcx, r10
call fcn.1400606e4
xor r11d, r11d
cmp r14, r11
movsxd rbx, eax
jl 0x140052bba
mov rdx, rbx
cmp qword [rsp + 0x158], r11
je 0x140052ba5
lea rcx, [rsp + 0x130]
call fcn.14006c8ec
jmp 0x140052bb2
mov rcx, qword [rsp + 0x130]
call fcn.1400e62ac
xor r11d, r11d
cmp r14, r11
jge 0x140052c1e
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
lea rax, [rdx + 1]
cmp rax, rcx
jl 0x140052bed
add rcx, 0xa
mov qword [rsp + 0x78], rcx
lea rdx, [rcx + rcx*4]
lea rcx, [rsp + 0x68]
shl rdx, 3
call fcn.1400630a4
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x68]
lea r8, [rdx + rdx*4]
movsxd rax, ebx
xor r11d, r11d
mov qword [rcx + r8*8], rbp
mov qword [rcx + r8*8 + 8], r12
mov qword [rcx + r8*8 + 0x10], rdi
mov qword [rcx + r8*8 + 0x18], rax
mov qword [rcx + r8*8 + 0x20], rsi
inc qword [rsp + 0x70]
cmp r14, r11
jl 0x140052c61
xor r14d, r14d
cmp qword [rsp + 0x158], r14
je 0x140052c3d
lea rcx, [rsp + 0x168]
mov rdx, rsi
call fcn.14006c8ec
jmp 0x140052c64
mov rax, qword [rsp + 0xc70]
cmp word [rax], r14w
je 0x140052c55
cmp qword [rsp + 0x108], r14
jne 0x140052c64
cmp byte [rsp + 0xc78], r14b
jne 0x140052cbf
jmp 0x140052c64
xor r14d, r14d
mov rax, qword [rsp + 0xf8]
mov rsi, r15
mov r13, r15
mov qword [rsp + 0x1b8], r15
cmp rax, 1
je 0x140052cbf
dec rax
mov qword [rsp + 0xf8], rax
cmp word [rsi], r14w
jne 0x140052484
jmp 0x140052cbf
mov r15, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x48]
xor r14d, r14d
cmp qword [rsp + 0x208], r14
je 0x140052cc9
cmp qword [rsp + 0x128], r14
cmovle r13, r15
jmp 0x140052cc9
xor r14d, r14d
mov rbp, qword [rsp + 0x48]
mov r15, qword [rsp + 0x50]
lea rcx, [rsp + 0x248]
call fcn.14004fbf0
mov rcx, qword [rsp + 0x240]
call fcn.140103e24
mov rcx, qword [rsp + 0x238]
mov qword [rsp + 0x240], r14
call fcn.140103e24
mov qword [rsp + 0x238], r14
mov r14, qword [rsp + 0x28]
xor r8d, r8d
mov rcx, qword [rsp + 0xd8]
cmp qword [rsp + 0x88], r8
je 0x140053033
xor r14d, r14d
cmp rcx, r14
jge 0x140052f02
mov rdi, qword [rsp + 0x70]
mov r13, qword [rsp + 0x68]
or rbx, 0xffffffffffffffff
add rdi, rcx
mov rcx, qword [rsp + 0x190]
mov rax, rdi
sub rax, rcx
inc rax
cmp rcx, r14
cmovg rbx, rax
cmp rdi, r14
jl 0x140052f02
cmp rbx, r14
cmovl rbx, r14
mov r14, rdi
xor r10d, r10d
sub r14, rbx
mov r15, rbx
lea rax, [r14 + 1]
mov qword [rsp + 0x98], rax
cmp qword [rsp + 0x108], r10
je 0x140052e17
cmp rbx, rdi
jg 0x140052e17
lea rax, [rbx + rbx*4]
lea r12, [r13 + rax*8]
mov r9, qword [rsp + 0xc70]
cmp word [r9], r10w
je 0x140052e17
mov rbp, qword [r12 + 8]
lea rcx, [rsp + 0xc70]
mov edx, 0x3b
call fcn.1400e8c3c
mov rcx, qword [rsp + 0xc70]
cmp word [rcx], r10w
je 0x140052ddb
mov word [rcx], r10w
add qword [rsp + 0xc70], 2
movzx esi, word [rbp]
cmp si, r10w
je 0x140052dea
mov word [rbp], r10w
mov r8, qword [r12]
mov rcx, qword [rsp + 0xc88]
mov rdx, r9
call fcn.140062600
xor r10d, r10d
cmp si, r10w
je 0x140052e0b
mov word [rbp], si
inc rbx
add r12, 0x28
cmp rbx, rdi
jle 0x140052d9b
cmp qword [rsp + 0x158], r10
je 0x140052e72
cmp r15, rdi
jg 0x140052eaa
lea rax, [r15 + r15*4]
lea rsi, [r14 + 1]
xor r14d, r14d
lea rbx, [r13 + rax*8 + 0x18]
mov rdx, qword [rbx + 8]
lea rcx, [rsp + 0x168]
call fcn.14006c8ec
mov r11, qword [rsp + 0x38]
cmp word [r11], r14w
je 0x140052e66
mov rdx, qword [rbx]
lea rcx, [rsp + 0x130]
call fcn.14006c8ec
add rbx, 0x28
sub rsi, 1
jne 0x140052e3a
jmp 0x140052ead
mov rax, qword [rsp + 0x38]
xor r14d, r14d
lea rbx, [rdi + rdi*4]
cmp word [rax], r14w
je 0x140052e96
mov rdx, qword [r13 + rbx*8 + 0x18]
mov rcx, qword [rsp + 0x130]
call fcn.1400e62ac
mov rdx, qword [r13 + rbx*8 + 0x20]
lea rcx, [rsp + 0x168]
call fcn.14006c8ec
jmp 0x140052ead
xor r14d, r14d
lea rbx, [rdi + rdi*4]
lea rcx, [rsp + 0x20]
mov edx, 0x3c
mov rdi, qword [r13 + rbx*8]
mov rsi, qword [r13 + rbx*8 + 8]
lea rbp, [rdi + 2]
mov qword [rsp + 0x110], rdi
mov qword [rsp + 0x100], rsi
call fcn.1400633a0
mov r8d, dword [r13 + rbx*8 + 0x20]
lea rdx, [0x14011d048]
mov rcx, rax
call qword [sym.imp.USER32.dll_wsprintfW]
mov r11, qword [r13 + rbx*8 + 0x20]
mov qword [rsp + 0x90], r11
jmp 0x140052f12
mov rsi, qword [rsp + 0x100]
mov rdi, qword [rsp + 0x110]
cmp qword [rsp + 0x108], r14
jne 0x140052f46
mov rax, qword [rsp + 0xc70]
cmp word [rax], r14w
je 0x140052f46
mov rcx, qword [rsp + 0xc88]
mov word [rsi], r14w
mov rdx, qword [rsp + 0xc70]
mov r8, rdi
call fcn.140062600
mov r13, qword [rsp + 0x118]
mov r10, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x168]
sub rbp, r10
sar rbp, 1
lea rax, [r13 + rbp - 1]
cqo
idiv r13
mov rbx, rax
mov eax, r14d
cmp word [rcx], r14w
jne 0x140053026
mov rcx, qword [rsp + 0x38]
cmp word [rcx], r14w
je 0x140052fcd
cmp dword [rsp + 0xe0], r14d
jle 0x140052fb7
mov r9d, dword [rsp + 0x1a8]
mov r8d, dword [rsp + 0xf0]
mov edx, ebp
mov rcx, r10
call fcn.1400606e4
mov rcx, qword [rsp + 0x130]
jmp 0x140052fc5
mov rcx, qword [rsp + 0x130]
cmp word [rcx], r14w
jne 0x140052fcd
movsxd rdx, eax
call fcn.1400e62ac
movsxd rax, dword [rsp + 0x80]
cmp rax, r14
jg 0x140052fec
cmp rbx, r14
jle 0x140052fec
mov rdi, qword [rsp + 0x188]
sub rdi, rbx
jmp 0x140052fef
mov rdi, rbx
lea rcx, [rsp + 0x20]
mov edx, 0x3c
mov qword [rsp + 0x90], rdi
call fcn.1400633a0
lea rdx, [0x14011d048]
mov r8, rdi
mov rcx, rax
call qword [sym.imp.USER32.dll_wsprintfW]
mov r12, qword [rsp + 0xb0]
jmp 0x140053260
mov r12, qword [rsp + 0xb0]
jmp 0x140053258
cmp rcx, r8
jge 0x1400531ad
mov rdi, qword [rsp + 0x70]
or rbx, 0xffffffffffffffff
xor r14d, r14d
add rdi, rcx
mov rcx, qword [rsp + 0x190]
lea rdx, [rsp + 0x20]
mov rax, rdi
sub rax, rcx
inc rax
cmp rcx, r14
lea rcx, [rsp + 0x148]
cmovg rbx, rax
call fcn.14006ff74
cmp rdi, r14
mov r11, qword [rsp + 0x148]
mov r12, qword [rsp + 0x20]
mov qword [rsp + 0x148], r12
mov qword [rsp + 0x20], r11
jge 0x1400530ab
mov rdx, qword [rsp + 0x120]
lea rcx, [rsp + 0x20]
call fcn.140070048
jmp 0x14005319b
mov rsi, qword [rsp + 0x68]
mov r13, qword [rsp + 0x120]
inc rdi
mov rax, rdi
mov r8, r14
mov r9, r13
shl rax, 5
add rax, rsi
cmp rbx, r14
cmovle rbx, r14
mov qword [rax + 8], r15
mov qword [rax], r15
cmp rbx, rdi
mov qword [rax + 0x18], r14
mov qword [rax + 0x10], r14
mov r15d, 0x20
jg 0x14005311e
mov rax, rbx
mov rcx, rdi
shl rax, 5
sub rcx, rbx
lea rdx, [rax + rsi + 8]
inc rcx
mov rax, qword [rdx - 8]
sub rax, r9
mov r9, qword [rdx]
sar rax, 1
add rax, qword [rdx + 0x10]
add rdx, r15
add r8, rax
sub rcx, 1
jne 0x140053101
lea rdx, [r8 + 6]
lea rcx, [rsp + 0x20]
call fcn.1400633a0
cmp rbx, rdi
mov rbp, rax
jg 0x140053196
mov rcx, rbx
sub rdi, rbx
shl rcx, 5
inc rdi
lea rsi, [rcx + rsi + 0x18]
mov rbx, qword [rsi - 0x18]
mov rdx, r13
mov rcx, rbp
sub rbx, r13
sar rbx, 1
movsxd r8, ebx
add r8, r8
call fcn.14001d7d8
mov r13, qword [rsi - 0x10]
lea rbp, [rbp + rbx*2]
mov rbx, qword [rsi]
cmp rbx, r14
jle 0x14005318d
mov rax, qword [rsi - 8]
movsxd r8, ebx
mov rcx, rbp
lea rdx, [r12 + rax*2]
add r8, r8
call fcn.14001d7d8
lea rbp, [rbp + rbx*2]
add rsi, r15
sub rdi, 1
jne 0x140053146
mov word [rbp], r14w
lea rcx, [rsp + 0x148]
call fcn.14005aef8
jmp 0x14005322e
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rsi, eax
mov rax, qword [rsp + 0x30]
sub rax, r14
sar rax, 1
cmp rsi, rax
jl 0x14005320a
lea rbx, [rsi + rsi]
mov rdi, r14
lea rcx, [rsp + 0x20]
sub rbx, qword [rsp + 0x20]
sub rdi, qword [rsp + 0x20]
add rbx, r14
sar rdi, 1
sar rbx, 1
lea rdx, [rbx + 0x408]
call fcn.1400633a0
mov r11, qword [rsp + 0x20]
lea rax, [r11 + rbx*2 + 0x800]
lea r14, [r11 + rdi*2]
mov qword [rsp + 0x30], rax
mov r8, rsi
mov rdx, r13
mov rcx, r14
add r8, r8
call fcn.14001d7d8
lea r14, [r14 + rsi*2]
xor r11d, r11d
mov word [r14], r11w
mov qword [rsp + 0x28], r14
xor r14d, r14d
mov rbx, qword [rsp + 0x20]
mov r12, qword [rsp + 0xb0]
mov r13, qword [rsp + 0x118]
mov rdi, rbx
mov qword [rsp + 0x90], rbx
jmp 0x140053265
mov r13, qword [rsp + 0x118]
mov rdi, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x20]
cmp byte [rsp + 0xc60], r14b
jne 0x140053516
cmp qword [rsp + 0x1a0], r14
je 0x140053358
mov si, word [rsp + 0x40]
cmp si, r14w
je 0x14005331f
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
mov word [r12 - 2], si
sub rax, rcx
and rax, 0xfffffffffffffffe
cmp rax, 6
jg 0x1400532e4
sub rcx, rbx
mov rdi, rcx
lea rbx, [rcx + 6]
lea rcx, [rsp + 0x20]
sar rdi, 1
sar rbx, 1
lea rdx, [rbx + 0x408]
call fcn.1400633a0
mov r11, qword [rsp + 0x20]
lea rax, [r11 + rbx*2 + 0x800]
lea rcx, [r11 + rdi*2]
mov qword [rsp + 0x30], rax
mov word [rcx], si
add rcx, 2
mov edi, 0xd
mov qword [rsp + 0x28], rcx
cmp di, si
jne 0x140053314
lea eax, [rdi - 3]
cmp ax, word [r12]
jne 0x140053314
mov word [rcx], ax
add rcx, 2
add r12, 2
mov qword [rsp + 0x28], rcx
mov word [rcx], r14w
mov rbx, qword [rsp + 0x20]
jmp 0x140053324
mov edi, 0xd
mov rsi, r12
cmp word [r12], r14w
je 0x140053358
lea rcx, [rsp + 0xb8]
call fcn.14005aef8
lea rcx, [rsp + 0x278]
call fcn.14004fbf0
jmp 0x140051cd0
mov ecx, 0x80004005
call fcn.14004f9cc
int3
mov r8, qword [rsp + 0x168]
cmp word [r8], r14w
jne 0x14005346c
cmp dword [rsp + 0xc0], r14d
jle 0x140053469
cmp qword [rsp + 0x88], r14
jne 0x140053469
mov rcx, rbx
mov qword [rsp + 0xc78], rbx
mov qword [rsp + 0x88], r14
mov rdi, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [rsp + 0xc68], eax
mov eax, dword [rsp + 0xc68]
mov rax, qword [rsp + 0xc78]
movzx ecx, word [rax]
cmp cx, r14w
je 0x140053429
mov ebp, 0x20
cmp bp, cx
jne 0x1400533d7
add rax, 2
mov qword [rsp + 0xc78], rax
lea r8, [rsp + 0xc60]
lea rdx, [rsp + 0x88]
lea rcx, [rsp + 0xc78]
mov qword [rsp + 0x88], r14
mov dword [rsp + 0xc60], 2
call fcn.140064788
cmp eax, r14d
jle 0x140053429
mov al, byte [rsp + 0x88]
mov byte [rdi], al
mov rax, qword [rsp + 0xc78]
inc rdi
mov cx, word [rax]
cmp cx, r14w
jne 0x1400533c6
lea rcx, [0x14013e190]
mov dword [rdi], r14d
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r8, qword [rsp + 0x20]
mov rdx, qword [rsp + 0xc80]
mov rcx, qword [rsp + 0xc88]
sub rbx, rdi
lea r9, [rbx - 0x10]
call fcn.14001e72c
lea rcx, [0x14013e190]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x140053481
mov r8, rbx
mov rdx, qword [rsp + 0xc80]
mov rcx, qword [rsp + 0xc88]
call fcn.140062600
mov r8, qword [rsp + 0xe8]
cmp word [r8], r14w
je 0x1400534a4
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xc88]
call fcn.140066694
mov r8, qword [rsp + 0x130]
cmp word [r8], r14w
je 0x1400534c4
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0xc88]
call fcn.140062600
mov rbx, qword [rsp + 0x20]
lea rcx, [rsp + 0xb8]
call fcn.14005aef8
lea rcx, [rsp + 0x278]
call fcn.14004fbf0
lea rcx, [rsp + 0x68]
call fcn.14005aef8
lea rcx, [rsp + 0x130]
call fcn.14005aef8
lea rcx, [rsp + 0x168]
call fcn.14005aef8
lea rcx, [rsp + 0x20]
call fcn.14005aef8
mov rax, rbx
jmp 0x140053561
lea rcx, [rsp + 0xb8]
call fcn.14005aef8
lea rcx, [rsp + 0x278]
call fcn.14004fbf0
lea rcx, [rsp + 0x68]
call fcn.14005aef8
lea rcx, [rsp + 0x130]
call fcn.14005aef8
lea rcx, [rsp + 0x168]
call fcn.14005aef8
lea rcx, [rsp + 0x20]
call fcn.14005aef8
mov rax, rdi
add rsp, 0xc18
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret