Function at 0x650df0
Capabilities:
Parse credit card information

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x88]
cmp rax, qword [rcx + 0x10]
jbe 0x6520b7
sub rsp, 0x108
mov qword [rsp + 0x100], rbp
lea rbp, [rsp + 0x100]
movzx eax, word [rsp + 0x120]
test ax, 2
jne 0x651fe6
lea rax, [0x006f5ca0]
mov qword [rsp], rax
call fcn.0040caa0
mov rax, qword [rsp + 8]
movzx ecx, word [rsp + 0x120]
mov word [rax], cx
mov rcx, qword [rsp + 0x118]
mov qword [rax + 0x38], rcx
cmp dword [0x00ae2ef0], 0
jne 0x651fc2
mov rdx, qword [rsp + 0x110]
mov qword [rax + 0x30], rdx
mov qword [rsp + 0xe0], rax
mov rbx, rcx
mov rsi, rdx
xor edi, edi
xor r8d, r8d
xor r9d, r9d
jmp 0x650ec4
mov r10, qword [rsp + 0xe0]
mov edi, eax
mov r8, rbx
mov r9, rsi
mov rax, r10
mov rbx, qword [rsp + 0x118]
mov rsi, qword [rsp + 0x110]
mov r11, rcx
mov rcx, rdx
mov rdx, r11
test rcx, rcx
je 0x651e75
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0xf0], rdx
mov byte [rsp + 0x77], dil
movzx r10d, byte [rdx]
cmp r10b, 0x2e
ja 0x6512c9
cmp r10b, 0x28
ja 0x6510ec
cmp r10b, 0x24
jne 0x650f6d
movzx r8d, word [rax]
test r8w, 0x10
je 0x650f5d
mov qword [rsp], rax
mov byte [rsp + 8], 0xa
call fcn.0064de00
mov rax, qword [rsp + 0x10]
movzx ecx, word [rax + 2]
bts ecx, 8
mov word [rax + 2], cx
mov rcx, qword [rsp + 0xa0]
dec rcx
mov rdx, rcx
neg rcx
sar rcx, 0x3f
and rcx, 1
mov rbx, qword [rsp + 0xf0]
add rcx, rbx
movzx eax, byte [rsp + 0x77]
xor ebx, ebx
xor esi, esi
jmp 0x650e98
mov qword [rsp], rax
mov byte [rsp + 8], 8
call fcn.0064de00
jmp 0x650f2b
cmp r10b, 0x28
jne 0x651058
movzx r8d, word [rax]
test r8w, 0x40
je 0x650f8f
cmp rcx, 2
jl 0x650f8f
cmp byte [rdx + 1], 0x3f
je 0x650fef
inc qword [rax + 0x28]
mov qword [rsp], rax
mov byte [rsp + 8], pe_nt_image_headers64
call fcn.0064de00
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 0xe0]
mov rdx, qword [rcx + 0x28]
mov qword [rax + 0x58], rdx
mov rax, qword [rsp + 0xa0]
lea rdx, [rax - 1]
mov rax, rdx
neg rdx
sar rdx, 0x3f
and rdx, 1
mov rbx, qword [rsp + 0xf0]
add rdx, rbx
mov rcx, rdx
mov rdx, rax
movzx eax, byte [rsp + 0x77]
xor ebx, ebx
xor esi, esi
jmp 0x650e98
mov qword [rsp], rax
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rcx
call fcn.00652340
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x18]
test rcx, rcx
jne 0x65102c
mov rcx, rbx
movzx eax, byte [rsp + 0x77]
xor ebx, ebx
xor esi, esi
jmp 0x650e98
mov qword [rsp + 0x128], 0
mov qword [rsp + 0x130], rcx
mov qword [rsp + 0x138], rax
mov rbp, qword [rsp + 0x100]
add rsp, 0x108
ret
mov qword [rsp], rdx
mov qword [rsp + 8], rcx
call fcn.00656cb0
mov eax, dword [rsp + 0x10]
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x18]
test rcx, rcx
jne 0x6510c0
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0xb0], rsi
mov rcx, qword [rsp + 0xe0]
mov qword [rsp], rcx
mov dword [rsp + 8], eax
call fcn.0064dd90
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0x78]
movzx eax, byte [rsp + 0x77]
xor ebx, ebx
xor esi, esi
jmp 0x650e98
mov qword [rsp + 0x128], 0
mov qword [rsp + 0x130], rcx
mov qword [rsp + 0x138], rdx
mov rbp, qword [rsp + 0x100]
add rsp, 0x108
ret
cmp r10b, 0x29
je 0x65124e
lea r11d, [r10 - 0x2a]
cmp r11b, 1
jbe 0x65116b
cmp r10b, 0x2e
jne 0x651058
movzx r8d, word [rax]
test r8w, 8
je 0x65115b
mov qword [rsp], rax
mov byte [rsp + 8], 6
call fcn.0064de00
mov r8, qword [rsp + 0xa0]
lea rdx, [r8 - 1]
mov r8, rdx
neg rdx
sar rdx, 0x3f
and rdx, 1
mov r9, qword [rsp + 0xf0]
lea rcx, [r9 + rdx]
mov rdx, r8
movzx eax, byte [rsp + 0x77]
xor ebx, ebx
xor esi, esi
jmp 0x650e98
mov qword [rsp], rax
mov byte [rsp + 8], 5
call fcn.0064de00
jmp 0x651124
cmp r10b, 0x2a
jne 0x65122a
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.0064def0
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
test rcx, rcx
jne 0x6511fe
mov rcx, rbx
movzx eax, byte [rsp + 0x77]
mov rbx, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0xf0]
jmp 0x650e98
mov qword [rsp + 0x128], 0
mov qword [rsp + 0x130], rcx
mov qword [rsp + 0x138], rax
mov rbp, qword [rsp + 0x100]
add rsp, 0x108
ret
cmp r10b, 0x2b
jne 0x65123a
mov edi, 0xf
jmp 0x65117a
cmp r10b, 0x3f
jne 0x65117a
mov edi, 0x10
jmp 0x65117a
mov qword [rsp], rax
call fcn.00653390
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 8]
test rcx, rcx
jne 0x65129d
mov r8, qword [rsp + 0xa0]
lea rdx, [r8 - 1]
mov r8, rdx
neg rdx
sar rdx, 0x3f
and rdx, 1
mov r9, qword [rsp + 0xf0]
lea rcx, [r9 + rdx]
mov rdx, r8
movzx eax, byte [rsp + 0x77]
xor ebx, ebx
xor esi, esi
jmp 0x650e98
mov qword [rsp + 0x128], 0
mov qword [rsp + 0x130], rcx
mov qword [rsp + 0x138], rax
mov rbp, qword [rsp + 0x100]
add rsp, 0x108
ret
cmp r10b, 0x5c
ja 0x651b17
cmp r10b, 0x3f
je 0x65116b
cmp r10b, 0x5b
je 0x651aae
cmp r10b, 0x5c
jne 0x651058
movzx r8d, word [rax]
test r8w, 0x40
je 0x651330
cmp rcx, 2
jl 0x651330
movzx r8d, byte [rdx + 1]
cmp r8b, 0x43
ja 0x651888
cmp r8b, 0x41
je 0x651844
cmp r8b, 0x42
je 0x651800
cmp r8b, 0x43
je 0x651753
nop
mov r8, qword [rax + 0x20]
lea r9, [rax + 0x20]
mov qword [rsp + 0xf8], r9
test r8, r8
je 0x651703
mov r10, qword [r8 + 0x20]
cmp dword [0x00ae2ef0], 0
jne 0x651698
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.0045b5dd
mov rbp, qword [rbp]
mov qword [rsp + 0xd0], r8
mov byte [r8], 4
movzx edi, word [rax]
mov word [r8 + 2], di
cmp rcx, 2
jl 0x6513b5
movzx edi, byte [rdx + 1]
cmp dil, 0x70
jne 0x65168b
mov edi, 1
test dil, dil
jne 0x651569
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.00653f10
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x30]
test rsi, rsi
je 0x651470
mov qword [rsp + 0x90], rax
mov qword [rsp + 0xc0], rcx
mov r8, qword [rsp + 0xd0]
mov qword [r8 + 0x30], rbx
mov qword [r8 + 0x38], rdx
cmp dword [0x00ae2ef0], 0
jne 0x651462
mov qword [r8 + 0x28], rsi
mov rax, qword [rsp + 0xe0]
mov qword [rsp], rax
mov qword [rsp + 8], r8
call fcn.0064d520
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0x90]
movzx eax, byte [rsp + 0x77]
xor ebx, ebx
xor esi, esi
jmp 0x650e98
lea rdi, [r8 + 0x28]
mov rax, rsi
call fcn.0045aa60
jmp 0x65142e
nop
mov rcx, qword [rsp + 0xe0]
mov rax, qword [rcx + 0x20]
cmp dword [0x00ae2ef0], 0
jne 0x651543
mov rdx, qword [rsp + 0xd0]
mov qword [rdx + 0x20], rax
mov qword [rcx + 0x20], rdx
mov qword [rsp], rcx
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 8], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x10], rax
call fcn.00653610
mov eax, dword [rsp + 0x18]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x20]
test rdx, rdx
jne 0x651517
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0xb0], rsi
mov rcx, qword [rsp + 0xe0]
mov qword [rsp], rcx
mov dword [rsp + 8], eax
call fcn.0064dd90
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0x78]
movzx eax, byte [rsp + 0x77]
xor ebx, ebx
xor esi, esi
jmp 0x650e98
mov qword [rsp + 0x128], 0
mov qword [rsp + 0x130], rdx
mov qword [rsp + 0x138], rcx
mov rbp, qword [rsp + 0x100]
add rsp, 0x108
ret
mov rdx, qword [rsp + 0xd0]
lea rdi, [rdx + 0x20]
call fcn.0045aa60
mov rdi, qword [rsp + 0xf8]
mov rax, rdx
call fcn.0045aa60
jmp 0x65149a
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.00654600
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x50]
mov r8, qword [rsp + 0x48]
test rsi, rsi
jne 0x65165f
test rdx, rdx
je 0x65163a
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0xb8], r8
mov rbx, qword [rsp + 0xd0]
mov qword [rbx + 0x30], rcx
mov qword [rbx + 0x38], rax
cmp dword [0x00ae2ef0], 0
jne 0x651629
mov qword [rbx + 0x28], rdx
mov rax, qword [rsp + 0xe0]
mov qword [rsp], rax
mov qword [rsp + 8], rbx
call fcn.0064d520
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0x80]
movzx eax, byte [rsp + 0x77]
xor ebx, ebx
xor esi, esi
jmp 0x650e98
lea rcx, [rbx + 0x28]
mov rdi, rcx
mov rax, rdx
call fcn.0045aa60
jmp 0x6515f5
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xf0]
mov r8, qword [rsp + 0xd0]
jmp 0x6513b5
mov qword [rsp + 0x128], 0
mov qword [rsp + 0x130], rsi
mov qword [rsp + 0x138], rbx
mov rbp, qword [rsp + 0x100]
add rsp, 0x108
ret
cmp dil, 0x50
sete dil
jmp 0x6513ac
mov qword [rsp + 0xd8], r8
mov rdi, r9
mov rax, r10
call fcn.0045aa60
lea rcx, [0x00703640]
mov qword [rsp], rcx
mov qword [rsp + 8], r8
call fcn.00413f40
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0x118]
mov rsi, qword [rsp + 0x110]
mov r8, qword [rsp + 0xd8]
mov r9, qword [rsp + 0xf8]
movzx r10d, byte [rsp + 0x77]
jmp 0x65137f
lea rax, [0x00703640]
mov qword [rsp], rax
call fcn.0040caa0
mov r8, qword [rsp + 8]
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0x118]
mov rsi, qword [rsp + 0x110]
mov r9, qword [rsp + 0xf8]
movzx r10d, byte [rsp + 0x77]
jmp 0x65137f
lea rax, [0x006d65c0]
mov qword [rsp], rax
call fcn.0040caa0
mov rdi, qword [rsp + 8]
mov qword [rdi + 8], 0x17
cmp dword [0x00ae2ef0], 0
jne 0x6517f2
lea rcx, [0x0072351e]
mov qword [rdi], rcx
mov qword [rdi + 0x18], 2
cmp dword [0x00ae2ef0], 0
jne 0x6517d3
mov rax, qword [rsp + 0xf0]
mov qword [rdi + 0x10], rax
mov qword [rsp + 0x128], 0
lea rax, [0x0078cd60]
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], rdi
mov rbp, qword [rsp + 0x100]
add rsp, 0x108
ret
lea rcx, [rdi + 0x10]
mov rax, rdi
mov rdi, rcx
mov rdx, rax
mov rax, qword [rsp + 0xf0]
call fcn.0045aa60
mov rdi, rdx
jmp 0x6517a0
lea rax, [0x0072351e]
call fcn.0045aa60
jmp 0x651783
mov qword [rsp], rax
mov byte [rsp + 8], 0xc
call fcn.0064de00
mov rax, qword [rsp + 0xa0]
lea rdx, [rax - 2]
mov rax, rdx
neg rdx
sar rdx, 0x3f
and rdx, 2
mov rcx, qword [rsp + 0xf0]
add rcx, rdx
mov rdx, rax
movzx eax, byte [rsp + 0x77]
xor ebx, ebx
xor esi, esi
jmp 0x650e98
mov qword [rsp], rax
mov byte [rsp + 8], 9
call fcn.0064de00
mov rax, qword [rsp + 0xa0]
lea rdx, [rax - 2]
mov rax, rdx
neg rdx
sar rdx, 0x3f
and rdx, 2
mov rcx, qword [rsp + 0xf0]
add rcx, rdx
mov rdx, rax
movzx eax, byte [rsp + 0x77]
xor ebx, ebx
xor esi, esi
jmp 0x650e98
cmp r8b, 0x51
je 0x65192a
cmp r8b, 0x62
je 0x6518e6
cmp r8b, 0x7a
jne 0x651330
mov qword [rsp], rax
mov byte [rsp + 8], 0xa
call fcn.0064de00
mov rax, qword [rsp + 0xa0]
lea rdx, [rax - 2]
mov rax, rdx
neg rdx
sar rdx, 0x3f
and rdx, 2
mov rcx, qword [rsp + 0xf0]
add rcx, rdx
mov rdx, rax
movzx eax, byte [rsp + 0x77]
xor ebx, ebx
xor esi, esi
jmp 0x650e98
mov qword [rsp], rax
mov byte [rsp + 8], 0xb
call fcn.0064de00
mov rax, qword [rsp + 0xa0]
lea rdx, [rax - 2]
mov rax, rdx
neg rdx
sar rdx, 0x3f
and rdx, 2
mov rcx, qword [rsp + 0xf0]
add rcx, rdx
mov rdx, rax
movzx eax, byte [rsp + 0x77]
xor ebx, ebx
xor esi, esi
jmp 0x650e98
mov qword [rsp], rdx
mov qword [rsp + 8], rcx
lea rax, [0x00717a92]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], 2
call fcn.004fce30
mov rcx, qword [rsp + 0x20]
test rcx, rcx
jge 0x651a45
mov rcx, qword [rsp + 0xa0]
add rcx, 0xfffffffffffffffe
mov rdx, rcx
neg rcx
sar rcx, 0x3f
and rcx, 2
mov rbx, qword [rsp + 0xf0]
add rcx, rbx
xor eax, eax
xor ebx, ebx
mov qword [rsp + 0x78], rax
mov qword [rsp + 0xb0], rbx
jmp 0x6519d5
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0xc8], rdx
mov rax, qword [rsp + 0xe0]
mov qword [rsp], rax
mov dword [rsp + 8], esi
call fcn.0064dd90
mov rax, qword [rsp + 0x78]
mov rbx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xc8]
test rdx, rdx
je 0x651a31
mov qword [rsp], rcx
mov qword [rsp + 8], rdx
call fcn.00656cb0
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x18]
mov rbx, qword [rsp + 0x28]
mov esi, dword [rsp + 0x10]
test rbx, rbx
je 0x651993
mov qword [rsp + 0x128], 0
mov qword [rsp + 0x130], rbx
mov qword [rsp + 0x138], rax
mov rbp, qword [rsp + 0x100]
add rsp, 0x108
ret
mov rcx, rbx
mov rdx, rax
movzx eax, byte [rsp + 0x77]
xor ebx, ebx
xor esi, esi
jmp 0x650e98
mov rdx, qword [rsp + 0xa0]
cmp rcx, rdx
ja 0x6520a9
cmp rcx, 2
jb 0x65209f
lea rbx, [rcx - 2]
mov rsi, rbx
neg rbx
sar rbx, 0x3f
and rbx, 2
mov r8, qword [rsp + 0xf0]
add rbx, r8
lea rax, [rcx + 2]
cmp rax, rdx
ja 0x652097
sub rdx, rax
mov r9, rdx
neg rdx
sar rdx, 0x3f
and rdx, rax
add r8, rdx
mov rax, r9
mov rdx, rsi
mov rcx, rbx
mov rbx, r8
jmp 0x651984
mov qword [rsp], rax
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rcx
call fcn.00654f60
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x18]
mov rdx, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x28]
test rbx, rbx
jne 0x651aeb
mov rdx, rax
movzx eax, byte [rsp + 0x77]
xor ebx, ebx
xor esi, esi
jmp 0x650e98
mov qword [rsp + 0x128], 0
mov qword [rsp + 0x130], rbx
mov qword [rsp + 0x138], rdx
mov rbp, qword [rsp + 0x100]
add rsp, 0x108
ret
cmp r10b, 0x5e
jne 0x651b7e
movzx r8d, word [rax]
test r8w, 0x10
je 0x651b6e
mov qword [rsp], rax
mov byte [rsp + 8], 9
call fcn.0064de00
mov r8, qword [rsp + 0xa0]
lea rdx, [r8 - 1]
mov r8, rdx
neg rdx
sar rdx, 0x3f
and rdx, 1
mov r9, qword [rsp + 0xf0]
lea rcx, [r9 + rdx]
mov rdx, r8
movzx eax, byte [rsp + 0x77]
xor ebx, ebx
xor esi, esi
jmp 0x650e98
mov qword [rsp], rax
mov byte [rsp + 8], 7
call fcn.0064de00
jmp 0x651b37
cmp r10b, 0x7b
je 0x651c0d
cmp r10b, 0x7c
jne 0x651058
mov qword [rsp], rax
call fcn.00652d20
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 8]
test rcx, rcx
jne 0x651be1
mov r8, qword [rsp + 0xa0]
lea rdx, [r8 - 1]
mov r8, rdx
neg rdx
sar rdx, 0x3f
and rdx, 1
mov r9, qword [rsp + 0xf0]
lea rcx, [r9 + rdx]
mov rdx, r8
movzx eax, byte [rsp + 0x77]
xor ebx, ebx
xor esi, esi
jmp 0x650e98
mov qword [rsp + 0x128], 0
mov qword [rsp + 0x130], rcx
mov qword [rsp + 0x138], rax
mov rbp, qword [rsp + 0x100]
add rsp, 0x108
ret
mov qword [rsp + 0x98], r8
mov qword [rsp + 0xe8], r9
mov qword [rsp], rax
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rcx
call fcn.006520d0
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x28]
cmp byte [rsp + 0x38], 0
jne 0x651c9a
mov rax, qword [rsp + 0xe0]
mov qword [rsp], rax
mov dword [rsp + 8], 0x7b
call fcn.0064dd90
mov rax, qword [rsp + 0xa0]
lea rdx, [rax - 1]
mov rax, rdx
neg rdx
sar rdx, 0x3f
and rdx, 1
mov rcx, qword [rsp + 0xf0]
add rcx, rdx
mov rdx, rax
mov eax, 0x11
xor ebx, ebx
xor esi, esi
jmp 0x650e98
test rax, rax
jl 0x651d9b
cmp rax, 0x3e8
jg 0x651d9b
cmp rcx, 0x3e8
jg 0x651d9b
test rcx, rcx
jl 0x651e6e
cmp rax, rcx
setg sil
test sil, sil
jne 0x651d9b
mov rsi, qword [rsp + 0xe0]
mov qword [rsp], rsi
mov byte [rsp + 8], 0x11
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], rcx
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0xa0]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rdx
mov rdx, qword [rsp + 0xe8]
mov qword [rsp + 0x40], rdx
mov rdx, qword [rsp + 0x98]
mov qword [rsp + 0x48], rdx
call fcn.0064def0
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x68]
test rax, rax
jne 0x651d6f
mov eax, 0x11
mov rbx, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0xf0]
mov rdi, rcx
mov rcx, rdx
mov rdx, rdi
jmp 0x650e98
mov qword [rsp + 0x128], 0
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], rbx
mov rbp, qword [rsp + 0x100]
add rsp, 0x108
ret
mov rcx, qword [rsp + 0xa0]
mov rax, rcx
sub rcx, rdx
cmp rcx, rax
ja 0x6520ae
mov qword [rsp + 0xa8], rcx
lea rax, [0x006d65c0]
mov qword [rsp], rax
call fcn.0040caa0
mov rdi, qword [rsp + 8]
mov qword [rdi + 8], 0x14
cmp dword [0x00ae2ef0], 0
jne 0x651e5d
lea rcx, [0x00721f77]
mov qword [rdi], rcx
mov rcx, qword [rsp + 0xa8]
mov qword [rdi + 0x18], rcx
cmp dword [0x00ae2ef0], 0
jne 0x651e3e
mov rax, qword [rsp + 0xf0]
mov qword [rdi + 0x10], rax
mov qword [rsp + 0x128], 0
lea rax, [0x0078cd60]
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], rdi
mov rbp, qword [rsp + 0x100]
add rsp, 0x108
ret
lea rcx, [rdi + 0x10]
mov rax, rdi
mov rdi, rcx
mov rdx, rax
mov rax, qword [rsp + 0xf0]
call fcn.0045aa60
mov rdi, rdx
jmp 0x651e0b
lea rax, [0x00721f77]
call fcn.0045aa60
jmp 0x651dea
xor esi, esi
jmp 0x651ccc
mov qword [rsp], rax
call fcn.0064e610
mov rax, qword [rsp + 0xe0]
mov qword [rsp], rax
call fcn.006530a0
cmp byte [rsp + 8], 0
je 0x651fb5
mov rax, qword [rsp + 0xe0]
mov rdx, qword [rax + 0x18]
mov rbx, qword [rax + 0x10]
lea rcx, [rbx - 1]
cmp rcx, rdx
ja 0x652092
mov qword [rax + 0x10], rcx
mov qword [rsp], rax
call fcn.0064e7c0
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rax + 8]
cmp qword [rax + 0x10], 1
je 0x651f8f
lea rax, [0x006d65c0]
mov qword [rsp], rax
call fcn.0040caa0
mov rdi, qword [rsp + 8]
mov qword [rdi + 8], 0x11
cmp dword [0x00ae2ef0], 0
jne 0x651f7e
lea rcx, [0x007203b3]
mov qword [rdi], rcx
mov rcx, qword [rsp + 0x118]
mov qword [rdi + 0x18], rcx
cmp dword [0x00ae2ef0], 0
jne 0x651f5f
mov rax, qword [rsp + 0x110]
mov qword [rdi + 0x10], rax
mov qword [rsp + 0x128], 0
lea rax, [0x0078cd60]
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], rdi
mov rbp, qword [rsp + 0x100]
add rsp, 0x108
ret
lea rcx, [rdi + 0x10]
mov rax, rdi
mov rdi, rcx
mov rdx, rax
mov rax, qword [rsp + 0x110]
call fcn.0045aa60
mov rdi, rdx
jmp 0x651f2c
lea rax, [0x007203b3]
call fcn.0045aa60
jmp 0x651f0b
mov rax, qword [rcx]
mov qword [rsp + 0x128], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x130], xmm0
mov rbp, qword [rsp + 0x100]
add rsp, 0x108
ret
mov rax, qword [rsp + 0xe0]
jmp 0x651ebb
lea rdi, [rax + 0x30]
mov rdx, rax
mov rax, qword [rsp + 0x110]
call fcn.0045aa60
mov rax, rdx
mov rdx, qword [rsp + 0x110]
jmp 0x650e80
mov rax, qword [rsp + 0x110]
mov qword [rsp], rax
mov rcx, qword [rsp + 0x118]
mov qword [rsp + 8], rcx
call fcn.00656b60
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x10]
test rcx, rcx
je 0x65203f
mov qword [rsp + 0x128], 0
mov qword [rsp + 0x130], rcx
mov qword [rsp + 0x138], rax
mov rbp, qword [rsp + 0x100]
add rsp, 0x108
ret
mov rax, qword [rsp + 0x110]
mov qword [rsp], rax
mov rax, qword [rsp + 0x118]
mov qword [rsp + 8], rax
movzx eax, word [rsp + 0x120]
mov word [rsp + 0x10], ax
call fcn.00650c70
mov rax, qword [rsp + 0x18]
mov qword [rsp + 0x128], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x130], xmm0
mov rbp, qword [rsp + 0x100]
add rsp, 0x108
ret
call fcn.0045b460
mov rcx, rdx
call fcn.0045b480
mov eax, 2
call fcn.0045b480
call fcn.0045b440
mov rdx, rax
call fcn.0045b440
nop
call fcn.00458a70
jmp fcn.00650df0