Function at 0x180131730
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x138]
sub rsp, 0x238
mov eax, ecx
mov dword [rbp - 0x78], ecx
mov esi, ecx
mov rdi, r8
add ecx, 0x5bd
mov r14, rdx
mov dword [rsp + 0x54], ecx
cmp eax, ecx
jae 0x18013248c
mov edx, dword [rbp + 0x180]
mov ebx, dword [rbp + 0x180]
mov r12, qword [rbp - 0x30]
mov r13d, dword [rsp + 0x70]
mov rsi, qword [rbp - 0x60]
mov r14d, dword [rsp + 0x68]
mov r15, qword [rbp - 0x50]
mov dword [rsp + 0x50], edx
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x58], rdx
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x60], rdx
mov qword [rbp], rbx
nop dword [rax + rax]
mov rdi, qword [rbp - 0x10]
mov edx, r13d
mov r9, r15
mov r10d, r14d
mov r11, rsi
cmp eax, 0x140
ja 0x180132294
je 0x180131f8e
add eax, 0xffffff8a
cmp eax, 0x76
ja case.default.0x18013180d
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax + 0x133020]
mov ecx, dword [rcx + rax*4 + 0x133004]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
xor edx, edx
mov dword [rsp + 0x50], edx
jmp case.0x18013180d.119
mov r9, qword [rbp + 0x1a8]
xor edx, edx
xor ecx, ecx
mov r8d, 0x10e
call fcn.1800239b0
mov r8, rax
test rax, rax
je 0x180132480
mov edx, 0x114
mov ecx, edx
sub ecx, 0x114
je 0x180131856
cmp ecx, 0x5f
je 0x180132fe9
jmp 0x18013185c
mov eax, dword [r8]
mov dword [rbp - 0x68], eax
add edx, 0x5f
cmp edx, 0x1d2
jb 0x180131841
jmp case.0x18013180d.119
cmp qword [0x1801d5cd0], 0
je case.0x18013180d.119
lea rdi, [0x1801d5c30]
mov r9d, 0x2f
mov rcx, rdi
xor r8d, r8d
xor edx, edx
call fcn.1800aa6a0
test al, al
je case.0x18013180d.119
mov rbx, qword [rbp + 0x10]
mov r14d, 0x84
mov r15d, dword [rbp - 0x70]
nop word [rax + rax]
mov eax, r14d
sub eax, 0x84
je 0x180131ac3
sub eax, 0x20
je 0x180131a81
sub eax, 0x20
je 0x1801319ef
cmp eax, 0x20
jne 0x180131ace
mov r9, qword [0x1801d4e98]
lea rax, [rbp + 0x60]
mov dword [rsp + 0x40], 0x6e
lea r8, [rsp + 0x70]
mov qword [rsp + 0x38], rax
lea rcx, [rbp - 0x20]
lea rax, [rbp - 0x40]
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
xor edx, edx
lea rax, [rbp + 0x80]
mov dword [rbp - 0x20], 1
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x70], 1
call fcn.180113e50
test eax, eax
jne 0x1801319df
mov esi, 0x41
nop dword [rax + rax]
mov eax, esi
sub eax, 0x40
je 0x1801319b4
cmp eax, 1
jne 0x1801319c8
xor r8d, r8d
lea rcx, [rbp + 0x80]
mov edx, 0xa4
call fcn.1800394a0
cmp qword [0x1801d5cd0], 0
je 0x1801319c8
mov edi, 0xa1
nop
cmp edi, 0xa1
je 0x18013198d
cmp edi, 0x4e9d
jne 0x1801319a4
mov qword [0x1801d5cd0], 0
jmp 0x1801319a4
mov rcx, qword [0x1801d5cd0]
mov r9d, 0x56
xor r8d, r8d
xor edx, edx
call fcn.18000e290
add edi, 0x4dfc
cmp edi, 0x9bf8
jbe 0x180131970
jmp 0x1801319c8
mov rcx, qword [rbp + 0x30]
mov r9d, 0x56
xor r8d, r8d
xor edx, edx
call fcn.18000e290
dec esi
cmp esi, 0x3f
ja 0x180131940
lea rdi, [0x1801d5c30]
jmp 0x180131ace
mov rax, qword [rbp + 0x30]
mov qword [0x1801d5cd0], rax
jmp 0x180131ace
mov r8d, 0x8a
mov eax, r8d
sub eax, 0x87
je 0x180131a27
sub eax, 1
je 0x180131a1a
sub eax, 1
je 0x180131a14
cmp eax, 1
jne 0x180131a6b
lea rbx, [rbp - 0x40]
jmp 0x180131a6b
mov qword [rbp + 0x50], rdi
jmp 0x180131a6b
mov rax, qword [rbp + 0x50]
mov rcx, qword [rax]
mov qword [rbp + 0x70], rcx
jmp 0x180131a6b
mov r9, qword [rbp + 0x50]
mov ecx, 0xc9
mov edx, dword [r9 + 8]
mov eax, ecx
sub eax, 0xc7
je 0x180131a56
sub eax, 1
je 0x180131a4d
cmp eax, 1
jne 0x180131a5d
mov r15d, dword [r9 + 4]
jmp 0x180131a5d
mov rax, qword [rbp + 0x70]
mov qword [rbx], rax
jmp 0x180131a5d
mov dword [rbx + 4], r15d
mov dword [rbx + 8], edx
dec ecx
cmp ecx, 0xc6
ja 0x180131a34
mov dword [rbp - 0x70], r15d
dec r8d
cmp r8d, 0x86
ja 0x1801319f5
mov qword [rbp + 0x10], rbx
jmp 0x180131ace
mov qword [0x1801d5cd0], 0
mov ecx, 0x7b
mov eax, ecx
sub eax, 0x7a
je 0x180131aaf
cmp eax, 1
jne 0x180131aba
lea rax, [rbp + 0x60]
mov qword [rbp + 0x18], rax
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x60], rax
jmp 0x180131aba
mov rax, qword [rbp + 0x18]
mov dword [rax + 8], 0xc08
dec ecx
cmp ecx, 0x79
ja 0x180131a91
jmp 0x180131ace
mov rax, qword [0x1801d5cd0]
mov qword [rbp + 0x30], rax
add r14d, 0x20
cmp r14d, 0x104
jb 0x1801318b0
mov rbx, qword [rbp]
mov r15, qword [rbp - 0x50]
mov r14d, dword [rsp + 0x68]
mov rsi, qword [rbp - 0x60]
mov ecx, dword [rsp + 0x54]
mov r10, qword [rsp + 0x58]
mov r8, qword [rsp + 0x60]
mov eax, dword [rbp - 0x78]
add eax, 0x71
mov dword [rbp - 0x78], eax
cmp eax, ecx
jb 0x1801317c0
mov esi, dword [rbp + 0x180]
mov r14, qword [rbp + 0x188]
mov rdi, qword [rbp + 0x190]
mov ecx, dword [rsp + 0x50]
mov r9, qword [rbp + 0x198]
lea r11d, [rsi + 0x8e8]
mov dword [rbp - 0x78], r11d
cmp esi, r11d
jae 0x180132fe9
mov r12d, dword [rbp + 0x180]
mov r15d, dword [rbp + 0x180]
mov ebx, dword [rbp + 0x180]
mov rdx, qword [rbp + 0x1a8]
movaps xmmword [rsp + 0x220], xmm6
movdqa xmm6, xmmword [rbp - 0x40]
movaps xmmword [rsp + 0x210], xmm7
movdqa xmm7, xmmword [rbp - 0x40]
movaps xmmword [rsp + 0x200], xmm8
movdqa xmm8, xmmword [rbp - 0x40]
movaps xmmword [rsp + 0x1f0], xmm9
movdqa xmm9, xmmword [rbp - 0x40]
movaps xmmword [rsp + 0x1e0], xmm10
movdqa xmm10, xmmword [rbp - 0x40]
movaps xmmword [rsp + 0x1d0], xmm11
movdqa xmm11, xmmword [rbp - 0x40]
movaps xmmword [rsp + 0x1c0], xmm12
movdqa xmm12, xmmword [rbp - 0x40]
movaps xmmword [rsp + 0x1b0], xmm13
movdqa xmm13, xmmword [rbp - 0x40]
movaps xmmword [rsp + 0x1a0], xmm14
movdqa xmm14, xmmword [rbp - 0x40]
movaps xmmword [rsp + 0x190], xmm15
movdqa xmm15, xmmword [rbp - 0x40]
movsxd r13, ecx
cmp esi, 0x2ff
ja 0x180132e35
je 0x180132e1f
cmp esi, 0x1aa
ja 0x180132df9
je 0x180132de3
mov eax, esi
sub eax, 0xc5
je 0x180132d7d
sub eax, 0x27
je 0x180132689
cmp eax, 0x97
jne 0x180132f5d
movzx eax, byte [r14]
lea r15d, [rax + rax*2]
movzx eax, byte [rdi]
add r15d, eax
mov eax, dword [r9]
dec eax
and eax, 0xfffffff8
cmp ecx, eax
jge 0x180132f5d
mov r11, qword [rbp + 0x1a8]
lea r9, [r13 + 7]
add r9, rdi
mov r10, r14
sub r10, rdi
nop dword [rax]
mov edx, 0x10
lea r8d, [rdx + 1]
nop dword [rax]
cmp edx, 0x10
ja case.default.0x180131ca3
mov eax, edx
lea rcx, [0x180000000]
mov ecx, dword [rcx + rax*4 + 0x133098]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov rax, qword [rbp + 0x1a8]
mov rcx, qword [rbp + 0x188]
mov qword [rax + 0x20], rcx
mov rax, qword [rax + 0x10]
cmp dword [rax + 0x20], 0
je case.0x18013180d.119
mov rax, qword [rcx + 0x10]
mov ecx, dword [rcx + 0x18]
shl rcx, 5
add rcx, rax
mov qword [rbp - 0x20], rax
mov qword [rsp + 0x78], rcx
mov qword [rbp - 0x10], rdi
mov qword [rbp - 0x60], rsi
mov dword [rsp + 0x68], r14d
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x30], r12
cmp rax, rcx
je case.0x18013180d.119
mov rbx, qword [rbp - 0x20]
mov rax, r12
mov qword [rbp - 0x30], rax
mov r13, rdi
mov qword [rbp - 0x10], rdi
mov ecx, edx
mov qword [rbp - 0x60], rsi
mov dword [rsp + 0x68], r14d
mov qword [rbp - 0x50], r15
mov dword [rsp + 0x70], edx
jmp 0x180131d3a
mov rax, qword [rbp - 0x30]
mov ecx, dword [rsp + 0x70]
mov r11, qword [rbp - 0x60]
mov r10d, dword [rsp + 0x68]
mov r9, qword [rbp - 0x50]
mov r13, qword [rbp - 0x10]
mov edi, ecx
mov r14, r9
mov r9d, 0x2f
mov rcx, rbx
xor r8d, r8d
xor edx, edx
mov rsi, rax
mov r15d, r10d
mov r12, r11
call fcn.1800aa6a0
test al, al
je 0x180131efd
mov rax, qword [rbp + 0x1a8]
lea r8, [rbp - 0x20]
mov rdx, qword [rbx + 0x18]
mov r9d, 0x8e
mov dword [rbp - 0x20], 1
mov rcx, qword [rax + 0x10]
call fcn.180075450
mov qword [rbp - 0x10], r13
mov r8, rax
mov qword [rbp - 0x60], r12
mov dword [rsp + 0x68], r15d
mov qword [rbp - 0x50], r14
mov qword [rbp - 0x30], rsi
mov dword [rsp + 0x70], edi
cmp rax, 0xffffffffffffffff
je 0x180131efd
mov qword [rbp - 0x10], r13
mov qword [rbp - 0x60], r12
mov dword [rsp + 0x68], r15d
mov qword [rbp - 0x50], r14
mov qword [rbp - 0x30], rsi
mov dword [rsp + 0x70], edi
test rax, rax
je 0x180131efd
test byte [rax + 4], 1
mov qword [rbp - 0x10], r13
mov qword [rbp - 0x60], r12
mov dword [rsp + 0x68], r15d
mov qword [rbp - 0x50], r14
mov qword [rbp - 0x30], rsi
mov dword [rsp + 0x70], edi
jne 0x180131efd
mov edx, 0xd5
mov qword [rbp - 0x60], r12
mov r11, r12
mov dword [rsp + 0x68], r15d
mov qword [rbp - 0x50], r14
mov r9, rsi
mov qword [rbp - 0x30], rsi
mov r10d, edi
mov dword [rsp + 0x70], edi
mov eax, edx
sub eax, 0xd4
je 0x180131e37
cmp eax, 1
jne 0x180131eeb
mov r13d, dword [r8]
add r13, qword [rbp + 0x1a8]
jmp 0x180131eeb
mov ecx, 0x4f
nop dword [rax]
cmp ecx, 0x4f
je 0x180131ea8
cmp ecx, 0x35b2
je 0x180131ea3
cmp ecx, 0x6b15
je 0x180131e9d
cmp ecx, 0xa078
jne 0x180131eae
mov eax, 0x8e
cmp eax, 0x8e
je 0x180131e86
cmp eax, 0x63d8
je 0x180131e81
cmp eax, 0xc722
jne 0x180131e8a
mov dword [r9 + 4], r10d
mov dword [r9 + 8], r15d
jmp 0x180131e8a
mov qword [r9], r14
jmp 0x180131e8a
mov r10d, dword [r11 + 4]
add eax, 0x634a
cmp eax, 0x129de
jbe 0x180131e62
mov dword [rsp + 0x70], r10d
jmp 0x180131eae
mov r15d, dword [r11 + 8]
jmp 0x180131eae
mov r14, qword [r11]
jmp 0x180131eae
mov r9, r13
mov r11, rbx
add ecx, 0x3563
cmp ecx, 0xd58c
jbe 0x180131e40
mov qword [rbp - 0x50], r14
mov eax, 0x79
mov dword [rsp + 0x68], r15d
mov qword [rbp - 0x60], r11
mov qword [rbp - 0x30], r9
cmp eax, 0x79
jne 0x180131ee1
mov qword [rbx], r13
mov dword [rbx + 8], 0xf
add eax, 0x6e
cmp eax, 0xe7
jb 0x180131ed2
dec edx
cmp edx, 0xd3
ja 0x180131e16
mov qword [rbp - 0x10], r13
add rbx, 0x20
cmp rbx, qword [rsp + 0x78]
jne 0x180131d21
mov rbx, qword [rbp]
mov r12, qword [rbp - 0x30]
mov r13d, dword [rsp + 0x70]
jmp 0x180131ae3
mov rax, qword [rbp + 0x1a8]
mov rax, qword [rax]
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x40], rax
jmp case.0x18013180d.119
mov rdi, qword [rbp + 0x1a8]
test byte [rdi], 1
je 0x180131f6d
mov eax, 0xcb
cmp eax, 0xcb
je 0x180131f5a
cmp eax, 0x15f
je 0x180132fe9
jmp 0x180131f61
mov dword [rbp - 0x68], 0
add eax, 0x94
cmp eax, 0x1f3
jb 0x180131f46
test byte [0x1801d4f40], 1
je case.0x18013180d.119
xor r8d, r8d
mov rdx, rdi
lea ecx, [r8 + 0x22]
call fcn.18008d5a0
jmp case.0x18013180d.119
mov rdi, qword [rbp + 0x40]
lea r9, [rbp - 0x80]
mov r8, qword [0x1801d60a8]
mov rdx, rdi
mov ecx, 9
mov byte [rbp - 0x80], 1
call fcn.180065bf0
test al, al
je 0x180132246
mov r12, qword [rbp + 0x1a8]
mov r15d, 0x46
mov eax, r15d
sub eax, 0x45
je 0x18013208b
cmp eax, 1
jne 0x18013222c
mov rsi, qword [rbp + 0x188]
lea r9d, [rax + 0x2e]
mov rcx, rsi
xor r8d, r8d
xor edx, edx
call fcn.1800aa6a0
cmp al, 0xa
jne 0x180132002
mov rsi, qword [rsi]
add rsi, 8
mov qword [rbp + 0x188], rsi
test byte [rsi + 9], 4
je 0x180132030
xor eax, eax
mov r9, rsi
mov qword [rsp + 0x28], rax
xor r8d, r8d
mov edx, 0xb5
mov qword [rsp + 0x20], rax
xor ecx, ecx
call fcn.180050770
nop word [rax + rax]
lea rax, [rbp + 0x20]
mov dword [rbp - 0x20], 1
mov qword [rsp + 0x48], rax
lea r8, [rsp + 0x78]
lea rax, str.THAI_15_18
mov qword [rsp + 0x78], 0xc
mov qword [rsp + 0x40], rax
mov r9d, 0x11
mov qword [rsp + 0x38], rsi
lea rax, [rbp - 0x20]
mov qword [rsp + 0x30], 0
xor edx, edx
mov qword [rsp + 0x28], rax
mov rcx, r12
mov qword [rsp + 0x20], rdi
call fcn.1800c6a50
jmp 0x18013222c
mov r9d, 0x2f
lea rcx, [rbp + 0x20]
xor r8d, r8d
xor edx, edx
call fcn.1800aa6a0
test al, al
je 0x180132216
mov r14d, 0x5e
nop dword [rax]
cmp r14d, 0x5e
je 0x1801321ea
cmp r14d, 0x79
jne 0x1801321ff
xor r8d, r8d
lea edx, [r14 + 0x2b]
lea rcx, [rbp + 0x20]
call fcn.1800394a0
mov rax, qword [rbp + 0x190]
cmp dword [rax], 0
je 0x1801321ff
test ebx, ebx
je 0x1801321ff
cmp qword [0x1801d5cd0], 0
jne 0x1801321ff
mov esi, 0x115
nop
mov eax, esi
sub eax, 0x115
je 0x18013217c
cmp eax, 0x3c
jne 0x1801321d9
lea r9d, [rax - 0xd]
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x20]
call fcn.1800aa6a0
test al, al
je 0x1801321d9
mov edi, 0x123
mov eax, edi
sub eax, 0x123
je 0x180132152
cmp eax, 1
jne 0x180132168
xor r8d, r8d
lea rcx, [rbp + 0x20]
mov edx, 0xa4
call fcn.1800394a0
jmp 0x180132168
xor r9d, r9d
lea rcx, [rbp + 0x20]
xor r8d, r8d
lea edx, [r9 + 0x43]
call fcn.1800c0a30
mov rbx, rax
inc edi
cmp edi, 0x125
jb 0x180132131
mov rdi, qword [rbp + 0x40]
mov qword [rbp], rbx
jmp 0x1801321d9
lea rax, [rbp + 0x20]
mov dword [rbp - 0x20], 1
mov qword [rsp + 0x48], rax
lea r8, [rsp + 0x78]
lea rax, str.offsetget
mov qword [rsp + 0x78], 9
mov qword [rsp + 0x40], rax
mov r9d, 0x11
mov rax, qword [rbp + 0x188]
xor edx, edx
mov qword [rsp + 0x38], rax
mov rcx, r12
lea rax, [rbp - 0x20]
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
call fcn.1800c6a50
add esi, 0x3c
cmp esi, 0x18d
jb 0x180132100
jmp 0x1801321ff
xor r9d, r9d
lea rcx, [rbp + 0x20]
xor r8d, r8d
lea edx, [r9 + 0x43]
call fcn.1800c0a30
mov ebx, eax
add r14d, 0x1b
cmp r14d, 0x94
jb 0x1801320b0
mov qword [rbp], rbx
jmp 0x180132218
xor ebx, ebx
mov rcx, qword [rbp + 0x188]
xor r8d, r8d
mov edx, 0xa4
call fcn.1800394a0
dec r15d
cmp r15d, 0x44
ja 0x180131fc3
mov r12, qword [rbp - 0x30]
mov qword [rbp], rbx
jmp 0x180131ae3
mov edi, 0x88
nop dword [rax + rax]
mov eax, edi
sub eax, 0x88
je 0x180132264
cmp eax, 1
je 0x180132fe9
jmp 0x180132285
mov rax, qword [rbp + 0x40]
lea rdx, str.System_Allocations__number_:_Current_
xor ecx, ecx
mov r8, qword [rax + 8]
add r8, 0x18
call fcn.18013db30
mov dword [rbp - 0x68], 0
inc edi
cmp edi, 0x8a
jb 0x180132250
jmp case.0x18013180d.119
cmp eax, 0x222
ja 0x1801323e2
je 0x180132fe9
sub eax, 0x15d
je 0x18013234b
sub eax, 0x54
je 0x180132343
cmp eax, 0x1d
jne case.default.0x18013180d
mov rax, qword [rbp + 0x1a8]
mov eax, dword [rax + 0x3c]
cmp dword [0x1801d4f80], eax
je case.default.0x18013180d
mov rsi, qword [rbp + 0x1a8]
mov edi, 0xda
cmp edi, 0xda
je 0x1801322ff
cmp edi, 0x46ae
jne 0x180132330
mov eax, dword [rsi + 0x3c]
mov dword [0x1801d4f80], eax
jmp 0x180132330
mov eax, dword [rsi + 0x3c]
lea r9, [rsp + 0x78]
xor r8d, r8d
xor edx, edx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x40]
shl rcx, 4
mov qword [rsp + 0x78], rcx
mov ecx, 0xc6
mov qword [rsp + 0x20], rax
call fcn.18000d550
mov qword [rsi + 0x40], rax
add edi, 0x45d4
cmp edi, 0x8ba8
jbe 0x1801322e4
jmp 0x180131aec
mov dword [rbp - 0x68], ebx
jmp case.default.0x18013180d
test byte [0x1801d4f40], 2
mov rdi, qword [rbp + 0x1a8]
je 0x18013239a
test byte [0x1801d4dd0], 4
je 0x18013239a
lea rax, [0x1800edd20]
mov dword [rsp + 0x28], 0xba
mov qword [rsp + 0x78], rax
lea r8, [rsp + 0x78]
lea rax, [0x1801d4d98]
xor r9d, r9d
xor edx, edx
mov qword [rsp + 0x20], rax
mov rcx, rdi
call fcn.18007d590
mov ecx, dword [rsp + 0x54]
movsxd rax, dword [rdi + 0x48]
cmp dword [0x1801d4f84], eax
je case.default.0x18013180d
shl rax, 3
lea r9, [rsp + 0x78]
mov qword [rsp + 0x78], rax
xor r8d, r8d
mov rax, qword [rdi + 0x50]
xor edx, edx
mov ecx, 0xc6
mov qword [rsp + 0x20], rax
call fcn.18000d550
mov qword [rdi + 0x50], rax
mov eax, dword [rdi + 0x48]
mov dword [0x1801d4f84], eax
jmp case.0x18013180d.119
sub eax, 0x23f
je 0x180132416
mov r10, qword [rsp + 0x58]
cmp eax, 0x71
jne 0x180131af9
mov rax, qword [rbp + 0x1a8]
mov eax, dword [rax + 0x3c]
lea r8, [rax + rax*2]
shl r8, 4
add r8, r10
mov qword [rsp + 0x60], r8
jmp 0x180131afe
mov rdi, qword [rbp + 0x1a8]
mov eax, dword [rdi + 0x94]
cmp dword [0x1801d4f88], eax
je 0x18013246d
cdqe
lea r9, [rsp + 0x78]
shl rax, 4
xor r8d, r8d
mov qword [rsp + 0x78], rax
xor edx, edx
mov rax, qword [rdi + 0x98]
mov ecx, 0xc6
mov qword [rsp + 0x20], rax
call fcn.18000d550
mov ecx, dword [rsp + 0x54]
mov qword [rdi + 0x98], rax
mov eax, dword [rdi + 0x94]
mov dword [0x1801d4f88], eax
mov r10, qword [rdi + 0x40]
mov qword [rsp + 0x58], r10
jmp 0x180131af9
mov dword [rbp - 0x68], 0xffffffff
jmp 0x180132fe9
mov r10, qword [rsp + 0x78]
mov r8, qword [rsp + 0x78]
mov ecx, dword [rbp + 0x180]
mov qword [rsp + 0x58], r10
mov qword [rsp + 0x60], r8
mov dword [rsp + 0x50], ecx
jmp 0x180131b2e
movsxd rcx, dword [rsp + 0x50]
movq xmm0, qword [rcx + rdi]
movdqa xmmword [rbp - 0x40], xmm0
movq xmm0, qword [rcx + r14]
movdqa xmmword [rbp + 0x60], xmm0
jmp case.default.0x180131ca3
movdqa xmm7, xmmword [rbp + 0x40]
paddw xmm7, xmm10
jmp 0x180132644
movdqa xmm11, xmmword [rbp + 0x80]
psubw xmm11, xmm8
jmp 0x180132644
movdqa xmm0, xmmword [rbp - 0x40]
punpcklbw xmm0, xmmword [rbp + 0x70]
movdqa xmm8, xmmword [rbp + 0x60]
punpcklbw xmm8, xmmword [rbp + 0x70]
movdqa xmmword [rbp + 0x80], xmm0
jmp 0x180132644
movdqa xmm0, xmm12
psrlw xmm0, 4
movdqa xmmword [rbp - 0x10], xmm0
movdqa xmm0, xmm13
psrlw xmm0, 4
movdqa xmmword [rbp - 0x30], xmm0
jmp 0x180132644
movzx eax, byte [r10 + r9]
lea r15d, [rax + rax*2]
movzx eax, byte [r9]
add r15d, eax
jmp 0x180132644
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x70], xmm0
jmp 0x180132644
movdqa xmm13, xmm9
punpckhwd xmm13, xmm7
jmp 0x180132644
movdqa xmm9, xmmword [rbp + 0x50]
movdqa xmm10, xmm14
paddw xmm10, xmmword [rbp]
paddw xmm9, xmm10
jmp 0x180132644
movdqa xmm0, xmmword [rbp - 0x20]
psubw xmm0, xmm6
movdqa xmmword [rbp + 0x50], xmm0
movdqa xmm0, xmmword [rbp + 0x30]
psubw xmm0, xmm6
movdqa xmmword [rbp + 0x40], xmm0
jmp 0x180132644
movdqa xmm15, xmm8
psllw xmm15, 2
jmp 0x180132644
movzx eax, byte [r9 + r10 + 1]
movdqa xmm0, xmmword [rbp - 0x50]
movdqa xmm1, xmmword [0x180174750]
movdqa xmmword [rbp], xmm1
lea ecx, [rax + rax*2]
movzx eax, byte [r9 + 1]
add ecx, eax
pinsrw xmm0, ecx, 7
movdqa xmmword [rbp + 0x30], xmm0
jmp 0x180132644
movdqa xmm6, xmm15
paddw xmm6, xmm11
movdqa xmm0, xmm6
pslldq xmm0, 2
movdqa xmmword [rbp - 0x60], xmm0
jmp 0x180132644
movdqa xmm0, xmmword [rbp - 0x10]
packuswb xmm0, xmmword [rbp - 0x30]
movdqu xmmword [r11 + r13*2], xmm0
jmp 0x180132644
movdqa xmm0, xmm6
psrldq xmm0, 2
movdqa xmmword [rbp - 0x50], xmm0
movdqa xmm0, xmmword [rbp - 0x60]
pinsrw xmm0, r15d, 0
movdqa xmmword [rbp - 0x20], xmm0
jmp 0x180132644
movdqa xmm12, xmm9
punpcklwd xmm12, xmm7
jmp 0x180132644
movdqa xmm14, xmm6
psllw xmm14, 2
mov ecx, dword [rsp + 0x50]
dec edx
sub r8, 1
jne 0x180131c80
mov rax, qword [rbp + 0x198]
add ecx, 8
add r13, 8
mov dword [rsp + 0x50], ecx
add r9, 8
mov eax, dword [rax]
dec eax
and eax, 0xfffffff8
cmp ecx, eax
jl 0x180131c70
mov r11d, dword [rbp - 0x78]
mov rdx, qword [rbp + 0x1a8]
jmp 0x180132f5d
cmp r10, r8
jae 0x180132d1b
mov r14d, 0x48
nop dword [rax + rax]
mov eax, r14d
sub eax, 0x44
je 0x180132cda
sub eax, 1
je 0x180132cb7
sub eax, 1
je 0x180132c31
sub eax, 1
je 0x180132800
cmp eax, 1
jne case.0x1801326fe.53
movzx eax, byte [r10 + 0x28]
add eax, 0xffffffd6
cmp eax, 0xd5
ja case.0x1801326fe.53
lea rdx, [0x180000000]
cdqe
movzx eax, byte [rdx + rax + 0x13310c]
mov ecx, dword [rdx + rax*4 + 0x1330dc]
add rcx, rdx
jmp rcx
mov edi, 0x32
mov eax, edi
sub eax, 0x30
je 0x180132800
sub eax, 1
je 0x180132736
cmp eax, 1
jne 0x180132799
mov ecx, dword [r10 + 8]
mov rax, qword [rbp + 0x1a8]
add rcx, rcx
mov rax, qword [rax + 0x68]
mov ecx, dword [rax + rcx*8 + 8]
mov dword [r10 + 8], ecx
jmp 0x180132799
mov rsi, qword [rbp + 0x1a8]
lea r9, [rbp + 0x180]
mov rcx, r10
mov qword [rsp + 0x20], rsi
movabs rax, 0x2aaaaaaaaaaaaaab
xor r8d, r8d
sub rcx, qword [rsi + 0x40]
imul rcx
xor ecx, ecx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rbp + 0x180], edx
mov edx, 0xd1
call fcn.1800a9b00
mov r10, qword [rsp + 0x58]
mov eax, dword [r10 + 8]
lea rcx, [rax + rax*2]
shl rcx, 4
add rcx, qword [rsi + 0x40]
mov qword [r10 + 8], rcx
dec edi
cmp edi, 0x2f
ja 0x180132705
nop dword [rax]
nop dword [rax + rax]
mov rdi, qword [rbp + 0x1a8]
lea r9, [rsp + 0x78]
mov rcx, r10
movabs rax, 0x2aaaaaaaaaaaaaab
mov r8, rdi
sub rcx, qword [rdi + 0x40]
imul rcx
xor ecx, ecx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xor eax, eax
mov dword [rsp + 0x78], edx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
lea edx, [rax + 0x28]
call fcn.1801247a0
mov r10, qword [rsp + 0x58]
mov esi, 0xec
mov r14d, 0x47
mov dword [rbp + 0x180], esi
jmp case.0x1801326fe.53
mov esi, 0xa1
nop dword [rax + rax]
cmp esi, 0xa1
je 0x180132835
cmp esi, 0x96f
je 0x180132800
jmp 0x18013293d
mov edi, 0x8d
nop word [rax + rax]
cmp edi, 0x8d
je 0x1801328fb
cmp edi, 0xf6c
je 0x1801328ab
cmp edi, 0x1e4b
je 0x1801328a1
cmp edi, 0x2d2a
je 0x180132890
cmp edi, 0x3c09
jne 0x18013292b
mov eax, dword [r10 + 8]
lea rcx, [rax + rax*2]
mov rax, qword [rbp + 0x1a8]
shl rcx, 4
add rcx, qword [rax + 0x40]
mov qword [r10 + 8], rcx
jmp 0x18013292b
mov dword [r10 + 8], ebx
mov dword [r10 + 0x10], 0
jmp 0x18013292b
mov byte [r10 + 0x28], 0x2a
jmp 0x18013292b
mov r11, qword [rbp + 0x1a8]
test dword [r11 + 4], 0x20000000
je 0x18013292b
mov rcx, r10
mov dword [rbp - 0x70], ebx
sub rcx, qword [r11 + 0x40]
lea r9, [rbp - 0x70]
movabs rax, 0x2aaaaaaaaaaaaaab
lea r8, [rbp + 0x18]
imul rcx
mov rcx, r11
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rbp + 0x18], edx
mov edx, 0xb8
call fcn.180111e80
jmp 0x180132926
mov rax, qword [rbp + 0x1a8]
xor r9d, r9d
mov qword [rsp + 0x28], rax
mov r8d, 0x9e
mov rdx, r10
mov qword [rsp + 0x20], 0
xor ecx, ecx
call fcn.180105ce0
mov rbx, rax
mov r10, qword [rsp + 0x58]
add edi, 0xedf
cmp edi, 0x4a5b
jbe 0x180132840
add esi, 0x8ce
cmp esi, 0x119c
jbe 0x180132820
mov esi, dword [rbp + 0x180]
mov edi, 0x57
nop word [rax + rax]
cmp edi, 0x57
je 0x1801329bf
cmp edi, 0xf8
jne 0x1801329d5
mov r11, qword [rbp + 0x1a8]
test dword [r11 + 4], 0x20000000
je 0x1801329d5
mov eax, dword [r10 + 8]
lea r9, [rbp - 0x70]
mov dword [rbp - 0x70], eax
lea r8, [rbp + 0x10]
mov rcx, r10
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [r11 + 0x40]
imul rcx
mov rcx, r11
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rbp + 0x10], edx
lea edx, [rdi - 0x40]
call fcn.180111e80
jmp 0x1801329d5
mov r9, qword [rbp + 0x1a8]
mov r8, r10
mov edx, 0x10f
xor ecx, ecx
call fcn.1801331f0
mov r10, qword [rsp + 0x58]
add edi, 0xa1
cmp edi, 0x199
jb 0x180132960
mov eax, 0x63
cmp eax, 0x63
je 0x180132a1f
add eax, 0x3498
cmp eax, 0x3498
jbe 0x1801329f1
mov eax, dword [r10 + 0x20]
mov rdi, qword [rbp + 0x1a8]
lea ecx, [rax + rax*2]
shl ecx, 4
add ecx, dword [rdi + 0x40]
sub ecx, r10d
mov dword [r10 + 0x20], ecx
jmp 0x180132a57
mov eax, dword [r10 + 8]
mov esi, 0xec
mov r14d, 0x47
mov dword [rbp + 0x180], esi
lea rcx, [rax + rax*2]
mov rax, qword [rbp + 0x1a8]
shl rcx, 4
add rcx, qword [rax + 0x40]
mov qword [r10 + 8], rcx
jmp case.0x1801326fe.53
mov rdi, qword [rbp + 0x1a8]
mov eax, 0x72
nop dword [rax]
cmp eax, 0x72
je 0x180132abd
add eax, 0x9c
cmp eax, 0x10e
jb 0x180132a60
mov edx, 0x11d
nop word [rax + rax]
mov eax, edx
sub eax, 0x11b
je 0x180132800
sub eax, 1
je 0x180132ae7
cmp eax, 1
jne 0x180132b02
mov eax, dword [r10 + 0x10]
dec eax
lea rcx, [rax + rax*2]
mov rax, qword [rbp + 0x1a8]
add rcx, rcx
mov rax, qword [rax + 0x40]
test byte [rax + rcx*8 + 0x2b], 0x20
je 0x180132b02
or byte [r10 + 0x2b], 0x20
jmp 0x180132b02
mov eax, dword [r10 + 0x10]
mov esi, 0xec
mov r14d, 0x47
mov dword [rbp + 0x180], esi
lea rcx, [rax + rax*2]
shl rcx, 4
add rcx, qword [rdi + 0x40]
mov qword [r10 + 0x10], rcx
jmp case.0x1801326fe.53
mov eax, dword [r10 + 0x10]
lea rcx, [rax + rax*2]
mov rax, qword [rbp + 0x1a8]
shl rcx, 4
add rcx, qword [rax + 0x40]
mov qword [r10 + 0x10], rcx
dec edx
cmp edx, 0x11a
ja 0x180132a80
mov edx, 0xf3
mov eax, edx
sub eax, 0xf3
je 0x180132b29
cmp eax, 1
je 0x180132800
jmp 0x180132b44
mov eax, dword [r10 + 0x20]
lea ecx, [rax + rax*2]
mov rax, qword [rbp + 0x1a8]
shl ecx, 4
add ecx, dword [rax + 0x40]
sub ecx, r10d
mov dword [r10 + 0x20], ecx
inc edx
cmp edx, 0xf5
jb 0x180132b15
mov eax, 0x18
cmp eax, 0x18
je 0x180132ba6
add eax, 0x7e
cmp eax, 0x96
jb 0x180132b53
mov ecx, 0xaf
nop word [rax + rax]
mov eax, ecx
sub eax, 0xae
je 0x180132800
cmp eax, 1
jne 0x180132b97
mov rax, qword [rbp + 0x1a8]
test dword [rax + 4], 0x800000
je 0x180132b97
mov byte [r10 + 0x28], 0xa1
dec ecx
cmp ecx, 0xad
ja 0x180132b70
jmp case.0x1801326fe.53
mov rax, qword [rbp + 0x1a8]
test dword [rax + 4], 0x800000
je 0x180132800
movzx ecx, byte [r10 + 0x29]
cmp cl, 8
je 0x180132bd0
mov rax, qword [r10 + 8]
mov qword [r10 + 0x38], rax
mov byte [r10 + 0x59], cl
mov ecx, 0x17
mov eax, ecx
sub eax, 0x14
je 0x180132c0f
sub eax, 1
je 0x180132c06
sub eax, 1
je 0x180132bf7
cmp eax, 1
jne 0x180132c14
xor eax, eax
mov dword [r10 + 8], eax
mov dword [r10 + 0x10], eax
jmp 0x180132c14
mov dword [r10 + 0x18], 0
mov byte [r10 + 0x28], 0
jmp 0x180132c14
mov word [r10 + 0x29], 0x808
jmp 0x180132c14
mov byte [r10 + 0x2b], 8
dec ecx
cmp ecx, 0x13
ja 0x180132bd5
mov esi, 0xec
mov r14d, 0x47
mov dword [rbp + 0x180], esi
jmp case.0x1801326fe.53
movzx eax, byte [r10 + 0x29]
cmp al, 1
jne 0x180132c56
mov eax, dword [r10 + 8]
mov rcx, qword [rbp + 0x1a8]
shl rax, 4
add rax, qword [rcx + 0x98]
mov qword [r10 + 8], rax
jmp 0x180132c80
test al, 6
je 0x180132c79
mov rax, qword [rbp + 0x1a8]
mov edx, dword [r10 + 8]
mov ecx, dword [rax + 0x48]
add ecx, 5
add edx, ecx
mov rcx, rax
shl edx, 4
mov dword [r10 + 8], edx
jmp 0x180132c80
mov rcx, qword [rbp + 0x1a8]
movzx eax, byte [r10 + 0x2a]
cmp al, 1
jne 0x180132c9e
mov eax, dword [r10 + 0x10]
shl rax, 4
add rax, qword [rcx + 0x98]
mov qword [r10 + 0x10], rax
jmp case.0x1801326fe.53
test al, 6
je case.0x1801326fe.53
mov edx, dword [r10 + 0x10]
mov ecx, dword [rcx + 0x48]
add edx, 5
add edx, ecx
shl edx, 4
mov dword [r10 + 0x10], edx
jmp case.0x1801326fe.53
test byte [r10 + 0x2b], 6
je case.0x1801326fe.53
mov edx, dword [r10 + 0x18]
mov rax, qword [rbp + 0x1a8]
mov ecx, dword [rax + 0x48]
add ecx, 5
add edx, ecx
shl edx, 4
mov dword [r10 + 0x18], edx
jmp case.0x1801326fe.53
mov r9d, 0xbd
xor r8d, r8d
xor edx, edx
mov rcx, r10
call fcn.18002f380
mov r10, qword [rsp + 0x58]
add r10, 0x30
mov qword [rsp + 0x58], r10
dec r14d
cmp r14d, 0x43
ja 0x1801326a0
cmp r10, qword [rsp + 0x60]
jb 0x180132692
mov r11d, dword [rbp - 0x78]
mov ecx, dword [rsp + 0x50]
mov rdi, qword [rbp + 0x1a8]
cmp qword [rdi + 0x60], 0
je 0x180132f5a
xor r10d, r10d
cmp dword [rdi + 0x58], r10d
jbe 0x180132f5a
nop word [rax + rax]
mov rax, qword [rdi + 0x60]
lea rcx, [r10 + r10*2]
mov r8d, dword [rax + rcx*4]
lea r9, [rax + rcx*4]
mov edx, dword [rdi + 0x48]
mov ecx, r8d
add edx, 5
shr ecx, 4
add edx, ecx
and r8d, 3
shl edx, 4
inc r10d
or edx, r8d
mov dword [r9], edx
cmp r10d, dword [rdi + 0x58]
jb 0x180132d40
mov ecx, dword [rsp + 0x50]
jmp 0x180132f5a
cmp dword [r9], 1
jne 0x180132f5d
mov r8d, 0xea
nop dword [rax]
mov eax, r8d
sub eax, 0xea
je 0x180132da5
cmp eax, 1
je 0x180132f91
jmp 0x180132dc7
movzx eax, byte [r14]
movzx edx, byte [rdi]
add edx, 2
lea ecx, [rax + rax*2]
mov rax, qword [rbp + 0x1a8]
add edx, ecx
mov qword [rbp - 0x68], rax
shr edx, 2
mov byte [rax + 1], dl
mov byte [rax], dl
inc r8d
cmp r8d, 0xec
jb 0x180132d90
mov rdx, qword [rbp + 0x1a8]
mov ecx, dword [rsp + 0x50]
jmp 0x180132f5d
mov rax, qword [rbp + 0x1a8]
mov rdx, rax
or dword [rax + 4], 0x8000000
jmp 0x180132f5d
mov eax, esi
sub eax, 0x241
je 0x180132e17
cmp eax, 0x27
jne 0x180132f5d
mov dword [rbp - 0x68], 0
jmp 0x180132f5d
mov r12d, r15d
jmp 0x180132f5d
movzx eax, byte [r14 + r13]
lea r15d, [rax + rax*2]
movzx eax, byte [rdi + r13]
add r15d, eax
jmp 0x180132f5d
cmp esi, 0x326
je 0x180132f91
cmp esi, 0x3bd
je 0x180132e98
cmp esi, 0x47b
je 0x180132e7d
cmp esi, 0x539
je 0x180132e6a
cmp esi, 0x5f7
je 0x180132f91
jmp 0x180132f5d
mov rax, qword [rbp + 0x1a8]
mov qword [rbp - 0x68], rax
mov rdx, rax
jmp 0x180132f5d
mov eax, dword [r9]
lea ecx, [r15 + 2]
sar ecx, 2
add eax, eax
cdqe
mov byte [rax + rdx - 1], cl
mov ecx, dword [rsp + 0x50]
jmp 0x180132f5d
mov rdi, qword [rbp + 0x1a8]
lea ecx, [r15 + 4]
lea ecx, [r12 + rcx*2]
add ecx, r15d
sar ecx, 4
mov byte [rdi + r13*2], cl
inc r13
mov ecx, dword [rsp + 0x50]
inc ecx
mov dword [rsp + 0x50], ecx
cmp ecx, dword [r9]
jge 0x180132f5a
mov rax, qword [rbp + 0x190]
mov r9, r14
sub r9, rax
lea r8, [rax + r13]
nop dword [rax + rax]
mov edx, 0xf5
mov eax, edx
sub eax, 0xf3
je 0x180132f23
sub eax, 1
je 0x180132efd
cmp eax, 1
jne 0x180132f35
mov r12d, r15d
jmp 0x180132f35
movzx eax, byte [r8 + r9]
lea ecx, [r12 + 4]
lea r15d, [rax + rax*2]
movzx eax, byte [r8]
add r15d, eax
lea ecx, [r15 + rcx*2]
add ecx, r12d
sar ecx, 4
mov byte [rdi + r13*2 - 1], cl
jmp 0x180132f35
lea ecx, [r15 + 4]
lea ecx, [r12 + rcx*2]
add ecx, r15d
sar ecx, 4
mov byte [rdi + r13*2], cl
dec edx
cmp edx, 0xf2
ja 0x180132ee5
mov ecx, dword [rsp + 0x50]
inc r13
mov rax, qword [rbp + 0x198]
inc ecx
inc r8
mov dword [rsp + 0x50], ecx
cmp ecx, dword [rax]
jl 0x180132ee0
mov rdx, rdi
mov r10, qword [rsp + 0x58]
add esi, 0xbe
mov r14, qword [rbp + 0x188]
mov rdi, qword [rbp + 0x190]
mov r9, qword [rbp + 0x198]
mov r8, qword [rsp + 0x60]
mov dword [rbp + 0x180], esi
cmp esi, r11d
jb 0x180131bf2
movaps xmm14, xmmword [rsp + 0x1a0]
movaps xmm13, xmmword [rsp + 0x1b0]
movaps xmm12, xmmword [rsp + 0x1c0]
movaps xmm11, xmmword [rsp + 0x1d0]
movaps xmm10, xmmword [rsp + 0x1e0]
movaps xmm9, xmmword [rsp + 0x1f0]
movaps xmm8, xmmword [rsp + 0x200]
movaps xmm7, xmmword [rsp + 0x210]
movaps xmm6, xmmword [rsp + 0x220]
movaps xmm15, xmmword [rsp + 0x190]
mov rax, qword [rbp - 0x68]
add rsp, 0x238
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret