Function at 0x51e540
Capabilities:
Parse credit card information

Disassembly:
lea r12, [rsp - 0x78]
cmp r12, qword [r14 + 0x10]
jbe 0x51f79c
push rbp
mov rbp, rsp
sub rsp, 0xf0
movq qword [rsp + 0xe8], xmm15
mov word [rsp + 0x110], cx
mov qword [rsp + 0x108], rbx
mov qword [rsp + 0x100], rax
mov byte [rsp + 0x57], 0
mov qword [rsp + 0x78], 0
movups xmmword [rsp + 0xa8], xmm15
lea rdx, [0x0051f7e0]
mov qword [rsp + 0xb8], rdx
lea rdx, [rsp + 0xa8]
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0xd0], rbx
mov qword [rsp + 0xc8], rax
lea rdx, [rsp + 0xb8]
mov qword [rsp + 0xe8], rdx
mov byte [rsp + 0x57], 1
test cx, 2
jne 0x51e645
lea rax, [0x00567480]
call fcn.0040d460
movzx ecx, word [rsp + 0x110]
mov word [rax], cx
mov rcx, qword [rsp + 0x108]
mov qword [rax + 0x38], rcx
cmp dword [0x0079ddc0], 0
jne 0x51e614
mov rdx, qword [rsp + 0x100]
jmp 0x51e624
call fcn.0046e7c0
mov rdx, qword [rsp + 0x100]
mov qword [r11], rdx
mov qword [rsp + 0xe0], rax
mov qword [rax + 0x30], rdx
mov rbx, rcx
mov rsi, rdx
xor edi, edi
xor r8d, r8d
xor r9d, r9d
nop
jmp 0x51e7f4
call fcn.00522fa0
test rax, rax
jne 0x51e6af
lea rax, [0x00566a80]
call fcn.0040d460
mov byte [rax], 3
movzx ecx, word [rsp + 0x110]
mov word [rax + 2], cx
mov qword [rax + 0x30], 0
mov qword [rax + 0x38], 2
lea rcx, [rax + 0x40]
cmp dword [0x0079ddc0], 0
je 0x51e68f
call fcn.0046e7c0
mov qword [r11], rcx
mov qword [rsp + 0x90], rax
mov qword [rax + 0x28], rcx
mov rbx, qword [rsp + 0x108]
mov rsi, qword [rsp + 0x100]
xor ecx, ecx
jmp 0x51e70b
mov qword [rsp + 0x78], 0
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], rbx
mov byte [rsp + 0x57], 0
mov rdx, qword [rsp + 0xe8]
mov rax, qword [rdx]
call rax
mov rbx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xb0]
add rsp, 0xf0
pop rbp
ret
mov r10, qword [rax + 0x28]
lea r11, [r9 + 1]
mov qword [rax + 0x30], r11
mov dword [r10 + r9*4], edi
mov rcx, r8
cmp rbx, rcx
jle 0x51e78d
movzx edi, byte [rsi + rcx]
cmp edi, 0x80
jge 0x51e722
lea r8, [rcx + 1]
jmp 0x51e747
mov rax, rsi
call fcn.0045f6a0
mov rsi, qword [rsp + 0x100]
mov edi, eax
mov r8, rbx
mov rax, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x108]
mov r9, qword [rax + 0x30]
cmp qword [rax + 0x38], r9
jg 0x51e6f8
xor eax, eax
mov rcx, rbx
mov rbx, rsi
call fcn.0044e4a0
mov rdx, qword [rsp + 0x90]
mov qword [rdx + 0x30], rbx
mov qword [rdx + 0x38], rcx
cmp dword [0x0079ddc0], 0
je 0x51e787
call fcn.0046e7e0
mov qword [r11], rax
mov rcx, qword [rdx + 0x28]
mov qword [r11 + 8], rcx
mov qword [rdx + 0x28], rax
jmp 0x51e790
mov rdx, rax
mov qword [rsp + 0x78], rdx
movups xmmword [rsp + 0xa8], xmm15
mov byte [rsp + 0x57], 0
mov rdx, qword [rsp + 0xe8]
mov rax, qword [rdx]
call rax
mov rbx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xb0]
add rsp, 0xf0
pop rbp
ret
mov rcx, rbx
mov r8, rsi
mov r9, rdi
mov rbx, qword [rsp + 0x108]
mov rsi, qword [rsp + 0x100]
mov edi, edx
mov rdx, rax
mov rax, qword [rsp + 0xe0]
test rcx, rcx
je 0x51f578
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x58], rcx
mov byte [rsp + 0x56], dil
movzx r11d, byte [rdx]
cmp r11b, 0x2e
ja 0x51ea2c
nop dword [rax]
cmp r11b, 0x28
ja 0x51e952
cmp r11b, 0x24
jne 0x51e8a5
movzx r8d, word [rax]
test r8w, 0x10
je 0x51e856
mov ebx, 0xa
call fcn.0051b960
movzx ecx, word [rax + 2]
or ecx, 0x100
mov word [rax + 2], cx
jmp 0x51e865
mov ebx, 8
nop dword [rax + rax]
call fcn.0051b960
mov r11, qword [rsp + 0x58]
dec r11
mov r12, r11
neg r11
sar r11, 0x3f
and r11d, 1
mov r13, qword [rsp + 0x80]
add r11, r13
mov rcx, qword [rsp + 0xe0]
mov rbx, r12
mov rax, r11
movzx edx, byte [rsp + 0x56]
xor esi, esi
xor edi, edi
nop dword [rax]
jmp 0x51e7ce
cmp r11b, 0x28
jne 0x51f0d1
movzx r8d, word [rax]
test r8w, 0x40
je 0x51e905
nop dword [rax + rax]
cmp rcx, 2
jl 0x51e905
cmp byte [rdx + 1], 0x3f
jne 0x51e905
mov rbx, rdx
call fcn.0051fb40
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xb0], rdi
test rcx, rcx
jne 0x51f248
mov rcx, qword [rsp + 0xe0]
movzx edx, byte [rsp + 0x56]
xor esi, esi
xor edi, edi
nop
jmp 0x51e7ce
inc qword [rax + 0x28]
mov ebx, 0xffffff80
call fcn.0051b960
mov rcx, qword [rsp + 0xe0]
mov rdx, qword [rcx + 0x28]
mov qword [rax + 0x58], rdx
mov rbx, qword [rsp + 0x58]
dec rbx
mov rdx, rbx
neg rdx
sar rdx, 0x3f
and edx, 1
mov rsi, qword [rsp + 0x80]
lea rax, [rsi + rdx]
movzx edx, byte [rsp + 0x56]
xor esi, esi
xor edi, edi
jmp 0x51e7ce
cmp r11b, 0x29
je 0x51e9d6
nop dword [rax + rax]
cmp r11b, 0x2b
jbe 0x51ef85
cmp r11b, 0x2e
jne 0x51f0d1
movzx r8d, word [rax]
nop dword [rax + rax]
test r8w, 8
je 0x51e994
mov ebx, 6
call fcn.0051b960
jmp 0x51e99e
mov ebx, 5
call fcn.0051b960
mov rbx, qword [rsp + 0x58]
dec rbx
mov r11, rbx
neg r11
sar r11, 0x3f
and r11d, 1
mov r12, qword [rsp + 0x80]
lea rax, [r12 + r11]
mov rcx, qword [rsp + 0xe0]
movzx edx, byte [rsp + 0x56]
xor esi, esi
xor edi, edi
jmp 0x51e7ce
call fcn.00520800
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], rbx
test rax, rax
jne 0x51f281
mov rbx, qword [rsp + 0x58]
dec rbx
mov r11, rbx
neg r11
sar r11, 0x3f
and r11d, 1
mov r12, qword [rsp + 0x80]
lea rax, [r12 + r11]
mov rcx, qword [rsp + 0xe0]
movzx edx, byte [rsp + 0x56]
xor esi, esi
xor edi, edi
jmp 0x51e7ce
cmp r11b, 0x5c
ja 0x51f020
nop word [rax + rax]
nop
cmp r11b, 0x3f
je 0x51ef85
cmp r11b, 0x5b
je 0x51ef4c
cmp r11b, 0x5c
jne 0x51f0d1
movzx r9d, word [rax]
test r9w, 0x40
je 0x51ec0c
cmp rcx, 2
jl 0x51ec0c
movzx r9d, byte [rdx + 1]
nop dword [rax]
cmp r9b, 0x43
ja 0x51eb33
cmp r9b, 0x41
je 0x51eaf1
cmp r9b, 0x42
je 0x51eaaf
nop word [rax + rax]
nop
cmp r9b, 0x43
jne 0x51ec0c
jmp 0x51f2ba
mov ebx, 0xc
call fcn.0051b960
mov rbx, qword [rsp + 0x58]
add rbx, 0xfffffffffffffffe
mov rcx, rbx
neg rcx
sar rcx, 0x3f
and ecx, 2
mov rdx, qword [rsp + 0x80]
lea rax, [rdx + rcx]
mov rcx, qword [rsp + 0xe0]
movzx edx, byte [rsp + 0x56]
xor esi, esi
xor edi, edi
jmp 0x51e7ce
mov ebx, 9
call fcn.0051b960
mov rbx, qword [rsp + 0x58]
add rbx, 0xfffffffffffffffe
mov rcx, rbx
neg rcx
sar rcx, 0x3f
and ecx, 2
mov rdx, qword [rsp + 0x80]
lea rax, [rdx + rcx]
mov rcx, qword [rsp + 0xe0]
movzx edx, byte [rsp + 0x56]
xor esi, esi
xor edi, edi
jmp 0x51e7ce
cmp r9b, 0x51
je 0x51ebd4
nop dword [rax]
cmp r9b, 0x62
je 0x51eb92
cmp r9b, 0x7a
jne 0x51ec0c
mov ebx, 0xa
call fcn.0051b960
mov rbx, qword [rsp + 0x58]
add rbx, 0xfffffffffffffffe
mov rcx, rbx
neg rcx
sar rcx, 0x3f
and ecx, 2
mov rdx, qword [rsp + 0x80]
lea rax, [rdx + rcx]
mov rcx, qword [rsp + 0xe0]
movzx edx, byte [rsp + 0x56]
xor esi, esi
xor edi, edi
jmp 0x51e7ce
mov ebx, 0xb
call fcn.0051b960
mov rbx, qword [rsp + 0x58]
add rbx, 0xfffffffffffffffe
mov rcx, rbx
neg rcx
sar rcx, 0x3f
and ecx, 2
mov rdx, qword [rsp + 0x80]
lea rax, [rdx + rcx]
mov rcx, qword [rsp + 0xe0]
movzx edx, byte [rsp + 0x56]
xor esi, esi
xor edi, edi
jmp 0x51e7ce
lea rbx, [rcx - 2]
mov rsi, rbx
neg rsi
sar rsi, 0x3f
and esi, 2
lea rax, [rdx + rsi]
lea rcx, [0x00571376]
mov edi, 2
call fcn.00474b80
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x58], rdi
jmp 0x51f700
mov r9, qword [rax + 0x20]
nop
test r9, r9
je 0x51ecb5
mov r10, qword [r9 + 0x20]
cmp dword [0x0079ddc0], 0
je 0x51ec90
mov qword [rsp + 0x88], r9
mov qword [rsp + 0xd8], r10
call fcn.0046e7e0
mov qword [r11], r10
mov rcx, qword [rax + 0x20]
mov qword [r11 + 8], rcx
mov rbx, r9
lea rax, [0x00566a80]
call fcn.004105c0
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x108]
mov rsi, qword [rsp + 0x100]
movzx edi, byte [rsp + 0x56]
mov r9, qword [rsp + 0x88]
mov r10, qword [rsp + 0xd8]
mov qword [rax + 0x20], r10
mov r8d, edi
mov rdi, r9
lea rdi, [rdi - 0x10]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046ee46
mov rbp, qword [rbp]
jmp 0x51ecff
lea rax, [0x00566a80]
nop dword [rax]
call fcn.0040d460
mov rcx, qword [rsp + 0xe0]
inc qword [rcx + 0x58]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x108]
mov rsi, qword [rsp + 0x100]
movzx r8d, byte [rsp + 0x56]
mov r9, rax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0xd8], r9
mov byte [r9], 4
movzx r10d, word [rax]
mov word [r9 + 2], r10w
cmp rcx, 2
jl 0x51ede5
movzx r10d, byte [rdx + 1]
cmp r10b, 0x70
je 0x51ed33
cmp r10b, 0x50
jne 0x51ede5
lea rdi, [r9 + 0x40]
mov rbx, rdx
xor esi, esi
mov r8d, 2
call fcn.00521420
test r8, r8
jne 0x51f357
test rax, rax
je 0x51edc8
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x80], rdi
mov rdx, qword [rsp + 0xd8]
mov qword [rdx + 0x30], rbx
mov qword [rdx + 0x38], rcx
cmp dword [0x0079ddc0], 0
je 0x51ed90
nop dword [rax + rax]
call fcn.0046e7e0
mov qword [r11], rax
mov rcx, qword [rdx + 0x28]
mov qword [r11 + 8], rcx
mov qword [rdx + 0x28], rax
mov rax, qword [rsp + 0xe0]
mov rbx, rdx
nop
call fcn.0051b1a0
mov rcx, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x80]
movzx edx, byte [rsp + 0x56]
xor esi, esi
xor edi, edi
jmp 0x51e7ce
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x80]
mov r9, qword [rsp + 0xd8]
lea rdi, [r9 + 0x40]
mov rbx, rdx
xor esi, esi
mov r8d, 2
call fcn.00520f40
test rax, rax
je 0x51ee6b
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x80], rdi
mov rdx, qword [rsp + 0xd8]
mov qword [rdx + 0x30], rbx
mov qword [rdx + 0x38], rcx
cmp dword [0x0079ddc0], 0
je 0x51ee34
call fcn.0046e7e0
mov qword [r11], rax
mov rcx, qword [rdx + 0x28]
mov qword [r11 + 8], rcx
mov qword [rdx + 0x28], rax
mov rax, qword [rsp + 0xe0]
mov rbx, rdx
call fcn.0051b1a0
mov rcx, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x80]
movzx edx, byte [rsp + 0x56]
xor esi, esi
xor edi, edi
jmp 0x51e7ce
mov rax, qword [rsp + 0xe0]
mov rbx, qword [rax + 0x70]
nop
test rbx, rbx
je 0x51ee9f
mov rcx, qword [rsp + 0xd8]
mov rdx, rcx
lea rax, [0x0054bee0]
mov rcx, rdx
call fcn.0040f580
mov rax, qword [rsp + 0xe0]
mov rdx, qword [rax + 0x20]
cmp dword [0x0079ddc0], 0
jne 0x51eeb6
mov rsi, qword [rsp + 0xd8]
jmp 0x51eeda
call fcn.0046e820
mov qword [r11], rdx
mov rsi, qword [rsp + 0xd8]
mov rdi, qword [rsi + 0x20]
mov qword [r11 + 8], rdi
mov qword [r11 + 0x10], rsi
mov rdi, qword [rax + 0x20]
mov qword [r11 + 0x18], rdi
mov qword [rsi + 0x20], rdx
mov qword [rax + 0x20], rsi
mov rbx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x58]
call fcn.005209e0
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xb0], rsi
test rdi, rdi
jne 0x51f3a1
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x80], rbx
mov ebx, eax
mov rax, qword [rsp + 0xe0]
call fcn.0051b780
mov rcx, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x80]
movzx edx, byte [rsp + 0x56]
xor esi, esi
xor edi, edi
jmp 0x51e7ce
mov rbx, rdx
call fcn.00521a80
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xb0], rdi
test rcx, rcx
jne 0x51f3da
mov rcx, qword [rsp + 0xe0]
movzx edx, byte [rsp + 0x56]
xor esi, esi
xor edi, edi
nop
jmp 0x51e7ce
cmp r11b, 0x2a
jne 0x51ef92
mov edi, 0xe
jmp 0x51efab
cmp r11b, 0x2b
jne 0x51efa0
mov edi, 0xf
jmp 0x51efab
cmp r11b, 0x3f
jne 0x51efab
mov edi, 0x10
mov byte [rsp + 0x56], dil
mov qword [rsp], r9
mov qword [rsp + 8], r8
lea r10, [rcx - 1]
mov r11, r10
neg r11
sar r11, 0x3f
and r11d, 1
lea r9, [rdx + r11]
mov ebx, edi
xor edi, edi
mov rsi, rdx
mov r8, rcx
mov rcx, rdi
nop dword [rax]
call fcn.0051ba60
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xb0], rdi
test rcx, rcx
jne 0x51f413
mov rcx, qword [rsp + 0xe0]
movzx edx, byte [rsp + 0x56]
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x80]
jmp 0x51e7ce
cmp r11b, 0x5e
jne 0x51f085
movzx r8d, word [rax]
test r8w, 0x10
je 0x51f03e
mov ebx, 9
call fcn.0051b960
jmp 0x51f048
mov ebx, 7
call fcn.0051b960
mov rbx, qword [rsp + 0x58]
dec rbx
mov r11, rbx
neg r11
sar r11, 0x3f
and r11d, 1
mov r12, qword [rsp + 0x80]
lea rax, [r12 + r11]
mov rcx, qword [rsp + 0xe0]
movzx edx, byte [rsp + 0x56]
xor esi, esi
xor edi, edi
nop dword [rax + rax]
jmp 0x51e7ce
cmp r11b, 0x7b
je 0x51f134
cmp r11b, 0x7c
jne 0x51f0d1
call fcn.00520240
mov rbx, qword [rsp + 0x58]
dec rbx
mov rcx, rbx
neg rcx
sar rcx, 0x3f
and ecx, 1
mov rdx, qword [rsp + 0x80]
lea rax, [rdx + rcx]
mov rcx, qword [rsp + 0xe0]
movzx edx, byte [rsp + 0x56]
xor esi, esi
xor edi, edi
jmp 0x51e7ce
mov rax, rdx
mov rbx, rcx
call fcn.005230a0
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xb0], rsi
test rdi, rdi
jne 0x51f44c
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x80], rbx
mov ebx, eax
mov rax, qword [rsp + 0xe0]
call fcn.0051b780
mov rcx, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x80]
movzx edx, byte [rsp + 0x56]
xor esi, esi
xor edi, edi
jmp 0x51e7ce
mov qword [rsp + 0x68], r8
mov qword [rsp + 0xa0], r9
mov rbx, rdx
call fcn.0051f9a0
test sil, sil
jne 0x51f1a5
mov rax, qword [rsp + 0xe0]
mov ebx, 0x7b
nop dword [rax + rax]
call fcn.0051b780
mov rcx, qword [rsp + 0x58]
dec rcx
mov rdx, rcx
neg rdx
sar rdx, 0x3f
and edx, 1
mov rsi, qword [rsp + 0x80]
lea rbx, [rsi + rdx]
mov rax, rbx
mov edx, 0x11
xor esi, esi
xor edi, edi
mov rbx, rcx
mov rcx, qword [rsp + 0xe0]
nop dword [rax]
jmp 0x51e7ce
cmp rax, 0x3e8
ja 0x51f4c1
cmp rbx, 0x3e8
jg 0x51f4c1
nop
test rbx, rbx
jl 0x51f1ce
cmp rbx, rax
jl 0x51f4c1
mov rdx, qword [rsp + 0xa0]
mov qword [rsp], rdx
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 8], rdx
mov rsi, qword [rsp + 0x80]
mov r8, qword [rsp + 0x58]
mov r9, rcx
mov r10, rdi
mov rcx, rax
mov rdi, rbx
mov rax, qword [rsp + 0xe0]
mov ebx, 0x11
call fcn.0051ba60
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xb0], rdi
nop
test rcx, rcx
jne 0x51f485
mov rcx, qword [rsp + 0xe0]
mov edx, 0x11
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x80]
jmp 0x51e7ce
mov qword [rsp + 0x78], 0
mov byte [rsp + 0x57], 0
mov rdx, qword [rsp + 0xe8]
mov rax, qword [rdx]
call rax
mov rbx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xb0]
add rsp, 0xf0
pop rbp
ret
mov qword [rsp + 0x78], 0
mov byte [rsp + 0x57], 0
mov rdx, qword [rsp + 0xe8]
mov rax, qword [rdx]
call rax
mov rbx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xb0]
add rsp, 0xf0
pop rbp
ret
lea rax, [0x00557100]
call fcn.0040d460
mov qword [rax + 8], 0x17
lea rcx, [0x0057694a]
mov qword [rax], rcx
mov qword [rax + 0x18], 2
cmp dword [0x0079ddc0], 0
jne 0x51f2f3
mov rcx, qword [rsp + 0x80]
jmp 0x51f303
call fcn.0046e7c0
mov rcx, qword [rsp + 0x80]
mov qword [r11], rcx
mov qword [rax + 0x10], rcx
mov qword [rsp + 0x78], 0
lea rcx, [0x0066c1a0]
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xb0], rax
mov byte [rsp + 0x57], 0
mov rdx, qword [rsp + 0xe8]
mov rax, qword [rdx]
call rax
mov rbx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xb0]
add rsp, 0xf0
pop rbp
ret
mov qword [rsp + 0x78], 0
mov qword [rsp + 0xa8], r8
mov qword [rsp + 0xb0], r9
mov byte [rsp + 0x57], 0
mov rdx, qword [rsp + 0xe8]
mov rax, qword [rdx]
call rax
mov rbx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xb0]
add rsp, 0xf0
pop rbp
nop
ret
mov qword [rsp + 0x78], 0
mov byte [rsp + 0x57], 0
mov rdx, qword [rsp + 0xe8]
mov rax, qword [rdx]
call rax
mov rbx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xb0]
add rsp, 0xf0
pop rbp
ret
mov qword [rsp + 0x78], 0
mov byte [rsp + 0x57], 0
mov rdx, qword [rsp + 0xe8]
mov rax, qword [rdx]
call rax
mov rbx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xb0]
add rsp, 0xf0
pop rbp
ret
mov qword [rsp + 0x78], 0
mov byte [rsp + 0x57], 0
mov rdx, qword [rsp + 0xe8]
mov rax, qword [rdx]
call rax
mov rbx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xb0]
add rsp, 0xf0
pop rbp
ret
mov qword [rsp + 0x78], 0
mov byte [rsp + 0x57], 0
mov rdx, qword [rsp + 0xe8]
mov rax, qword [rdx]
call rax
mov rbx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xb0]
add rsp, 0xf0
pop rbp
ret
mov qword [rsp + 0x78], 0
mov byte [rsp + 0x57], 0
mov rdx, qword [rsp + 0xe8]
mov rax, qword [rdx]
nop
call rax
mov rbx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xb0]
add rsp, 0xf0
pop rbp
nop
ret
mov rcx, qword [rsp + 0x58]
mov rdx, rcx
sub rcx, rdi
cmp rdx, rcx
jb 0x51f6c0
mov qword [rsp + 0x70], rcx
lea rax, [0x00557100]
call fcn.0040d460
mov qword [rax + 8], 0x14
lea rcx, [0x00575752]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x70]
mov qword [rax + 0x18], rcx
cmp dword [0x0079ddc0], 0
jne 0x51f514
mov rcx, qword [rsp + 0x80]
jmp 0x51f524
call fcn.0046e7c0
mov rcx, qword [rsp + 0x80]
mov qword [r11], rcx
mov qword [rax + 0x10], rcx
mov qword [rsp + 0x78], 0
lea rcx, [0x0066c1a0]
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xb0], rax
mov byte [rsp + 0x57], 0
mov rdx, qword [rsp + 0xe8]
mov rax, qword [rdx]
call rax
mov rbx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xb0]
add rsp, 0xf0
pop rbp
ret
call fcn.0051c0c0
mov rax, qword [rsp + 0xe0]
call fcn.005205a0
test al, al
je 0x51f5b0
mov rax, qword [rsp + 0xe0]
mov rdx, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
dec rcx
cmp rdx, rcx
jb 0x51f6b6
mov qword [rax + 0x10], rcx
jmp 0x51f5b8
mov rax, qword [rsp + 0xe0]
call fcn.0051c240
mov rcx, qword [rsp + 0xe0]
cmp qword [rcx + 0x10], 1
je 0x51f671
lea rax, [0x00557100]
call fcn.0040d460
mov qword [rax + 8], 0x11
lea rcx, [0x005745e7]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x108]
mov qword [rax + 0x18], rcx
cmp dword [0x0079ddc0], 0
jne 0x51f60d
mov rcx, qword [rsp + 0x100]
jmp 0x51f61d
call fcn.0046e7c0
mov rcx, qword [rsp + 0x100]
mov qword [r11], rcx
mov qword [rax + 0x10], rcx
mov qword [rsp + 0x78], 0
lea rcx, [0x0066c1a0]
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xb0], rax
mov byte [rsp + 0x57], 0
mov rdx, qword [rsp + 0xe8]
mov rax, qword [rdx]
call rax
mov rbx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xb0]
add rsp, 0xf0
pop rbp
ret
mov rax, qword [rcx + 8]
mov rax, qword [rax]
mov qword [rsp + 0x78], rax
movups xmmword [rsp + 0xa8], xmm15
mov byte [rsp + 0x57], 0
mov rdx, qword [rsp + 0xe8]
mov rax, qword [rdx]
call rax
mov rbx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xb0]
add rsp, 0xf0
pop rbp
ret
call fcn.0046ec00
nop dword [rax + rax]
call fcn.0046ebc0
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x98], rbx
mov ebx, eax
mov rax, qword [rsp + 0xe0]
nop dword [rax]
call fcn.0051b780
mov rcx, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x98]
nop
test rbx, rbx
je 0x51f758
call fcn.005230a0
test rdi, rdi
je 0x51f6c5
mov qword [rsp + 0x78], 0
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xb0], rsi
mov byte [rsp + 0x57], 0
mov rdx, qword [rsp + 0xe8]
mov rax, qword [rdx]
call rax
mov rbx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xb0]
add rsp, 0xf0
pop rbp
ret
mov rcx, qword [rsp + 0xe0]
mov rbx, rdi
mov rax, qword [rsp + 0x80]
movzx edx, byte [rsp + 0x56]
xor esi, esi
xor edi, edi
jmp 0x51e7ce
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov word [rsp + 0x18], cx
call fcn.0046c8a0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
movzx ecx, word [rsp + 0x18]
nop
jmp fcn.0051e540