Function at 0x507f40
Capabilities:
Parse credit card information

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0xa8]
nop dword [rax + rax]
cmp rax, qword [rcx + 0x10]
jbe 0x509206
sub rsp, 0x128
mov qword [rsp + 0x120], rbp
lea rbp, [rsp + 0x120]
movzx eax, word [rsp + 0x140]
test ax, 2
jne 0x509130
lea rax, [0x00596460]
mov qword [rsp], rax
nop
call fcn.0040e2a0
mov rax, qword [rsp + 8]
movzx ecx, word [rsp + 0x140]
mov word [rax], cx
mov rcx, qword [rsp + 0x138]
mov qword [rax + 0x38], rcx
cmp dword [0x0079e450], 0
jne 0x50911a
mov rdx, qword [rsp + 0x130]
mov qword [rax + 0x30], rdx
mov qword [rsp + 0x100], rax
mov rbx, rcx
mov rsi, rdx
xor edi, edi
xor r8d, r8d
xor r9d, r9d
jmp 0x508020
mov r10, qword [rsp + 0x100]
mov edi, ecx
mov r8, rdx
mov r9, rsi
mov rsi, qword [rsp + 0x130]
mov rcx, rbx
mov rdx, rax
mov rax, r10
mov rbx, qword [rsp + 0x138]
nop dword [rax + rax]
test rcx, rcx
je 0x508fe7
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0x110], rdx
mov byte [rsp + 0x77], dil
movzx r10d, byte [rdx]
cmp r10b, 0x2e
ja 0x508440
cmp r10b, 0x28
ja 0x508251
cmp r10b, 0x24
jne 0x5080c9
movzx r8d, word [rax]
test r8w, 0x10
je 0x5080b9
mov qword [rsp], rax
mov byte [rsp + 8], 0xa
call fcn.00504f20
mov rax, qword [rsp + 0x10]
movzx ecx, word [rax + 2]
bts ecx, 8
mov word [rax + 2], cx
mov rax, qword [rsp + 0xb0]
dec rax
mov rbx, rax
neg rax
sar rax, 0x3f
and rax, 1
mov rsi, qword [rsp + 0x110]
add rax, rsi
movzx ecx, byte [rsp + 0x77]
xor edx, edx
xor esi, esi
jmp 0x507ff2
mov qword [rsp], rax
mov byte [rsp + 8], 8
call fcn.00504f20
jmp 0x508087
cmp r10b, 0x28
jne 0x5081b8
movzx r8d, word [rax]
test r8w, 0x40
je 0x5080ec
nop
cmp rcx, 2
jl 0x5080ec
cmp byte [rdx + 1], 0x3f
je 0x50814c
inc qword [rax + 0x28]
mov qword [rsp], rax
mov byte [rsp + 8], pe_nt_image_headers64
call fcn.00504f20
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x100]
mov rdx, qword [rcx + 0x28]
mov qword [rax + 0x58], rdx
mov rax, qword [rsp + 0xb0]
lea rbx, [rax - 1]
mov rax, rbx
neg rbx
sar rbx, 0x3f
and rbx, 1
mov rdx, qword [rsp + 0x110]
add rdx, rbx
mov rbx, rax
mov rax, rdx
movzx ecx, byte [rsp + 0x77]
xor edx, edx
xor esi, esi
jmp 0x507ff2
mov qword [rsp], rax
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rcx
call fcn.005094a0
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x30]
cmp qword [rsp + 0x28], 0
jne 0x50818c
mov rbx, rcx
movzx ecx, byte [rsp + 0x77]
xor edx, edx
xor esi, esi
jmp 0x507ff2
mov qword [rsp + 0x148], 0
mov qword [rsp + 0x150], rdx
mov qword [rsp + 0x158], rbx
mov rbp, qword [rsp + 0x120]
add rsp, 0x128
ret
mov qword [rsp], rdx
mov qword [rsp + 8], rcx
call fcn.0050ddc0
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
mov edx, dword [rsp + 0x10]
mov rbx, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
cmp qword [rsp + 0x28], 0
jne 0x508225
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0x100]
mov qword [rsp], rax
mov dword [rsp + 8], edx
call fcn.00504d20
mov rbx, qword [rsp + 0x78]
mov rax, qword [rsp + 0xc8]
movzx ecx, byte [rsp + 0x77]
xor edx, edx
xor esi, esi
nop
jmp 0x507ff2
mov qword [rsp + 0x148], 0
mov qword [rsp + 0x150], rbx
mov qword [rsp + 0x158], rsi
mov rbp, qword [rsp + 0x120]
add rsp, 0x128
ret
cmp r10b, 0x29
je 0x5083bb
nop dword [rax + rax]
cmp r10b, 0x2b
jbe 0x5082d5
cmp r10b, 0x2e
jne 0x5081b8
movzx r8d, word [rax]
test r8w, 8
je 0x5082c5
mov qword [rsp], rax
mov byte [rsp + 8], 6
call fcn.00504f20
mov r8, qword [rsp + 0xb0]
lea rbx, [r8 - 1]
mov r8, rbx
neg rbx
sar rbx, 0x3f
and rbx, 1
mov r9, qword [rsp + 0x110]
lea rax, [r9 + rbx]
mov rbx, r8
movzx ecx, byte [rsp + 0x77]
xor edx, edx
xor esi, esi
nop dword [rax]
jmp 0x507ff2
mov qword [rsp], rax
mov byte [rsp + 8], 5
call fcn.00504f20
jmp 0x50828a
cmp r10b, 0x2a
jne 0x508397
mov edi, 0xe
mov byte [rsp + 0x77], dil
mov qword [rsp], rax
mov byte [rsp + 8], dil
xorps xmm0, xmm0
movups xmmword [rsp + 0x10], xmm0
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x28], rcx
lea rbx, [rcx - 1]
mov rsi, rbx
neg rbx
sar rbx, 0x3f
and rbx, 1
add rbx, rdx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x48], r8
call fcn.00505020
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x68]
cmp qword [rsp + 0x60], 0
jne 0x50836b
mov rbx, rcx
movzx ecx, byte [rsp + 0x77]
mov rdx, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0x110]
jmp 0x507ff2
mov qword [rsp + 0x148], 0
mov qword [rsp + 0x150], rdx
mov qword [rsp + 0x158], rbx
mov rbp, qword [rsp + 0x120]
add rsp, 0x128
ret
cmp r10b, 0x2b
jne 0x5083a7
mov edi, 0xf
jmp 0x5082e4
cmp r10b, 0x3f
jne 0x5082e4
mov edi, 0x10
jmp 0x5082e4
mov qword [rsp], rax
nop
call fcn.0050a4a0
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x10]
cmp qword [rsp + 8], 0
jne 0x50840e
mov r8, qword [rsp + 0xb0]
lea rbx, [r8 - 1]
mov r8, rbx
neg rbx
sar rbx, 0x3f
and rbx, 1
mov r9, qword [rsp + 0x110]
lea rax, [r9 + rbx]
mov rbx, r8
movzx ecx, byte [rsp + 0x77]
xor edx, edx
xor esi, esi
jmp 0x507ff2
mov qword [rsp + 0x148], 0
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], rcx
mov rbp, qword [rsp + 0x120]
add rsp, 0x128
ret
cmp r10b, 0x5c
ja 0x508ca8
cmp r10b, 0x3f
je 0x5082d5
cmp r10b, 0x5b
je 0x508c3c
nop
cmp r10b, 0x5c
jne 0x5081b8
movzx r8d, word [rax]
test r8w, 0x40
je 0x5084aa
cmp rcx, 2
jl 0x5084aa
movzx r8d, byte [rdx + 1]
cmp r8b, 0x43
ja 0x5089f5
cmp r8b, 0x41
je 0x5089ae
cmp r8b, 0x42
je 0x508967
nop
cmp r8b, 0x43
je 0x5088dc
nop
mov r8, qword [rax + 0x20]
lea r9, [rax + 0x20]
mov qword [rsp + 0x118], r9
nop dword [rax + rax]
test r8, r8
je 0x50888c
mov r10, qword [r8 + 0x20]
cmp dword [0x0079e450], 0
jne 0x508821
mov qword [rax + 0x20], r10
mov r10d, edi
mov rdi, r8
xorps xmm0, xmm0
lea rdi, [rdi - 0x10]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046bcad
mov rbp, qword [rbp]
mov qword [rsp + 0xf0], r8
mov byte [r8], 4
movzx edi, word [rax]
mov word [r8 + 2], di
cmp rcx, 2
jl 0x508534
movzx edi, byte [rdx + 1]
nop dword [rax]
cmp dil, 0x70
je 0x5086f7
cmp dil, 0x50
je 0x5086f7
mov qword [rsp], rax
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rcx
lea rbx, [r8 + 0x40]
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], 2
nop dword [rax]
call fcn.0050afa0
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x38]
cmp qword [rsp + 0x30], 0
je 0x5085f2
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0xc0], rax
mov r8, qword [rsp + 0xf0]
mov qword [r8 + 0x30], rsi
mov qword [r8 + 0x38], rbx
cmp dword [0x0079e450], 0
jne 0x5085e7
mov qword [r8 + 0x28], rdx
mov rax, qword [rsp + 0x100]
mov qword [rsp], rax
mov qword [rsp + 8], r8
call fcn.00504660
mov rbx, qword [rsp + 0x88]
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rsp + 0x77]
xor edx, edx
xor esi, esi
jmp 0x507ff2
lea rdi, [r8 + 0x28]
call fcn.0046b6a0
jmp 0x5085b3
nop
mov rax, qword [rsp + 0x100]
mov rcx, qword [rax + 0x20]
cmp dword [0x0079e450], 0
jne 0x5086d1
mov rdx, qword [rsp + 0xf0]
mov qword [rdx + 0x20], rcx
mov qword [rax + 0x20], rdx
mov qword [rsp], rax
mov rcx, qword [rsp + 0x110]
mov qword [rsp + 8], rcx
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0x10], rcx
call fcn.0050a700
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
mov edx, dword [rsp + 0x18]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
cmp qword [rsp + 0x30], 0
jne 0x5086a5
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0x80], rcx
mov rax, qword [rsp + 0x100]
mov qword [rsp], rax
mov dword [rsp + 8], edx
nop
call fcn.00504d20
mov rbx, qword [rsp + 0x80]
mov rax, qword [rsp + 0xd8]
movzx ecx, byte [rsp + 0x77]
xor edx, edx
xor esi, esi
nop
jmp 0x507ff2
mov qword [rsp + 0x148], 0
mov qword [rsp + 0x150], rbx
mov qword [rsp + 0x158], rsi
mov rbp, qword [rsp + 0x120]
add rsp, 0x128
ret
mov rdx, qword [rsp + 0xf0]
lea rdi, [rdx + 0x20]
nop dword [rax]
call fcn.0046b680
mov rdi, qword [rsp + 0x118]
call fcn.0046b6a0
jmp 0x50861c
mov qword [rsp], rax
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rcx
lea rbx, [r8 + 0x40]
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], 2
call fcn.0050b6a0
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x40]
mov r8, qword [rsp + 0x38]
mov r9, qword [rsp + 0x30]
cmp qword [rsp + 0x58], 0
jne 0x5087f5
test r9, r9
je 0x5087d0
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xe8], rax
mov rdx, qword [rsp + 0xf0]
mov qword [rdx + 0x30], r8
mov qword [rdx + 0x38], rdi
cmp dword [0x0079e450], 0
jne 0x5087c5
mov qword [rdx + 0x28], rsi
mov rax, qword [rsp + 0x100]
mov qword [rsp], rax
mov qword [rsp + 8], rdx
nop dword [rax]
call fcn.00504660
mov rbx, qword [rsp + 0x98]
mov rax, qword [rsp + 0xe8]
movzx ecx, byte [rsp + 0x77]
xor edx, edx
xor esi, esi
nop
jmp 0x507ff2
lea rdi, [rdx + 0x28]
call fcn.0046b6e0
jmp 0x50878b
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0x110]
mov r8, qword [rsp + 0xf0]
jmp 0x508534
mov qword [rsp + 0x148], 0
mov qword [rsp + 0x150], rdx
mov qword [rsp + 0x158], rbx
mov rbp, qword [rsp + 0x120]
add rsp, 0x128
ret
mov qword [rsp + 0xf8], r8
mov rdi, r9
mov rax, r10
call fcn.0046b580
lea rax, [0x0059a3e0]
mov qword [rsp], rax
mov qword [rsp + 8], r8
call fcn.00414da0
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0x110]
mov rbx, qword [rsp + 0x138]
mov rsi, qword [rsp + 0x130]
mov r8, qword [rsp + 0xf8]
mov r9, qword [rsp + 0x118]
movzx r10d, byte [rsp + 0x77]
jmp 0x5084fe
lea rax, [0x0059a3e0]
mov qword [rsp], rax
call fcn.0040e2a0
mov r8, qword [rsp + 8]
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0x110]
mov rbx, qword [rsp + 0x138]
mov rsi, qword [rsp + 0x130]
mov r9, qword [rsp + 0x118]
movzx r10d, byte [rsp + 0x77]
jmp 0x5084fe
lea rax, [0x00585aa0]
mov qword [rsp], rax
call fcn.0040e2a0
mov rax, qword [rsp + 8]
mov qword [rax + 8], 0x17
lea rcx, [0x005aba7c]
mov qword [rax], rcx
mov qword [rax + 0x18], 2
cmp dword [0x0079e450], 0
jne 0x508953
mov rcx, qword [rsp + 0x110]
mov qword [rax + 0x10], rcx
mov qword [rsp + 0x148], 0
lea rcx, [0x0066bb00]
mov qword [rsp + 0x150], rcx
mov qword [rsp + 0x158], rax
mov rbp, qword [rsp + 0x120]
add rsp, 0x128
ret
lea rdi, [rax + 0x10]
mov rcx, qword [rsp + 0x110]
nop
call fcn.0046b680
jmp 0x508920
mov qword [rsp], rax
mov byte [rsp + 8], 0xc
call fcn.00504f20
mov rax, qword [rsp + 0xb0]
lea rbx, [rax - 2]
mov rax, rbx
neg rbx
sar rbx, 0x3f
and rbx, 2
mov rcx, qword [rsp + 0x110]
add rcx, rbx
mov rbx, rax
mov rax, rcx
movzx ecx, byte [rsp + 0x77]
xor edx, edx
xor esi, esi
jmp 0x507ff2
mov qword [rsp], rax
mov byte [rsp + 8], 9
call fcn.00504f20
mov rax, qword [rsp + 0xb0]
lea rbx, [rax - 2]
mov rax, rbx
neg rbx
sar rbx, 0x3f
and rbx, 2
mov rcx, qword [rsp + 0x110]
add rcx, rbx
mov rbx, rax
mov rax, rcx
movzx ecx, byte [rsp + 0x77]
xor edx, edx
xor esi, esi
jmp 0x507ff2
cmp r8b, 0x51
je 0x508a9e
nop
cmp r8b, 0x62
je 0x508a57
cmp r8b, 0x7a
jne 0x5084aa
mov qword [rsp], rax
mov byte [rsp + 8], 0xa
call fcn.00504f20
mov rax, qword [rsp + 0xb0]
lea rbx, [rax - 2]
mov rax, rbx
neg rbx
sar rbx, 0x3f
and rbx, 2
mov rcx, qword [rsp + 0x110]
add rcx, rbx
mov rbx, rax
mov rax, rcx
movzx ecx, byte [rsp + 0x77]
xor edx, edx
xor esi, esi
jmp 0x507ff2
mov qword [rsp], rax
mov byte [rsp + 8], 0xb
call fcn.00504f20
mov rax, qword [rsp + 0xb0]
lea rbx, [rax - 2]
mov rax, rbx
neg rbx
sar rbx, 0x3f
and rbx, 2
mov rcx, qword [rsp + 0x110]
add rcx, rbx
mov rbx, rax
mov rax, rcx
movzx ecx, byte [rsp + 0x77]
xor edx, edx
xor esi, esi
jmp 0x507ff2
mov qword [rsp], rdx
mov qword [rsp + 8], rcx
lea rax, [0x005a5557]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], 2
nop dword [rax]
call fcn.00492b40
mov rcx, qword [rsp + 0x20]
test rcx, rcx
jge 0x508bcb
mov rax, qword [rsp + 0xb0]
add rax, 0xfffffffffffffffe
mov rcx, rax
neg rax
sar rax, 0x3f
and rax, 2
mov rdx, qword [rsp + 0x110]
add rax, rdx
xor edx, edx
xor ebx, ebx
mov qword [rsp + 0xd0], rbx
mov qword [rsp + 0x90], rdx
jmp 0x508b53
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xa0], rcx
mov rax, qword [rsp + 0x100]
mov qword [rsp], rax
mov dword [rsp + 8], edx
call fcn.00504d20
mov rdx, qword [rsp + 0x90]
mov rbx, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xe0]
test rcx, rcx
je 0x508bb2
mov qword [rsp], rax
mov qword [rsp + 8], rcx
call fcn.0050ddc0
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
mov edx, dword [rsp + 0x10]
mov rbx, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
cmp qword [rsp + 0x28], 0
je 0x508b0e
mov qword [rsp + 0x148], 0
mov qword [rsp + 0x150], rbx
mov qword [rsp + 0x158], rsi
mov rbp, qword [rsp + 0x120]
add rsp, 0x128
ret
mov rbx, rdx
mov rax, qword [rsp + 0xd0]
movzx ecx, byte [rsp + 0x77]
xor edx, edx
xor esi, esi
jmp 0x507ff2
mov rdx, qword [rsp + 0xb0]
cmp rcx, rdx
ja 0x5091f8
nop dword [rax]
cmp rcx, 2
jb 0x5091ee
lea rbx, [rcx - 2]
mov rsi, rbx
neg rbx
sar rbx, 0x3f
and rbx, 2
mov r8, qword [rsp + 0x110]
add rbx, r8
lea rax, [rcx + 2]
cmp rax, rdx
ja 0x5091e6
sub rdx, rcx
add rdx, 0xfffffffffffffffe
mov r9, rdx
neg rdx
sar rdx, 0x3f
and rax, rdx
add r8, rax
mov rdx, r9
mov rcx, rsi
mov rax, rbx
mov rbx, r8
jmp 0x508afc
mov qword [rsp], rax
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rcx
call fcn.0050bfc0
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x30]
cmp qword [rsp + 0x28], 0
jne 0x508c7c
mov rbx, rcx
movzx ecx, byte [rsp + 0x77]
xor edx, edx
xor esi, esi
jmp 0x507ff2
mov qword [rsp + 0x148], 0
mov qword [rsp + 0x150], rdx
mov qword [rsp + 0x158], rbx
mov rbp, qword [rsp + 0x120]
add rsp, 0x128
ret
cmp r10b, 0x5e
jne 0x508d0f
movzx r8d, word [rax]
test r8w, 0x10
je 0x508cff
mov qword [rsp], rax
mov byte [rsp + 8], 9
call fcn.00504f20
mov r8, qword [rsp + 0xb0]
lea rbx, [r8 - 1]
mov r8, rbx
neg rbx
sar rbx, 0x3f
and rbx, 1
mov r9, qword [rsp + 0x110]
lea rax, [r9 + rbx]
mov rbx, r8
movzx ecx, byte [rsp + 0x77]
xor edx, edx
xor esi, esi
jmp 0x507ff2
mov qword [rsp], rax
mov byte [rsp + 8], 7
call fcn.00504f20
jmp 0x508cc8
cmp r10b, 0x7b
je 0x508da8
nop dword [rax]
cmp r10b, 0x7c
jne 0x5081b8
mov qword [rsp], rax
call fcn.00509d80
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x10]
cmp qword [rsp + 8], 0
jne 0x508d7c
mov r8, qword [rsp + 0xb0]
lea rbx, [r8 - 1]
mov r8, rbx
neg rbx
sar rbx, 0x3f
and rbx, 1
mov r9, qword [rsp + 0x110]
lea rax, [r9 + rbx]
mov rbx, r8
movzx ecx, byte [rsp + 0x77]
xor edx, edx
xor esi, esi
jmp 0x507ff2
mov qword [rsp + 0x148], 0
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], rcx
mov rbp, qword [rsp + 0x120]
add rsp, 0x128
ret
mov qword [rsp + 0xa8], r8
mov qword [rsp + 0x108], r9
mov qword [rsp], rax
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rcx
call fcn.00509220
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x18]
mov rdx, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x28]
cmp byte [rsp + 0x38], 0
jne 0x508e40
mov rax, qword [rsp + 0x100]
mov qword [rsp], rax
mov dword [rsp + 8], 0x7b
call fcn.00504d20
mov rax, qword [rsp + 0xb0]
lea rbx, [rax - 1]
mov rax, rbx
neg rbx
sar rbx, 0x3f
and rbx, 1
mov rcx, qword [rsp + 0x110]
add rcx, rbx
mov rbx, rax
mov rax, rcx
mov ecx, 0x11
xor edx, edx
xor esi, esi
jmp 0x507ff2
cmp rcx, 0x3e8
ja 0x508f31
cmp rax, 0x3e8
jg 0x508f31
test rax, rax
jl 0x508e69
nop
cmp rcx, rax
jg 0x508f31
mov rsi, qword [rsp + 0x100]
mov qword [rsp], rsi
mov byte [rsp + 8], 0x11
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rax
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rdx
mov rdx, qword [rsp + 0x108]
mov qword [rsp + 0x40], rdx
mov rdx, qword [rsp + 0xa8]
mov qword [rsp + 0x48], rdx
call fcn.00505020
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x68]
cmp qword [rsp + 0x60], 0
jne 0x508f05
mov rbx, rcx
mov ecx, 0x11
mov rdx, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0x110]
nop dword [rax + rax]
jmp 0x507ff2
mov qword [rsp + 0x148], 0
mov qword [rsp + 0x150], rdx
mov qword [rsp + 0x158], rbx
mov rbp, qword [rsp + 0x120]
add rsp, 0x128
ret
mov rcx, qword [rsp + 0xb0]
mov rax, rcx
sub rcx, rdx
nop
cmp rcx, rax
ja 0x5091fd
mov qword [rsp + 0xb8], rcx
lea rax, [0x00585aa0]
mov qword [rsp], rax
nop dword [rax]
call fcn.0040e2a0
mov rax, qword [rsp + 8]
mov qword [rax + 8], 0x14
lea rcx, [0x005aa6a3]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xb8]
mov qword [rax + 0x18], rcx
cmp dword [0x0079e450], 0
jne 0x508fd0
mov rcx, qword [rsp + 0x110]
mov qword [rax + 0x10], rcx
mov qword [rsp + 0x148], 0
lea rcx, [0x0066bb00]
mov qword [rsp + 0x150], rcx
mov qword [rsp + 0x158], rax
mov rbp, qword [rsp + 0x120]
add rsp, 0x128
ret
lea rdi, [rax + 0x10]
mov rcx, qword [rsp + 0x110]
nop dword [rax]
call fcn.0046b680
jmp 0x508f9d
mov qword [rsp], rax
call fcn.005056c0
mov rax, qword [rsp + 0x100]
mov qword [rsp], rax
nop dword [rax]
call fcn.0050a1a0
cmp byte [rsp + 8], 0
je 0x50910d
mov rax, qword [rsp + 0x100]
mov rdx, qword [rax + 0x18]
mov rbx, qword [rax + 0x10]
lea rcx, [rbx - 1]
cmp rcx, rdx
ja 0x5091e1
mov qword [rax + 0x10], rcx
mov qword [rsp], rax
call fcn.005058a0
mov rax, qword [rsp + 0x100]
mov rcx, qword [rax + 8]
cmp qword [rax + 0x10], 1
je 0x5090e7
lea rax, [0x00585aa0]
mov qword [rsp], rax
nop dword [rax]
call fcn.0040e2a0
mov rax, qword [rsp + 8]
mov qword [rax + 8], 0x11
lea rcx, [0x005a9274]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x138]
mov qword [rax + 0x18], rcx
cmp dword [0x0079e450], 0
jne 0x5090d0
mov rcx, qword [rsp + 0x130]
mov qword [rax + 0x10], rcx
mov qword [rsp + 0x148], 0
lea rcx, [0x0066bb00]
mov qword [rsp + 0x150], rcx
mov qword [rsp + 0x158], rax
mov rbp, qword [rsp + 0x120]
add rsp, 0x128
ret
lea rdi, [rax + 0x10]
mov rcx, qword [rsp + 0x130]
nop dword [rax]
call fcn.0046b680
jmp 0x50909d
mov rax, qword [rcx]
mov qword [rsp + 0x148], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x150], xmm0
mov rbp, qword [rsp + 0x120]
add rsp, 0x128
ret
mov rax, qword [rsp + 0x100]
jmp 0x509031
lea rdi, [rax + 0x30]
mov rdx, qword [rsp + 0x130]
call fcn.0046b6a0
jmp 0x507fda
mov rax, qword [rsp + 0x130]
mov qword [rsp], rax
mov rcx, qword [rsp + 0x138]
mov qword [rsp + 8], rcx
call fcn.0050dc80
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
cmp qword [rsp + 0x10], 0
nop
je 0x50918e
mov qword [rsp + 0x148], 0
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], rcx
mov rbp, qword [rsp + 0x120]
add rsp, 0x128
ret
mov rax, qword [rsp + 0x130]
mov qword [rsp], rax
mov rax, qword [rsp + 0x138]
mov qword [rsp + 8], rax
movzx eax, word [rsp + 0x140]
mov word [rsp + 0x10], ax
call fcn.00507dc0
mov rax, qword [rsp + 0x18]
mov qword [rsp + 0x148], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x150], xmm0
mov rbp, qword [rsp + 0x120]
add rsp, 0x128
ret
call fcn.0046baa0
mov rcx, rdx
call fcn.0046bae0
mov eax, 2
call fcn.0046bae0
call fcn.0046ba60
mov rdx, rax
call fcn.0046ba60
nop
call fcn.00469840
jmp fcn.00507f40