Function at 0x1401e7250
Capabilities:
Encode data using base64
Encrypt data using speck
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x18]
sub rsp, 0x118
mov rax, qword [r9]
xor edi, edi
mov r12, qword [r9 + 0xe0]
mov r13, r9
mov rbx, qword [r9 + 0xe8]
mov r10d, edx
mov r9d, r10d
mov qword [rbp - 8], rdi
mov edx, dword [rax + 0x40]
mov r15, rcx
mov rsi, qword [r13 + 0x40]
mov eax, r10d
shr eax, 0x13
mov r11d, edi
shr r9d, 2
and eax, 1
and r9d, 1
mov qword [rbp - 0x18], rdi
mov qword [rsp + 0x70], rdi
movzx r14d, di
mov qword [rsp + 0x60], r12
mov qword [rbp + 8], rbx
mov dword [rbp - 0x60], edi
mov dword [rbp - 0x30], edi
mov dword [rbp - 0x3c], edx
mov word [rbp + 0x68], di
mov dword [rbp - 0x44], edi
mov dword [rbp - 0x40], edi
mov dword [rsp + 0x68], edi
mov dword [rbp - 0x78], edi
mov dword [rsp + 0x54], edi
mov dword [rbp - 0x74], eax
mov dword [rbp - 0x2c], r9d
mov dword [rsp + 0x78], edi
mov qword [rsp + 0x58], rsi
mov qword [rbp], rdi
test dl, 8
je 0x1401e7307
mov dword [r12], 0x80090000
jmp 0x1401e7314
test dl, 4
je 0x1401e7326
mov dword [r12], 0x80180005
mov dword [r12 + 4], 0x801a0000
add r12, 8
mov qword [rsp + 0x60], r12
mov r8d, 0xff
bt r10d, 0x19
jae 0x1401e7410
cmp r15, rsi
jae 0x1401ea42d
mov ecx, 0xfc00
mov r10d, 0x10000
nop dword [rax + rax]
cmp r12, rbx
jae 0x1401ea4b8
movzx edx, word [r15]
mov r8, r15
add r15, 2
test eax, eax
je 0x1401e7393
mov eax, edx
and eax, ecx
cmp eax, 0xd800
jne 0x1401e7393
movzx ecx, word [r15]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
add edx, r10d
add r15, 2
test r9d, r9d
je 0x1401e73f2
mov rcx, r12
test r11, r11
je 0x1401e73c6
mov rax, r8
sub rax, qword [r13 + 0x38]
sar rax, 1
sub eax, dword [r11 + 4]
mov dword [r11 + 8], eax
lea rax, [r12 - 0x10]
cmp r11, rax
jne 0x1401e73c6
cmp dword [r11 + 0xc], 0xff
je 0x1401e73e4
mov r11, r12
mov dword [r12], 0x80060000
lea rcx, [r12 + 0x10]
mov dword [r12 + 8], edi
mov dword [r12 + 0xc], 0xff
sub r8, qword [r13 + 0x38]
mov r12, rcx
sar r8, 1
mov dword [r11 + 4], r8d
mov eax, dword [rbp - 0x74]
mov ecx, 0xfc00
mov dword [r12], edx
add r12, 4
cmp r15, rsi
jb 0x1401e7350
jmp 0x1401ea424
mov r8, qword [r13 + 0x50]
movabs rax, 0xaaaaaaaaaaaaaaab
add r8, r8
mov qword [rbp - 0x50], rdi
mul r8
mov rcx, r8
mov edi, r10d
shr rdx, 3
bts edi, 7
lea rax, [rdx + rdx*2]
shl rax, 2
sub rcx, rax
sub r8, rcx
add r8, qword [r13 + 0x28]
bt r10d, 0x18
mov qword [rbp - 0x10], r8
cmovae edi, r10d
mov dword [rsp + 0x50], edi
cmp r15, rsi
jae 0x1401ea422
mov r9, rsi
xor esi, esi
nop word [rax + rax]
xor r14d, r14d
cmp r12, rbx
jae 0x1401ea4b8
mov r8, qword [r13]
movzx eax, word [rbp + 0x68]
cmp eax, dword [r8 + 0x3c]
ja 0x1401ea410
movzx r13d, word [r15]
mov rbx, r15
mov r10d, dword [rbp - 0x74]
add r15, 2
mov dword [rbp - 0x80], r13d
mov edx, r13d
mov qword [rbp + 0x60], r15
mov rcx, r15
test r10d, r10d
je 0x1401e74ef
mov eax, r13d
and eax, 0xfc00
cmp eax, 0xd800
jne 0x1401e74ef
movzx eax, word [r15]
and r13d, 0x3ff
shl r13d, 0xa
and eax, 0x3ff
or r13d, eax
add r13d, 0x10000
add r15, 2
mov dword [rbp - 0x80], r13d
mov qword [rbp + 0x60], r15
mov rcx, r15
mov edx, r13d
cmp dword [rbp - 0x78], r14d
je 0x1401e75d2
cmp edx, 0x5c
jne 0x1401e7518
cmp rcx, r9
jae 0x1401e7518
cmp word [r15], 0x45
jne 0x1401e7518
xor esi, esi
mov dword [rbp - 0x78], esi
add r15, 2
jmp 0x1401e793c
cmp dword [rbp - 0x40], r14d
jg 0x1401e7a63
cmp dword [rsp + 0x54], r14d
jne 0x1401e75bb
mov ecx, dword [rbp - 0x44]
mov eax, ecx
dec ecx
mov dword [rbp - 0x44], ecx
test eax, eax
jg 0x1401e75b2
mov r8, qword [rbp + 0x78]
mov rcx, r12
test r11, r11
je 0x1401e7559
mov rax, rbx
sub rax, qword [r8 + 0x38]
sar rax, 1
sub eax, dword [r11 + 4]
mov dword [r11 + 8], eax
cmp dword [rbp - 0x2c], r14d
jne 0x1401e7564
xor r11d, r11d
jmp 0x1401e75aa
test r11, r11
je 0x1401e7580
lea rax, [r12 - 0x10]
cmp r11, rax
mov eax, 0xff
jne 0x1401e7585
cmp dword [r11 + 0xc], eax
je 0x1401e759f
jmp 0x1401e7585
mov eax, 0xff
mov r11, r12
mov dword [r12], 0x80060000
lea rcx, [r12 + 0x10]
mov dword [r12 + 8], r14d
mov dword [r12 + 0xc], eax
sub rbx, qword [r8 + 0x38]
sar rbx, 1
mov dword [r11 + 4], ebx
mov qword [rsp + 0x70], r11
mov r12, rcx
mov eax, 1
mov dword [rsp + 0x78], eax
xor esi, esi
mov dword [r12], r13d
add r12, 4
mov dword [rbp - 0x60], esi
mov qword [rsp + 0x60], r12
jmp 0x1401e793c
cmp dword [rsp + 0x54], r14d
je 0x1401e7753
mov eax, edi
and eax, 0x400080
cmp eax, 0x400080
jne 0x1401e7644
mov eax, 0xff
cmp edx, eax
jbe 0x1401e7608
mov eax, r13d
or eax, 1
cmp eax, 0x200f
je 0x1401e7608
cmp eax, 0x2029
jne 0x1401e7644
mov rdi, qword [rbp + 0x78]
test r13d, 0xffffff00
jne 0x1401e7757
cmp r13d, 0x23
je 0x1401e7757
mov rax, qword [rdi + 0x20]
test byte [r13 + rax], 1
jne 0x1401e7757
cmp r13d, 0x85
je 0x1401e7757
mov edi, dword [rsp + 0x50]
cmp r13d, 0x29
je 0x1401e76fe
cmp r13d, 0x5c
je 0x1401e7666
mov dword [r12], r13d
add r12, 4
mov qword [rsp + 0x60], r12
jmp 0x1401e793a
xor esi, esi
bt edi, 0x16
jae 0x1401e76ec
mov eax, dword [r8 + 0x40]
lea r9, [rsp + 0x68]
mov r13, qword [rbp + 0x78]
lea r8, [rbp - 0x80]
mov rdx, qword [rsp + 0x58]
lea rcx, [rbp + 0x60]
mov qword [rsp + 0x38], r13
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], edi
call fcn.1401e0850
mov edx, dword [rsp + 0x68]
test edx, edx
jne 0x1401ea285
test eax, eax
je 0x1401e76da
sub eax, 0x19
je 0x1401e9d81
mov r15, qword [rbp + 0x60]
cmp eax, 1
jne 0x1401ea217
mov r9, qword [rsp + 0x58]
mov r11, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x54]
mov dword [rbp - 0x78], eax
jmp 0x1401e7944
mov r15, qword [rbp + 0x60]
mov r13d, dword [rbp - 0x80]
mov r9, qword [rsp + 0x58]
mov r11, qword [rsp + 0x70]
mov dword [r12], r13d
add r12, 4
mov qword [rsp + 0x60], r12
jmp 0x1401e793c
xor esi, esi
mov rax, r15
sub rax, qword [rbp]
mov edx, 0xffff
sar rax, 1
mov ecx, esi
dec rax
mov dword [rsp + 0x54], ecx
cmp rax, rdx
jg 0x1401ea221
mov rdx, qword [rbp - 8]
mov rax, r12
sub rax, rdx
sar rax, 2
dec eax
mov dword [rdx], eax
mov edx, dword [rbp - 0x30]
test edx, edx
je 0x1401e7940
mov dword [r12], edx
add r12, 4
mov qword [rsp + 0x60], r12
mov dword [rbp - 0x30], esi
jmp 0x1401e7940
mov rdi, qword [rbp + 0x78]
mov r8, qword [rsp + 0x58]
cmp r13d, 0x5c
jne 0x1401e779a
cmp r15, r8
jae 0x1401e779a
movzx eax, word [r15]
cmp ax, 0x51
je 0x1401e7777
cmp ax, 0x45
jne 0x1401e779a
mov r9, qword [rsp + 0x58]
xor esi, esi
mov edi, dword [rsp + 0x50]
cmp ax, 0x51
mov r8d, esi
sete r8b
add r15, 2
mov dword [rbp - 0x78], r8d
jmp 0x1401e793c
test byte [rsp + 0x50], 0x80
je 0x1401e78da
cmp r13d, 0x100
jae 0x1401e77be
mov rax, qword [rdi + 0x20]
test byte [r13 + rax], 1
jne 0x1401e7931
cmp r13d, 0x85
je 0x1401e7931
mov eax, r13d
or eax, 1
cmp eax, 0x200f
je 0x1401e7931
cmp eax, 0x2029
je 0x1401e7931
cmp r13d, 0x23
jne 0x1401e78da
mov r13, qword [rbp + 0x78]
cmp r15, r8
jae 0x1401e78c9
nop
mov edx, dword [r13 + 0x100]
lea rbx, [r13 + 0x104]
mov rcx, qword [r13 + 0x40]
test edx, edx
je 0x1401e784a
cmp r15, rcx
jae 0x1401e7839
mov r8, rcx
mov dword [rsp + 0x20], r10d
mov rcx, r15
mov r9, rbx
call fcn.140224970
test eax, eax
je 0x1401e7839
mov eax, 1
jmp 0x1401e783b
xor eax, eax
test eax, eax
jne 0x1401e78be
mov r8, qword [rsp + 0x58]
mov r10d, dword [rbp - 0x74]
jmp 0x1401e787a
mov edx, dword [rbx]
imul rax, rdx, 0xfffffffffffffffe
add rax, rcx
cmp r15, rax
ja 0x1401e787a
movzx eax, word [r13 + 0x110]
cmp word [r15], ax
jne 0x1401e787a
cmp edx, 1
je 0x1401e78be
movzx eax, word [r13 + 0x112]
cmp word [r15 + 2], ax
je 0x1401e78b7
add r15, 2
mov rax, r15
test r10d, r10d
je 0x1401e78ac
cmp r15, r8
jae 0x1401e78ac
movzx eax, word [r15]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x1401e7800
add r15, 2
mov rax, r15
cmp rax, r8
jb 0x1401e7800
jmp 0x1401e78c4
lea rbx, [r13 + 0x104]
mov eax, dword [rbx]
lea r15, [r15 + rax*2]
mov r11, qword [rsp + 0x70]
mov r9, qword [rsp + 0x58]
mov edi, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x54]
xor esi, esi
jmp 0x1401e7944
cmp r13d, 0x28
jne 0x1401e795b
mov rax, r8
sub rax, r15
and rax, 0xfffffffffffffffe
cmp rax, 4
jl 0x1401e79a7
cmp word [r15], 0x3f
jne 0x1401e79a7
cmp word [r15 + 2], 0x23
jne 0x1401e79a7
nop dword [rax + rax]
add r15, 2
cmp r15, r8
jae 0x1401ea22f
cmp word [r15], 0x29
jne 0x1401e7910
cmp r15, r8
jae 0x1401ea22f
add r15, 2
mov r9, qword [rsp + 0x58]
mov edi, dword [rsp + 0x50]
xor esi, esi
mov ecx, dword [rsp + 0x54]
mov r13, qword [rbp + 0x78]
movzx r14d, word [rbp + 0x68]
cmp r15, r9
jae 0x1401ea402
mov rbx, qword [rbp + 8]
jmp 0x1401e7470
lea eax, [r13 - 0x2a]
cmp eax, 1
jbe 0x1401e7a2d
cmp r13d, 0x3f
je 0x1401e7a2d
cmp r13d, 0x7b
jne 0x1401e79a7
mov rdx, qword [rsp + 0x58]
lea rax, [rsp + 0x68]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov qword [rbp - 0x68], r15
lea rcx, [rbp - 0x68]
call fcn.1401ec380
test eax, eax
jne 0x1401e7a2d
mov r11, qword [rsp + 0x70]
mov ecx, dword [rbp - 0x44]
mov eax, ecx
dec ecx
mov dword [rbp - 0x44], ecx
test eax, eax
jg 0x1401e7a2d
mov rcx, r12
test r11, r11
je 0x1401e79cf
mov rax, rbx
sub rax, qword [rdi + 0x38]
sar rax, 1
sub eax, dword [r11 + 4]
mov dword [r11 + 8], eax
cmp dword [rbp - 0x2c], r14d
jne 0x1401e79da
xor r11d, r11d
jmp 0x1401e7a20
test r11, r11
je 0x1401e79f6
lea rax, [r12 - 0x10]
cmp r11, rax
mov eax, 0xff
jne 0x1401e79fb
cmp dword [r11 + 0xc], eax
je 0x1401e7a15
jmp 0x1401e79fb
mov eax, 0xff
mov r11, r12
mov dword [r12], 0x80060000
lea rcx, [r12 + 0x10]
mov dword [r12 + 8], r14d
mov dword [r12 + 0xc], eax
sub rbx, qword [rdi + 0x38]
sar rbx, 1
mov dword [r11 + 4], ebx
mov qword [rsp + 0x70], r11
mov r12, rcx
mov qword [rsp + 0x60], rcx
mov edx, dword [rbp - 0x40]
test edx, edx
jle 0x1401e7ad1
cmp r13d, 0x28
jne 0x1401e7a63
mov r11, qword [rsp + 0x58]
mov rax, r11
sub rax, r15
and rax, 0xfffffffffffffffe
cmp rax, 6
jl 0x1401e7a63
movzx eax, word [r15]
cmp ax, 0x3f
je 0x1401e7a71
cmp ax, 0x2a
je 0x1401e7a78
sub r15, 2
mov edx, 0x80
jmp 0x1401e87cc
cmp word [r15], 0x2a
jne 0x1401e7a97
movzx eax, word [r15 + 2]
mov ecx, 0xff
cmp ax, cx
ja 0x1401e7a93
mov ecx, eax
mov rax, qword [rdi + 0x20]
test byte [rcx + rax], 4
jne 0x1401e7ad6
xor eax, eax
jmp 0x1401e7ab8
movzx ecx, word [r15 + 2]
sub ecx, 0x21
je 0x1401e7ad6
sub ecx, 0x1b
je 0x1401e7abe
sub ecx, 1
je 0x1401e7ad6
cmp ecx, 6
jne 0x1401e7a63
xor eax, eax
cmp edx, 2
sete al
test eax, eax
je 0x1401e7a63
jmp 0x1401e7ad6
movzx eax, word [r15 + 4]
cmp ax, 0x3d
je 0x1401e7ad6
cmp ax, 0x21
jne 0x1401e7a63
jmp 0x1401e7ad6
mov r11, qword [rsp + 0x58]
mov ecx, dword [rbp - 0x60]
xor ebx, ebx
mov edi, dword [rsp + 0x78]
mov r9d, edx
mov dword [rbp - 0x68], edx
mov eax, ecx
mov dword [rbp - 0x40], ebx
mov edx, ecx
mov dword [rsp + 0x78], ebx
mov dword [rbp - 0x60], ebx
test ecx, ecx
je 0x1401e7b3e
cmp r13d, 0x3f
je 0x1401e7b03
cmp r13d, 0x2b
jne 0x1401e7b3e
cmp r13d, 0x3f
mov ecx, 0x10000
mov r8d, 0x20000
cmove ecx, r8d
add ecx, eax
mov rax, 0xfffffffffffffffc
cmp edx, 0x803d0000
mov rdx, 0xfffffffffffffff4
cmove rax, rdx
mov dword [rax + r12], ecx
mov r11, qword [rsp + 0x70]
jmp 0x1401e7931
lea eax, [r13 - 0x24]
cmp eax, 0x58
ja case.0x1401e7b64.37
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0x1ea514]
mov ecx, dword [rdx + rax*4 + 0x1ea4e0]
add rcx, rdx
jmp rcx
mov r13, qword [rbp + 0x78]
lea r9, [rsp + 0x68]
mov edi, dword [rsp + 0x50]
lea r8, [rbp - 0x80]
mov qword [rsp + 0x38], r13
lea rcx, [rbp + 0x60]
mov dword [rsp + 0x30], ebx
mov rdx, r11
mov rax, qword [r13]
mov eax, dword [rax + 0x40]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], edi
call fcn.1401e0850
mov edx, dword [rsp + 0x68]
mov esi, eax
test edx, edx
jne 0x1401e7be8
test eax, eax
je 0x1401e8029
js 0x1401e7f94
lea ecx, [rax - 6]
cmp ecx, 0x16
ja case.0x1401e7bd7.13
movsxd rax, ecx
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0x1ea588]
mov ecx, dword [rdx + rax*4 + 0x1ea570]
add rcx, rdx
jmp rcx
bt edi, 0x14
jae case.0x1401e7bd7.12
mov edx, 0xb7
mov dword [rsp + 0x68], edx
mov rcx, qword [rbp + 0x60]
mov qword [rbp - 0x80], rcx
mov r11, qword [rsp + 0x58]
mov ebx, dword [rbp - 0x74]
test byte [rbp - 0x3c], 2
je 0x1401e87c8
cmp r15, r11
jb 0x1401e8035
mov ecx, 0x5c
mov edi, dword [rsp + 0x50]
mov eax, 1
mov dword [r12], ecx
mov dword [rsp + 0x78], eax
add r12, 4
jmp 0x1401e7c42
mov eax, 1
mov dword [rsp + 0x78], eax
lea eax, [rsi - 0x7fe80000]
mov dword [r12], eax
add r12, 4
mov r15, qword [rbp + 0x60]
mov r9, qword [rsp + 0x58]
xor esi, esi
mov r11, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x54]
mov qword [rsp + 0x60], r12
jmp 0x1401e7944
lea rax, [rsp + 0x68]
mov qword [rsp + 0x28], r13
lea r9, [rbp - 0x80]
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x48]
mov word [rbp - 0x48], bx
lea rdx, [rbp - 0x20]
mov word [rbp - 0x80], bx
lea rcx, [rbp + 0x60]
call fcn.1401e6680
test eax, eax
je 0x1401e7ee8
cmp dword [rbp - 0x20], ebx
je 0x1401e7ca0
cmp esi, 0xf
mov eax, ebx
sete al
lea esi, [rax + 0xf]
movzx ecx, word [rbp - 0x48]
lea eax, [rsi - 0x7fe80000]
mov dword [r12], eax
movzx eax, word [rbp - 0x80]
shl ecx, 0x10
or ecx, eax
mov eax, 1
mov dword [r12 + 4], ecx
add r12, 8
mov dword [rsp + 0x78], eax
jmp 0x1401e7c3e
mov rcx, qword [rbp + 0x60]
mov r11, qword [rsp + 0x58]
mov qword [rbp - 0x80], rcx
cmp rcx, r11
jae 0x1401e7f01
movzx eax, word [rcx]
cmp ax, 0x7b
je 0x1401e7cfd
cmp ax, 0x3c
je 0x1401e7d6a
cmp ax, 0x27
jne 0x1401e7f01
cmp ax, 0x27
mov r14d, 0x7d
mov eax, 0x27
cmove r14d, eax
cmp esi, 0x1b
jne 0x1401e7e5d
cmp r14d, 0x7d
je 0x1401e7e5d
mov r11d, dword [r13 + 0xd4]
lea r8, [rcx + 2]
mov r13, qword [rsp + 0x58]
xor eax, eax
mov dword [rsp + 0x68], eax
mov r9d, 0xffff
mov r10d, r9d
mov ecx, eax
mov edi, eax
mov edx, eax
test r11d, r11d
js 0x1401e7d81
cmp r8, r13
jae 0x1401e7e48
movzx eax, word [r8]
cmp ax, 0x2b
jne 0x1401e7d72
mov ebx, 1
sub r10d, r11d
jmp 0x1401e7d7d
mov r14d, 0x3e
jmp 0x1401e7d10
cmp ax, 0x2d
jne 0x1401e7d8a
mov ebx, 0xffffffff
add r8, 2
cmp r8, r13
jae 0x1401e7e48
movzx eax, word [r8]
sub ax, 0x30
cmp ax, 9
ja 0x1401e7e48
nop dword [rax]
movzx r9d, word [r8]
lea eax, [r9 - 0x30]
cmp ax, 9
ja 0x1401e7dc6
lea ecx, [rcx + rcx*4]
add r8, 2
lea ecx, [rcx - 0x18]
lea ecx, [r9 + rcx*2]
cmp ecx, r10d
ja 0x1401e7dde
cmp r8, r13
jb 0x1401e7da0
test r11d, r11d
js 0x1401e7e09
test ebx, ebx
je 0x1401e7e09
test ecx, ecx
jne 0x1401e7de9
mov edx, 0x7e
mov dword [rsp + 0x68], edx
jmp 0x1401e7e0e
mov edx, 0xa1
mov dword [rsp + 0x68], edx
jmp 0x1401e7e0e
test ebx, ebx
jle 0x1401e7df2
add ecx, r11d
jmp 0x1401e7e09
cmp ecx, r11d
jle 0x1401e7e02
mov edx, reloc.WS2_32.dll_WSAStartup
mov dword [rsp + 0x68], edx
jmp 0x1401e7e0e
sub r11d, ecx
lea ecx, [r11 + 1]
mov edi, 1
mov dword [rbp - 0x70], ecx
test edi, edi
je 0x1401e7e48
mov r11, qword [rsp + 0x58]
cmp r8, r11
jae 0x1401e7e34
movzx eax, word [r8]
cmp eax, r14d
jne 0x1401e7e34
mov r13, qword [rbp + 0x78]
mov r15, r8
jmp 0x1401e9e2d
mov r13, qword [rbp + 0x78]
mov eax, 0x9d
mov edx, eax
mov dword [rsp + 0x68], eax
jmp 0x1401e7bf5
mov r13, qword [rbp + 0x78]
test edx, edx
jne 0x1401e7bf0
mov r11, qword [rsp + 0x58]
mov edi, dword [rsp + 0x50]
mov ebx, dword [rbp - 0x74]
lea rax, [rsp + 0x68]
mov qword [rsp + 0x40], r13
lea rcx, [rbp + 0x60]
mov qword [rsp + 0x38], rax
mov r9d, r14d
lea rax, [rbp - 0x6c]
mov r8d, ebx
mov qword [rsp + 0x30], rax
mov rdx, r11
lea rax, [rbp - 0x38]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x20], rax
call fcn.1401ebf90
test eax, eax
je 0x1401e7eeb
cmp esi, 0x1c
je 0x1401e7eb0
mov eax, 0x80210000
cmp r14d, 0x7d
jne 0x1401e7eb5
mov eax, 0x80040000
mov rcx, qword [rbp - 0x58]
mov dword [r12], eax
mov eax, dword [rbp - 0x6c]
mov dword [r12 + 4], eax
mov rax, rcx
shr rax, 0x20
mov dword [r12 + 8], eax
mov eax, 1
mov dword [r12 + 0xc], ecx
add r12, 0x10
mov dword [rsp + 0x78], eax
jmp 0x1401e7c3e
mov ebx, dword [rbp - 0x74]
mov rcx, qword [rbp + 0x60]
mov edx, dword [rsp + 0x68]
mov r11, qword [rsp + 0x58]
mov qword [rbp - 0x80], rcx
jmp 0x1401e7bf8
cmp esi, 0x1b
mov edx, 0xa9
mov eax, 0x9d
cmove edx, eax
mov dword [rsp + 0x68], edx
jmp 0x1401e7bf5
bt edi, 0x11
mov eax, 1
mov dword [rsp + 0x78], eax
jae case.0x1401e7bd7.13
lea eax, [rsi - 7]
test eax, 0xfffffff9
jne 0x1401e7f41
mov eax, 0x80180010
cmp esi, 0xd
jne 0x1401e7f46
mov eax, 0x8018000f
mov dword [r12], eax
add r12, 4
lea eax, [rsi - 6]
mov qword [rsp + 0x60], r12
cmp eax, 5
ja case.default.0x1401e7f6b
cdqe
mov ecx, dword [rdx + rax*4 + 0x1ea5a0]
add rcx, rdx
jmp rcx
mov dword [r12], 0x3000d
jmp 0x1401e7c3a
mov dword [r12], 0x70000
jmp 0x1401e7c3a
mov dword [r12], 0x90000
jmp 0x1401e7c3a
mov r15, qword [rbp + 0x60]
neg esi
mov rcx, r15
mov eax, esi
sub rcx, qword [r13 + 0x38]
or eax, 0x80030000
sar rcx, 1
dec rcx
mov dword [r12], eax
add r12, 4
mov qword [rbp - 0x58], rcx
mov qword [rsp + 0x60], r12
cmp esi, 0xa
jge 0x1401e7ff2
movsxd rax, esi
cmp qword [r13 + rax*8 + 0x58], 0xffffffffffffffff
jne 0x1401e800b
mov r9, qword [rsp + 0x58]
xor esi, esi
mov r11, qword [rsp + 0x70]
mov qword [r13 + rax*8 + 0x58], rcx
mov eax, 1
mov ecx, dword [rsp + 0x54]
mov dword [rsp + 0x78], eax
jmp 0x1401e7944
mov rax, rcx
shr rax, 0x20
mov dword [r12], eax
mov dword [r12 + 4], ecx
add r12, 8
mov qword [rsp + 0x60], r12
mov r9, qword [rsp + 0x58]
mov eax, 1
mov r11, qword [rsp + 0x70]
xor esi, esi
mov ecx, dword [rsp + 0x54]
mov dword [rsp + 0x78], eax
jmp 0x1401e7944
mov r15, qword [rbp + 0x60]
mov ecx, dword [rbp - 0x80]
jmp 0x1401e7c14
movzx ecx, word [r15]
add r15, 2
test ebx, ebx
je 0x1401e7c10
mov edi, dword [rsp + 0x50]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x1401e7c14
movzx eax, word [r15]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add r15, 2
jmp 0x1401e7c14
mov r11, qword [rsp + 0x70]
mov dword [r12], 0x80090000
add r12, 4
mov qword [rsp + 0x60], r12
jmp 0x1401e7931
mov r11, qword [rsp + 0x70]
mov dword [r12], 0x80160000
add r12, 4
mov qword [rsp + 0x60], r12
jmp 0x1401e7931
mov dword [r12], 0x80170000
mov r11, qword [rsp + 0x70]
add r12, 4
mov eax, 1
mov qword [rsp + 0x60], r12
mov dword [rsp + 0x78], eax
jmp 0x1401e7931
mov r8d, 0x80340000
jmp 0x1401e8282
mov r8d, 0x80370000
jmp 0x1401e8282
mov r8d, 0x803a0000
jmp 0x1401e8282
mov r10, qword [rsp + 0x58]
xor eax, eax
mov dword [rsp + 0x68], eax
mov r9d, eax
mov r11d, 0x10000
mov edx, eax
mov r8, r15
cmp r15, r10
jae 0x1401e814d
nop word [rax + rax]
movzx ecx, word [r8]
lea eax, [rcx - 0x30]
cmp ax, 9
jbe 0x1401e8144
cmp cx, 0x7d
je 0x1401e815e
cmp cx, 0x2c
jne 0x1401e814d
test r9d, r9d
jne 0x1401e814d
mov r9d, 1
add r8, 2
cmp r8, r10
jb 0x1401e8120
test edx, edx
jne 0x1401e87cc
mov dword [r12], r13d
jmp 0x1401e80bc
xor eax, eax
mov r10d, eax
mov r9d, eax
movzx eax, word [r15]
sub ax, 0x30
cmp ax, 9
ja 0x1401e8274
nop dword [rax + rax]
movzx r8d, word [r15]
lea eax, [r8 - 0x30]
cmp ax, 9
ja 0x1401e81af
lea r10d, [r10 + r10*4]
add r15, 2
lea r10d, [r10 - 0x18]
mov eax, 0xffff
lea r10d, [r8 + r10*2]
cmp r10d, eax
ja 0x1401e81d4
cmp r15, qword [rsp + 0x58]
jb 0x1401e8180
mov r9d, 1
test r9d, r9d
je 0x1401e8274
cmp word [r15], 0x7d
lea rax, [r15 + 2]
mov r15, rax
jne 0x1401e81df
mov r11d, r10d
jmp 0x1401e8269
mov edx, 0x69
mov dword [rsp + 0x68], edx
jmp 0x1401e81b5
movzx eax, word [rax]
cmp ax, 0x7d
je 0x1401e8265
xor ecx, ecx
mov r11d, ecx
mov r9d, ecx
mov edx, ecx
mov dword [rsp + 0x68], ecx
cmp r15, qword [rsp + 0x58]
jae 0x1401e8274
sub ax, 0x30
cmp ax, 9
ja 0x1401e8274
nop word [rax + rax]
movzx r8d, word [r15]
lea eax, [r8 - 0x30]
cmp ax, 9
ja 0x1401e823f
lea r11d, [r11 + r11*4]
add r15, 2
lea r11d, [r11 - 0x18]
mov eax, 0xffff
lea r11d, [r8 + r11*2]
cmp r11d, eax
ja 0x1401e825a
cmp r15, qword [rsp + 0x58]
jb 0x1401e8210
mov r9d, 1
test r9d, r9d
je 0x1401e8274
cmp r11d, r10d
jge 0x1401e8265
mov edx, 0x68
mov dword [rsp + 0x68], edx
jmp 0x1401e8274
mov edx, 0x69
mov dword [rsp + 0x68], edx
jmp 0x1401e8245
add r15, 2
mov ebx, 1
mov esi, r10d
mov r14d, r11d
test ebx, ebx
je 0x1401e814d
mov r8d, 0x803d0000
mov dword [rbp - 0x60], r8d
test edi, edi
je 0x1401ea239
cmp dword [r12 - 4], 0x802a0000
lea rcx, [r12 - 4]
jne 0x1401e82d1
mov rdx, qword [rbp - 0x18]
cmp rcx, rdx
jb 0x1401e82be
nop word [rax + rax]
mov eax, dword [rcx]
mov dword [rcx + 4], eax
sub rcx, 4
cmp rcx, rdx
jae 0x1401e82b0
mov dword [rdx], 0x801a0000
mov dword [r12 + 4], 0x80190000
add r12, 8
mov r9, qword [rsp + 0x58]
mov r11, qword [rsp + 0x70]
mov edi, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x54]
mov dword [r12], r8d
add r12, 4
cmp r13d, 0x7b
mov qword [rsp + 0x60], r12
mov r13, qword [rbp + 0x78]
jne 0x1401e78d6
mov dword [r12], esi
mov dword [r12 + 4], r14d
add r12, 8
mov qword [rsp + 0x60], r12
xor esi, esi
jmp 0x1401e7944
mov rax, r11
mov edi, 1
sub rax, r15
mov dword [rsp + 0x78], edi
and rax, 0xfffffffffffffffe
cmp rax, 0xc
jl 0x1401e83f3
mov r8d, 6
lea rdx, [0x1403bdc30]
mov rcx, r15
call fcn.140222cc0
test eax, eax
je 0x1401e836a
mov r8d, 6
lea rdx, str._:_:__
mov rcx, r15
call fcn.140222cc0
test eax, eax
jne 0x1401e83ee
xor esi, esi
mov dword [r12], 0x80180005
cmp word [r15 + 4], 0x3c
lea rax, [r12 + 8]
jne 0x1401e838c
mov dword [r12 + 4], 0x80230000
jmp 0x1401e83a2
mov rcx, qword [rbp + 0x70]
mov dword [r12 + 4], 0x80250000
mov dword [rcx], edi
mov qword [rax], rsi
add rax, 8
mov edi, dword [rsp + 0x50]
lea r12, [rax + 4]
bt edi, 0x11
jb 0x1401e83b8
mov dword [rax], 0x8018000b
jmp 0x1401e83ca
mov dword [rax], 0x80180010
mov dword [r12], 0x90000
add r12, 4
mov r9, qword [rsp + 0x58]
mov r11, qword [rsp + 0x70]
mov dword [r12], 0x80190000
add r12, 4
mov qword [rsp + 0x60], r12
add r15, 0xc
jmp 0x1401e793c
mov r11, qword [rsp + 0x58]
movabs r14, 0x2400400000000000
cmp r15, r11
jae 0x1401e848b
movzx r10d, word [r15]
cmp r10d, 0x3d
ja 0x1401e848b
bt r14, r10
jae 0x1401e848b
lea r8, [r15 + 2]
mov r9, r11
sub r9, r8
mov rax, r9
and rax, 0xfffffffffffffffe
cmp rax, 4
jl 0x1401e848b
nop dword [rax]
movzx edx, word [r8]
cmp dx, 0x5c
jne 0x1401e8451
movzx eax, word [r8 + 2]
sub ax, dx
cmp ax, di
ja 0x1401e845e
add r8, 2
sub r9, 2
jmp 0x1401e8476
cmp dx, 0x5b
jne 0x1401e845e
cmp word [r8 + 2], r10w
jmp 0x1401e8462
cmp dx, 0x5d
je 0x1401e848b
cmp dx, r10w
jne 0x1401e8476
cmp word [r8 + 2], 0x5d
je 0x1401ea247
sub r9, 2
add r8, 2
mov rax, r9
and rax, 0xfffffffffffffffe
cmp rax, 4
jge 0x1401e8430
xor esi, esi
cmp r15, r11
jae 0x1401e857b
mov r12d, dword [rsp + 0x50]
nop dword [rax + rax]
movzx r13d, word [r15]
add r15, 2
mov edx, r13d
mov dword [rbp - 0x80], r13d
mov rcx, r15
mov qword [rbp + 0x60], r15
cmp dword [rbp - 0x74], esi
je 0x1401e84fa
mov eax, r13d
and eax, 0xfc00
cmp eax, 0xd800
jne 0x1401e84fa
movzx eax, word [r15]
and r13d, 0x3ff
shl r13d, 0xa
and eax, 0x3ff
or r13d, eax
add r13d, 0x10000
add r15, 2
mov dword [rbp - 0x80], r13d
mov qword [rbp + 0x60], r15
mov rcx, r15
mov edx, r13d
cmp edx, 0x5c
jne 0x1401e8550
mov rdx, rcx
cmp rcx, r11
jae 0x1401e8518
cmp word [r15], 0x45
jne 0x1401e8518
lea r15, [rcx + 2]
mov qword [rbp + 0x60], r15
jmp 0x1401e856d
mov rax, r11
sub rax, rdx
and rax, 0xfffffffffffffffe
cmp rax, 6
jl 0x1401e8576
mov r8d, 3
lea rdx, [0x1403bdc40]
mov rcx, r15
call fcn.140222cc0
test eax, eax
jne 0x1401e8576
mov r11, qword [rsp + 0x58]
add r15, 6
mov qword [rbp + 0x60], r15
jmp 0x1401e856d
bt r12d, 0x18
jae 0x1401e8561
cmp edx, 0x20
je 0x1401e856d
cmp edx, 9
je 0x1401e856d
test ebx, ebx
jne 0x1401e8576
cmp r13d, 0x5e
jne 0x1401e8576
mov ebx, edi
cmp r15, r11
jb 0x1401e84a0
mov r12, qword [rsp + 0x60]
cmp r13d, 0x5d
jne 0x1401e85bd
mov r8, qword [rbp + 0x78]
test byte [r8 + 0xcc], dil
je 0x1401e85bd
mov r9, qword [rsp + 0x58]
test ebx, ebx
mov r11, qword [rsp + 0x70]
mov eax, 0x800b0000
mov edi, dword [rsp + 0x50]
mov ecx, 0x800c0000
cmovne eax, ecx
mov dword [r12], eax
add r12, 4
mov qword [rsp + 0x60], r12
jmp 0x1401e793c
mov r8d, dword [rbp - 0x78]
test ebx, ebx
mov eax, 0x800a0000
mov dword [rbp - 0x68], esi
mov ecx, 0x800e0000
mov ebx, edi
cmovne eax, ecx
mov dword [rsp + 0x78], ebx
mov dword [r12], eax
mov r11d, esi
add r12, 4
mov qword [rsp + 0x60], r12
nop dword [rax]
mov r10d, ebx
test r8d, r8d
je 0x1401e862b
cmp r13d, 0x5c
jne 0x1401e86f8
cmp r15, qword [rsp + 0x58]
jae 0x1401e86f8
cmp word [r15], 0x45
jne 0x1401e86f8
mov r8d, esi
mov dword [rbp - 0x78], esi
add r15, 2
mov edi, dword [rsp + 0x50]
jmp 0x1401e888a
mov ecx, dword [rsp + 0x50]
bt ecx, 0x18
jae 0x1401e8641
cmp r13d, 0x20
je 0x1401e8622
cmp r13d, 9
je 0x1401e8622
cmp r13d, 0x5b
jne 0x1401e8973
mov rcx, qword [rsp + 0x58]
mov rax, rcx
sub rax, r15
and rax, 0xfffffffffffffffe
cmp rax, 6
jl 0x1401e86f8
movzx r9d, word [r15]
cmp r9d, 0x3d
ja 0x1401e86f8
bt r14, r9
jae 0x1401e86f8
lea r12, [r15 + 2]
mov r8, rcx
sub r8, r12
mov rax, r8
and rax, 0xfffffffffffffffe
cmp rax, 4
jl 0x1401e86ef
movzx edx, word [r12]
cmp dx, 0x5c
jne 0x1401e86b7
movzx eax, word [r12 + 2]
sub ax, dx
cmp ax, 1
ja 0x1401e86c5
add r12, 2
sub r8, 2
jmp 0x1401e86da
cmp dx, 0x5b
jne 0x1401e86c5
cmp word [r12 + 2], r9w
jmp 0x1401e86c9
cmp dx, 0x5d
je 0x1401e86ef
cmp dx, r9w
jne 0x1401e86da
cmp word [r12 + 2], 0x5d
je 0x1401e8725
sub r8, 2
add r12, 2
mov rax, r8
and rax, 0xfffffffffffffffe
cmp rax, 4
jge 0x1401e8693
mov r12, qword [rsp + 0x60]
mov r8d, dword [rbp - 0x78]
cmp r11d, 1
jne 0x1401e8cad
cmp r13d, dword [r12 - 8]
jne 0x1401e8c71
mov edi, dword [rsp + 0x50]
sub r12, 4
mov qword [rsp + 0x60], r12
mov r11d, esi
mov dword [rbp - 0x68], esi
jmp 0x1401e888a
mov r13d, esi
cmp r11d, 1
je 0x1401ea29f
cmp word [r15], 0x3a
jne 0x1401ea260
add r15, 2
mov qword [rbp - 0x80], r15
mov r14, r15
cmp word [r15], 0x5e
jne 0x1401e875d
add r15, 2
mov r13d, ebx
mov qword [rbp - 0x80], r15
mov r14, r15
mov rbx, r12
lea rdi, [0x1403bd940]
sub rbx, r14
lea rcx, [0x140000000]
sar rbx, 1
mov r15d, esi
nop word [rax + rax]
movzx eax, byte [rsi + rcx + 0x3bd998]
cmp ebx, eax
jne 0x1401e87a5
mov r8d, ebx
mov rdx, rdi
mov rcx, r14
call fcn.140222cc0
test eax, eax
je 0x1401e87f4
lea rcx, [0x140000000]
movzx eax, byte [rsi + rcx + 0x3bd998]
inc rdi
inc rsi
add rdi, rax
inc r15d
cmp byte [rsi + rcx + 0x3bd998], 0
jne 0x1401e8780
mov edx, 0x82
mov r15, qword [rbp - 0x80]
mov r8, qword [rbp + 0x78]
mov eax, edx
sub r15, qword [r8 + 0x38]
sar r15, 1
mov qword [r8 + 0xa8], r15
add rsp, 0x118
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
test r15d, r15d
js 0x1401e87c3
mov rax, qword [rsp + 0x58]
lea rcx, [r12 + 4]
add rax, 0xfffffffffffffffe
mov qword [rbp - 0x80], rcx
cmp rcx, rax
jae 0x1401e8821
cmp word [rcx], 0x2d
jne 0x1401e8821
cmp word [rcx + 2], 0x5d
jne 0x1401ea29c
mov edi, dword [rsp + 0x50]
xor eax, eax
bt edi, 0x11
mov dword [rbp - 0x68], eax
mov r11d, eax
jae 0x1401e8956
lea rcx, [0x140000000]
mov eax, dword [rcx + rsi*8 + 0x492d60]
mov ecx, dword [rcx + rsi*8 + 0x492d64]
test eax, eax
js 0x1401e8935
mov r12, qword [rsp + 0x60]
xor r13d, 1
sub r13d, 0x7fe7fff1
shl eax, 0x10
or eax, ecx
mov dword [r12], r13d
mov dword [r12 + 4], eax
add r12, 8
mov r15, qword [rbp - 0x80]
mov qword [rsp + 0x60], r12
xor esi, esi
mov r8d, dword [rbp - 0x78]
mov ebx, 1
cmp r15, qword [rsp + 0x58]
jae 0x1401ea2b7
movzx r13d, word [r15]
add r15, 2
cmp dword [rbp - 0x74], 0
mov ecx, r13d
mov dword [rbp - 0x80], r13d
mov qword [rbp + 0x60], r15
je 0x1401e88ea
mov eax, r13d
and eax, 0xfc00
cmp eax, 0xd800
jne 0x1401e88ea
movzx eax, word [r15]
and r13d, 0x3ff
shl r13d, 0xa
and eax, 0x3ff
or r13d, eax
add r13d, 0x10000
add r15, 2
mov dword [rbp - 0x80], r13d
mov qword [rbp + 0x60], r15
mov ecx, r13d
movabs r14, 0x2400400000000000
cmp ecx, 0x5d
jne 0x1401e85f0
test r8d, r8d
jne 0x1401e85f0
cmp r11d, 1
jne 0x1401e8915
mov dword [r12 - 4], 0x2d
mov r9, qword [rsp + 0x58]
mov r11, qword [rsp + 0x70]
mov dword [r12], 0x800d0000
add r12, 4
mov qword [rsp + 0x60], r12
jmp 0x1401e793c
test ecx, ecx
je 0x1401e8956
mov r12, qword [rsp + 0x60]
xor r13d, 1
sub r13d, 0x7fe7ffee
mov dword [r12], r13d
add r12, 4
jmp 0x1401e8876
mov r12, qword [rsp + 0x60]
lea eax, [r13 + 0x801c]
shl eax, 0x10
mov dword [r12], eax
mov dword [r12 + 4], r15d
jmp 0x1401e8872
cmp r13d, 0x2d
jne 0x1401e89b0
cmp r11d, 2
jb 0x1401e86f8
mov edi, dword [rsp + 0x50]
cmp r11d, 3
mov eax, 0x801e0000
mov dword [rbp - 0x68], ebx
mov ecx, 0x801f0000
mov r11d, ebx
cmove eax, ecx
mov dword [r12], eax
add r12, 4
mov qword [rsp + 0x60], r12
jmp 0x1401e888a
cmp r13d, 0x5c
jne 0x1401e86f8
mov r13, qword [rbp + 0x78]
lea r9, [rsp + 0x68]
mov qword [rsp + 0x38], r13
lea r8, [rbp - 0x80]
mov dword [rsp + 0x30], ebx
mov rdi, r15
mov r14, r15
mov rsi, r15
mov rax, qword [r13]
mov r15, qword [rsp + 0x58]
mov rdx, r15
mov eax, dword [rax + 0x40]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
lea rcx, [rbp + 0x60]
call fcn.1401e0850
mov edx, dword [rsp + 0x68]
movsxd rbx, eax
test edx, edx
je 0x1401e8a83
test byte [rbp - 0x3c], 2
je 0x1401ea285
mov r15, rsi
cmp rsi, qword [rsp + 0x58]
jb 0x1401e8a31
mov r11d, dword [rbp - 0x68]
xor esi, esi
mov r10d, esi
mov r13d, 0x5c
mov ebx, 1
jmp 0x1401e86f4
cmp dword [rbp - 0x74], 0
lea r15, [r14 + 2]
movzx r13d, word [rdi]
je 0x1401e8aab
mov eax, r13d
and eax, 0xfc00
cmp eax, 0xd800
jne 0x1401e8aab
movzx eax, word [r15]
and r13d, 0x3ff
mov r11d, dword [rbp - 0x68]
and eax, 0x3ff
shl r13d, 0xa
add r15, 2
or r13d, eax
mov ebx, 1
add r13d, 0x10000
xor esi, esi
mov r10d, esi
jmp 0x1401e86f4
lea rdx, [0x140000000]
cmp ebx, 0x1a
ja case.0x1401e8aa1.5
movzx eax, byte [rdx + rbx + 0x1ea5d0]
mov ecx, dword [rdx + rax*4 + 0x1ea5b8]
add rcx, rdx
jmp rcx
mov r15, qword [rbp + 0x60]
mov r13d, dword [rbp - 0x80]
mov r11d, dword [rbp - 0x68]
xor esi, esi
mov r10d, esi
mov ebx, 1
jmp 0x1401e86f4
mov r15, qword [rbp + 0x60]
xor esi, esi
mov r11d, dword [rbp - 0x68]
mov r10d, esi
mov r13d, 8
mov ebx, 1
jmp 0x1401e86f4
mov r15, qword [rbp + 0x60]
mov ebx, 1
mov r11d, dword [rbp - 0x68]
mov r8d, ebx
mov edi, dword [rsp + 0x50]
xor esi, esi
mov dword [rbp - 0x78], ebx
jmp 0x1401e888a
mov r15, qword [rbp + 0x60]
mov r11d, dword [rbp - 0x68]
mov edi, dword [rsp + 0x50]
jmp 0x1401e887f
cmp dword [rbp - 0x68], 1
je 0x1401ea28e
xor esi, esi
lea eax, [rbx - 6]
mov dword [rbp - 0x68], esi
mov r11d, esi
cmp eax, 0xf
ja case.0x1401e8b34.13
cdqe
mov ecx, dword [rdx + rax*4 + 0x1ea5ec]
add rcx, rdx
jmp rcx
lea eax, [rbx - 0x7fe80000]
mov dword [r12], eax
add r12, 4
jmp 0x1401e8c3b
mov edi, dword [rsp + 0x50]
bt edi, 0x11
jb 0x1401e8b66
lea eax, [rbx - 0x7fe80000]
mov dword [r12], eax
add r12, 4
jmp 0x1401e8c3f
lea eax, [rbx - 7]
test eax, 0xfffffff9
jne 0x1401e8b7a
mov eax, 0x80180010
cmp ebx, 0xd
jne 0x1401e8b7f
mov eax, 0x8018000f
mov dword [r12], eax
add ebx, 0xfffffffa
add r12, 4
mov qword [rsp + 0x60], r12
cmp ebx, 5
ja case.default.0x1401e8ba5
movsxd rax, ebx
mov ecx, dword [rdx + rax*4 + 0x1ea62c]
add rcx, rdx
jmp rcx
mov dword [r12], 0x3000d
add r12, 4
jmp 0x1401e8c3f
mov dword [r12], 0x70000
add r12, 4
jmp 0x1401e8c3f
mov dword [r12], 0x90000
add r12, 4
jmp 0x1401e8c3f
lea rax, [rsp + 0x68]
mov qword [rsp + 0x28], r13
lea r9, [rbp - 0x48]
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x80]
mov word [rbp - 0x80], si
lea rdx, [rbp - 0x1c]
mov word [rbp - 0x48], si
lea rcx, [rbp + 0x60]
call fcn.1401e6680
test eax, eax
je 0x1401ea36d
cmp dword [rbp - 0x1c], esi
je 0x1401e8c18
cmp ebx, 0xf
mov eax, esi
sete al
lea ebx, [rax + 0xf]
movzx ecx, word [rbp - 0x80]
lea eax, [rbx - 0x7fe80000]
mov dword [r12], eax
mov r11d, esi
movzx eax, word [rbp - 0x48]
shl ecx, 0x10
or ecx, eax
mov dword [r12 + 4], ecx
add r12, 8
mov edi, dword [rsp + 0x50]
mov qword [rsp + 0x60], r12
lea rax, [r15 - 2]
mov r15, qword [rbp + 0x60]
cmp r15, rax
jae 0x1401e8881
cmp word [r15], 0x2d
jne 0x1401e8881
cmp word [r15 + 2], 0x5d
jne 0x1401ea29f
jmp 0x1401e8881
jb 0x1401ea2a9
test r10d, r10d
jne 0x1401e8c91
mov eax, 0x801f0000
cmp dword [r12 - 4], eax
jne 0x1401e8c91
mov dword [r12 - 4], 0x801e0000
mov edi, dword [rsp + 0x50]
mov r11d, esi
mov dword [r12], r13d
add r12, 4
mov qword [rsp + 0x60], r12
mov dword [rbp - 0x68], esi
jmp 0x1401e888a
mov edi, dword [rsp + 0x50]
lea r11d, [r10 + 2]
mov dword [r12], r13d
add r12, 4
mov qword [rsp + 0x60], r12
mov dword [rbp - 0x68], r11d
jmp 0x1401e888a
cmp r15, r11
jae 0x1401ea4d5
movzx eax, word [r15]
cmp ax, 0x3f
je 0x1401e91e7
cmp ax, 0x2a
je 0x1401e8d4f
movzx r14d, word [rbp + 0x68]
mov edi, dword [rsp + 0x50]
inc r14w
mov r13, qword [rbp + 0x78]
mov word [rbp + 0x68], r14w
bt edi, 0xd
jb 0x1401e8d28
mov eax, dword [r13 + 0xd4]
mov ecx, 0xffff
cmp eax, ecx
jae 0x1401ea3b6
inc eax
mov dword [r13 + 0xd4], eax
or eax, 0x80080000
jmp 0x1401e8d2d
mov eax, 0x801a0000
mov r9, qword [rsp + 0x58]
mov r11, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x54]
mov dword [r12], eax
add r12, 4
mov qword [rsp + 0x60], r12
xor esi, esi
jmp 0x1401e7949
mov rax, r11
sub rax, r15
and rax, 0xfffffffffffffffe
cmp rax, 2
jle 0x1401e7b34
movzx eax, word [r15 + 2]
cmp eax, 0x29
je 0x1401e7b34
mov r13, qword [rbp + 0x78]
mov ecx, 0xff
cmp ax, cx
ja 0x1401e8fdd
mov ecx, eax
mov rax, qword [r13 + 0x20]
test byte [rcx + rax], 4
je 0x1401e8fdd
mov r8d, dword [rbp - 0x74]
lea rax, [rsp + 0x68]
mov qword [rsp + 0x40], r13
lea rcx, [rbp + 0x60]
mov qword [rsp + 0x38], rax
lea r12, [0x1403bd7d0]
lea rax, [rbp - 0x6c]
xor r9d, r9d
mov qword [rsp + 0x30], rax
mov rdx, r11
lea rax, [rbp - 0x38]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x20], rax
call fcn.1401ebf90
test eax, eax
je 0x1401ea36d
mov rcx, qword [rbp + 0x60]
mov qword [rbp - 0x80], rcx
cmp rcx, qword [rsp + 0x58]
jae 0x1401ea2e8
cmp word [rcx], 0x3a
jne 0x1401ea2e8
mov r14d, dword [rbp - 0x6c]
lea r9, [0x140000000]
mov r13, qword [rbp - 0x38]
xor eax, eax
mov esi, eax
mov dword [rbp - 0x70], ebx
mov r8d, eax
mov ecx, eax
mov edx, eax
nop dword [rax]
movsxd r15, eax
movsxd rax, ebx
cmp r14d, dword [r9 + rax*8 + 0x3bd8b0]
jne 0x1401e8e50
mov ebx, ecx
mov edi, edx
mov rdx, r12
mov rcx, r13
mov r8, r14
call fcn.140222cc0
lea r9, [0x140000000]
test eax, eax
je 0x1401e8e76
mov r8d, esi
mov eax, dword [r9 + r15*8 + 0x3bd8b0]
lea ebx, [r8 + 1]
inc eax
mov dword [rbp - 0x70], ebx
add r12, rax
mov esi, ebx
mov eax, ebx
mov r8d, ebx
mov ecx, ebx
mov edx, ebx
mov edi, ebx
cmp ebx, 0x11
jl 0x1401e8e20
cmp ebx, 0x11
jge 0x1401ea2e8
movsxd rax, edi
mov ecx, dword [r9 + rax*8 + 0x3bd8b4]
mov r9d, dword [rbp - 0x68]
test r9d, r9d
jle 0x1401e8ea4
lea eax, [rcx + 0x7fdd0000]
cmp eax, 0x30000
ja 0x1401ea2c1
cmp ecx, 0x80250000
ja 0x1401e8efc
je 0x1401e8fd0
cmp ecx, 0x80020000
je 0x1401e99d3
cmp ecx, 0x80220000
je 0x1401e8f2d
cmp ecx, 0x80230000
je 0x1401e9a03
cmp ecx, 0x80240000
jne 0x1401ea2de
mov r15, qword [rbp - 0x80]
mov r12, qword [rsp + 0x60]
mov r13, qword [rbp + 0x78]
add r15, 2
mov dword [r12], 0x80240000
jmp 0x1401e9ac5
mov eax, 0x80260000
cmp ecx, eax
je 0x1401e8fd0
cmp ecx, 0x80270000
je 0x1401e9a21
cmp ecx, 0x80280000
je 0x1401e8fd0
cmp ecx, 0x8fff0000
jne 0x1401ea2de
mov r12, qword [rsp + 0x60]
movzx r14d, word [rbp + 0x68]
mov r15, qword [rbp - 0x80]
inc r14w
add r15, 2
mov word [rbp + 0x68], r14w
mov dword [r12], 0x80220000
add r12, 4
mov qword [rsp + 0x60], r12
cmp ecx, 0x8fff0000
jne 0x1401ea20e
mov rsi, qword [rbp - 0x50]
mov dword [r12], 0x80020000
add r12, 4
mov qword [rsp + 0x60], r12
test rsi, rsi
jne 0x1401e8f8d
mov r13, qword [rbp + 0x78]
mov rsi, qword [r13 + 0x28]
mov qword [rbp - 0x50], rsi
jmp 0x1401e8fa3
add rsi, 0xc
mov qword [rbp - 0x50], rsi
cmp rsi, qword [rbp - 0x10]
jae 0x1401ea3ea
mov r13, qword [rbp + 0x78]
mov edi, dword [rsp + 0x50]
mov eax, edi
mov r9, qword [rsp + 0x58]
and eax, 0x10424e8
mov r11, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x54]
mov dword [rsi + 8], eax
mov word [rsi], r14w
mov word [rsi + 6], 4
xor esi, esi
jmp 0x1401e7949
mov r15, qword [rbp - 0x80]
sub r15, 2
jmp 0x1401e9a86
mov r8d, dword [rbp - 0x74]
lea rax, [rsp + 0x68]
mov qword [rsp + 0x40], r13
lea rcx, [rbp + 0x60]
mov qword [rsp + 0x38], rax
lea r12, [0x1403bd6f8]
lea rax, [rbp - 0x6c]
xor r9d, r9d
mov qword [rsp + 0x30], rax
mov rdx, r11
lea rax, [rbp - 0x38]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x20], rax
call fcn.1401ebf90
test eax, eax
je 0x1401ea36d
mov r15, qword [rbp + 0x60]
mov qword [rbp - 0x80], r15
cmp r15, qword [rsp + 0x58]
jae 0x1401ea406
movzx eax, word [r15]
cmp ax, 0x3a
je 0x1401e9050
cmp ax, 0x29
jne 0x1401ea406
mov r15d, dword [rbp - 0x6c]
lea r9, [0x140000000]
mov r13, qword [rbp - 0x38]
mov edi, ebx
mov dword [rbp - 0x70], ebx
mov ecx, ebx
mov esi, ebx
mov r8d, ebx
mov edx, ebx
mov eax, ebx
nop
movsxd r14, eax
movsxd rax, ecx
lea rcx, [rax + rax*2]
cmp r15d, dword [r9 + rcx*4 + 0x3bd730]
jne 0x1401e90a2
mov ebx, edx
mov r8, r15
mov rdx, r12
mov rcx, r13
call fcn.140222cc0
lea r9, [0x140000000]
test eax, eax
je 0x1401e90cc
mov r8d, esi
lea edi, [r8 + 1]
lea rax, [r14 + r14*2]
mov dword [rbp - 0x70], edi
mov eax, dword [r9 + rax*4 + 0x3bd730]
mov ecx, edi
inc eax
mov esi, edi
add r12, rax
mov r8d, edi
mov eax, edi
mov edx, edi
mov ebx, edi
cmp edi, 9
jl 0x1401e9070
mov r15, qword [rbp - 0x80]
cmp ebx, 9
jge 0x1401ea406
cmp word [r15], 0x3a
jne 0x1401e90f3
lea rax, [r15 + 2]
cmp rax, qword [rsp + 0x58]
jae 0x1401e90f3
cmp word [rax], 0x29
cmove r15, rax
movsxd rax, edi
lea rcx, [rax + rax*2]
lea rcx, [rcx*4]
mov edx, dword [rcx + r9 + 0x3bd738]
test edx, edx
jle 0x1401e9187
cmp word [r15], 0x3a
jne 0x1401ea2f2
mov r10, qword [rsp + 0x60]
xor esi, esi
mov ecx, dword [rcx + r9 + 0x3bd734]
mov ebx, esi
add r15, 2
mov qword [rbp - 0x18], r10
cmp ecx, 0x802a0000
lea r8, [r10 + 4]
sete bl
mov dword [rsp + 0x78], ebx
cmp ecx, 0x80290000
mov eax, esi
mov edx, 0x10000
cmovne eax, edx
add eax, ecx
mov r9, qword [rsp + 0x58]
lea r12, [r8 + 4]
mov r11, qword [rsp + 0x70]
mov edi, dword [rsp + 0x50]
mov dword [r10], eax
mov eax, 1
mov ecx, eax
mov dword [rsp + 0x54], eax
mov qword [rbp - 8], r8
mov qword [rsp + 0x60], r12
mov qword [rbp], r15
jmp 0x1401e7940
mov r10, qword [rsp + 0x60]
xor esi, esi
movzx eax, word [r15]
mov ebx, esi
mov ecx, dword [rcx + r9 + 0x3bd734]
cmp ecx, 0x802a0000
mov qword [rbp - 0x18], r10
sete bl
lea r8, [r10 + 4]
add r15, 2
mov dword [rsp + 0x78], ebx
cmp ax, 0x3a
jne 0x1401e91c9
test edx, edx
jns 0x1401e9143
mov dword [rbp - 0x30], ecx
mov eax, 0x80290000
jmp 0x1401e9155
mov r9, qword [rsp + 0x58]
mov r12, r8
mov r11, qword [rsp + 0x70]
mov edi, dword [rsp + 0x50]
mov dword [r10], ecx
mov qword [rsp + 0x60], r8
jmp 0x1401e793c
add r15, 2
mov qword [rbp + 0x60], r15
mov r8, r15
cmp r15, r11
jae 0x1401ea4d5
movzx edx, word [r15]
lea eax, [rdx - 0x21]
cmp eax, 0x31
ja case.0x1401e9228.46
lea r14, [0x140000000]
cdqe
movzx eax, byte [r14 + rax + 0x1ea67c]
mov ecx, dword [r14 + rax*4 + 0x1ea644]
add rcx, r14
jmp rcx
add r15, 2
mov qword [rbp + 0x60], r15
cmp r15, r11
jae 0x1401ea4d5
movzx eax, word [r15]
cmp ax, 0x3c
jne 0x1401e9250
mov r9d, 0x3e
jmp 0x1401e9b3d
cmp ax, 0x3e
je case.0x1401e9228.34
cmp ax, 0x3d
jne 0x1401ea2fc
mov r13, qword [rbp + 0x78]
lea rax, [rsp + 0x68]
mov r8d, dword [rbp - 0x74]
lea rcx, [rbp + 0x60]
mov qword [rsp + 0x40], r13
mov r9d, 0x29
mov qword [rsp + 0x38], rax
mov rdx, r11
lea rax, [rbp - 0x6c]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x38]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x20], rax
call fcn.1401ebf90
test eax, eax
je 0x1401ea36d
mov dword [r12], 0x80040000
mov eax, dword [rbp - 0x6c]
mov rcx, qword [rbp - 0x58]
mov r15, qword [rbp + 0x60]
mov dword [r12 + 4], eax
mov rax, rcx
shr rax, 0x20
mov dword [r12 + 8], eax
mov eax, 1
mov dword [r12 + 0xc], ecx
add r12, 0x10
mov qword [rsp + 0x60], r12
mov dword [rsp + 0x78], eax
jmp 0x1401e78c4
xor esi, esi
add r15, 2
mov ecx, esi
mov dword [rbp - 0x70], ecx
cmp r15, r11
jae 0x1401ea306
cmp word [r15], 0x29
jne 0x1401ea306
mov r13, qword [rbp + 0x78]
jmp 0x1401e9e2f
mov rax, r11
sub rax, r15
and rax, 0xfffffffffffffffe
cmp rax, 4
jl 0x1401ea310
movzx eax, word [r15 + 2]
sub ax, 0x30
cmp ax, 9
ja 0x1401ea310
sub dx, 0x30
cmp dx, 9
ja 0x1401e9dc8
mov r13, qword [rbp + 0x78]
mov r8d, 0xffffffff
jmp 0x1401e9dd3
mov r13, qword [rbp + 0x78]
lea rax, [rsp + 0x68]
mov r8d, dword [rbp - 0x74]
lea rcx, [rbp + 0x60]
mov qword [rsp + 0x40], r13
mov r9d, 0x29
mov qword [rsp + 0x38], rax
mov rdx, r11
lea rax, [rbp - 0x6c]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x38]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x20], rax
call fcn.1401ebf90
test eax, eax
je 0x1401ea36d
mov dword [r12], 0x80210000
jmp 0x1401e92b8
add r15, 2
cmp r15, r11
jae 0x1401ea4d5
mov rcx, qword [rsp + 0x70]
dec r9d
mov edi, dword [rsp + 0x50]
mov r8d, 0xff
mov dword [rbp - 0x40], r9d
test rcx, rcx
je 0x1401e93f6
test dil, 4
je 0x1401e93f6
lea rax, [r12 - 0x10]
cmp rcx, rax
jne 0x1401e93f6
cmp dword [r12 - 4], r8d
cmove r12, rcx
movzx ecx, word [r15]
mov qword [rsp + 0x70], r12
mov dword [rbp - 0x44], 1
cmp ecx, 0x29
je 0x1401e94eb
lea eax, [rcx - 0x30]
cmp ax, 9
jbe 0x1401e94eb
mov eax, dword [0x1403dbdf0]
xor esi, esi
mov dword [rbp - 0x70], esi
mov r10, r15
test eax, eax
je 0x1401ea331
mov r9d, esi
mov r8d, ecx
mov edx, esi
cmp ecx, eax
je 0x1401e946b
nop
movsxd rax, r9d
lea ecx, [r9 + 1]
mov dword [rbp - 0x70], ecx
mov r9d, ecx
cmp dword [r14 + rax*4 + 0x3dbdf4], ebx
je 0x1401ea331
movsxd rax, ecx
movsxd rdx, ecx
cmp r8d, dword [r14 + rax*4 + 0x3dbdf0]
jne 0x1401e9440
mov ecx, dword [r14 + rdx*4 + 0x3dbdc8]
test ecx, ecx
je 0x1401ea331
mov dword [r12], 0x80070000
add r15, 2
cmp r15, r11
jae 0x1401ea324
movzx eax, word [r15]
cmp eax, ecx
jne 0x1401e9483
add r15, 2
cmp r15, r11
jae 0x1401e94a9
movzx eax, word [r15]
cmp eax, ecx
je 0x1401e9483
mov rax, r15
mov ecx, 0xffffffff
sub rax, r10
sar rax, 1
cmp rax, rcx
ja 0x1401ea31a
mov r13, qword [rbp + 0x78]
mov dword [r12 + 0xc], eax
sub r10, qword [r13 + 0x38]
sar r10, 1
mov rax, r10
mov dword [r12 + 0x14], r10d
shr rax, 0x20
mov dword [r12 + 0x10], eax
add r12, 0x14
mov qword [rbp - 0x58], r10
jmp 0x1401e9530
xor esi, esi
mov dword [r12], 0x80060000
add r12, 0xc
mov ecx, esi
cmp r15, r11
jae 0x1401e9528
movzx edx, word [r15]
lea eax, [rdx - 0x30]
cmp ax, 9
ja 0x1401e9528
lea ecx, [rcx + rcx*4]
add r15, 2
lea ecx, [rcx - 0x18]
lea ecx, [rdx + rcx*2]
cmp ecx, r8d
jg 0x1401ea33b
cmp r15, r11
jb 0x1401e9500
mov r13, qword [rbp + 0x78]
mov dword [r12], ecx
cmp r15, r11
jae 0x1401ea345
cmp word [r15], 0x29
jne 0x1401ea345
mov r11, qword [rsp + 0x70]
add r15, 2
mov r9, qword [rsp + 0x58]
mov rax, r15
sub rax, qword [r13 + 0x38]
mov ecx, dword [rsp + 0x54]
sar rax, 1
add r12, 4
mov dword [r11 + 4], eax
mov qword [rsp + 0x60], r12
mov dword [r11 + 8], esi
jmp 0x1401e7944
add r15, 2
mov qword [rbp + 0x60], r15
cmp r15, r11
jae 0x1401ea4d5
movzx r14d, word [rbp + 0x68]
movzx eax, word [r15]
inc r14w
mov word [rbp + 0x68], r14w
cmp ax, 0x3f
je 0x1401e99b8
cmp ax, 0x2a
je 0x1401e99b8
mov r13, qword [rbp + 0x78]
lea rax, [rsp + 0x68]
mov qword [rsp + 0x30], rax
lea rcx, [rbp + 0x60]
lea rax, [rbp - 0x70]
mov r9d, 0xffff
mov qword [rsp + 0x28], rax
mov rdx, r11
mov r8d, dword [r13 + 0xd4]
mov dword [rsp + 0x20], 0xa1
call fcn.1401ec240
test eax, eax
je 0x1401e9631
mov edx, dword [rbp - 0x70]
mov r15, qword [rbp + 0x60]
test edx, edx
jle 0x1401ea34f
mov dword [r12], 0x80120000
mov rcx, r15
sub rcx, qword [r13 + 0x38]
sar rcx, 1
sub rcx, 2
mov dword [r12 + 0xc], edx
mov rax, rcx
mov dword [r12 + 8], ecx
shr rax, 0x20
mov dword [r12 + 4], eax
add r12, 0xc
mov qword [rbp - 0x58], rcx
jmp 0x1401e997e
mov edx, dword [rsp + 0x68]
test edx, edx
jne 0x1401ea285
mov r14, qword [rsp + 0x58]
mov rbx, qword [rbp + 0x60]
mov rdi, r14
sub rdi, rbx
sar rdi, 1
cmp rdi, 0xa
jl 0x1401e97d4
mov r8d, 7
lea rdx, str.VERSION
mov rcx, rbx
call fcn.140222cc0
test eax, eax
jne 0x1401e97d4
cmp word [rbx + 0xe], 0x29
lea r15, [rbx + 0xe]
je 0x1401e97d4
xor esi, esi
mov rax, r15
cmp word [r15], 0x3e
mov r11d, esi
mov r10d, esi
mov ebx, 1
jne 0x1401e96a6
add r15, 2
mov r11d, ebx
mov rax, r15
cmp word [r15], 0x3d
jne 0x1401ea359
lea r15, [rax + 2]
movzx eax, word [rax + 2]
sub ax, 0x30
cmp ax, 9
ja 0x1401ea359
mov edx, esi
mov ecx, esi
mov dword [rsp + 0x68], edx
mov r9d, esi
cmp r15, r14
jae 0x1401e87cc
movzx eax, word [r15]
sub ax, 0x30
cmp ax, 9
ja 0x1401e87cc
nop dword [rax]
movzx r8d, word [r15]
lea eax, [r8 - 0x30]
cmp ax, 9
ja 0x1401e971d
lea ecx, [rcx + rcx*4]
add r15, 2
lea ecx, [rcx - 0x18]
lea ecx, [r8 + rcx*2]
cmp ecx, 0x3e8
ja 0x1401e97c6
cmp r15, r14
jb 0x1401e96f0
mov r9d, ebx
test r9d, r9d
je 0x1401e87cc
cmp r15, r14
jae 0x1401ea359
cmp word [r15], 0x2e
jne 0x1401e97a2
add r15, 2
cmp r15, r14
jae 0x1401ea359
movzx eax, word [r15]
cmp eax, 0x30
jb 0x1401ea359
cmp eax, 0x39
ja 0x1401ea359
sub eax, 0x30
add r15, 2
lea r10d, [rax + rax*4]
add r10d, r10d
cmp r15, r14
jae 0x1401ea359
movzx eax, word [r15]
cmp eax, 0x30
jb 0x1401e9797
cmp eax, 0x39
ja 0x1401e9797
add eax, 0xffffffd0
add r10d, eax
lea rax, [r15 + 2]
mov r15, rax
cmp rax, r14
jae 0x1401ea359
cmp word [r15], 0x29
jne 0x1401ea359
movzx r14d, word [rbp + 0x68]
mov dword [r12], 0x80150000
mov dword [r12 + 4], r11d
mov dword [r12 + 8], ecx
add r12, 0xc
mov dword [r12], r10d
jmp 0x1401e9980
mov edx, 0xb3
mov dword [rsp + 0x68], edx
jmp 0x1401e9720
xor eax, eax
mov esi, eax
movzx eax, word [rbx]
cmp ax, 0x52
jne 0x1401e9801
cmp rdi, 1
jle 0x1401e9827
cmp word [rbx + 2], 0x26
lea rax, [rbx + 2]
jne 0x1401e9827
mov r15d, 1
mov qword [rbp + 0x60], rax
mov esi, r15d
jmp 0x1401e9835
cmp ax, 0x3c
jne 0x1401e9814
mov edi, 0x3e
mov r15d, 1
jmp 0x1401e983a
cmp ax, 0x27
jne 0x1401e9827
mov edi, 0x27
mov r15d, 1
jmp 0x1401e983a
sub rbx, 2
mov r15d, 1
mov qword [rbp + 0x60], rbx
mov edi, 0x29
mov r8d, dword [rbp - 0x74]
lea rax, [rsp + 0x68]
mov qword [rsp + 0x40], r13
lea rcx, [rbp + 0x60]
mov qword [rsp + 0x38], rax
mov r9d, edi
lea rax, [rbp - 0x6c]
mov rdx, r14
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x38]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x20], rax
call fcn.1401ebf90
test eax, eax
je 0x1401ea36d
mov r14d, dword [rbp - 0x6c]
test esi, esi
je 0x1401e989c
mov r15, qword [rbp + 0x60]
sub r15, 2
mov dword [r12], 0x80130000
jmp 0x1401e994b
cmp edi, 0x29
jne 0x1401e993f
mov rbx, qword [rbp - 0x38]
cmp r14d, 6
jne 0x1401e98db
mov r8d, 6
lea rdx, str.DEFINE
mov rcx, rbx
call fcn.140222cc0
test eax, eax
jne 0x1401e98db
mov eax, 0x80100000
mov dword [r12], eax
mov r15, qword [rbp + 0x60]
sub r15, 2
jmp 0x1401e994b
mov dword [rbp - 0x70], r15d
mov eax, r15d
cmp r14d, 1
jle 0x1401e991c
mov r9d, r15d
mov r8d, r15d
mov edx, r15d
cdqe
movzx ecx, word [rbx + rax*2]
mov eax, edx
cmp cx, 0x30
jb 0x1401e991c
mov eax, r8d
cmp cx, 0x39
ja 0x1401e991c
lea eax, [r9 + 1]
mov dword [rbp - 0x70], eax
mov r9d, eax
mov r8d, eax
mov edx, eax
cmp eax, r14d
jl 0x1401e98f1
cmp word [rbx], 0x52
jne 0x1401e992c
cmp eax, r14d
mov eax, 0x80140000
jge 0x1401e9931
mov eax, 0x80110000
mov dword [r12], eax
mov r15, qword [rbp + 0x60]
sub r15, 2
jmp 0x1401e994b
mov r15, qword [rbp + 0x60]
mov dword [r12], 0x80110000
mov eax, dword [r12]
add r12, 4
cmp eax, 0x80100000
je 0x1401e9962
mov dword [r12], r14d
add r12, 4
mov rcx, qword [rbp - 0x58]
movzx r14d, word [rbp + 0x68]
mov rax, rcx
shr rax, 0x20
mov dword [r12], eax
add r12, 4
mov dword [r12], ecx
xor esi, esi
mov r9, qword [rsp + 0x58]
cmp r15, r9
jae 0x1401ea363
cmp word [r15], 0x29
jne 0x1401ea363
mov r11, qword [rsp + 0x70]
add r15, 2
mov edi, dword [rsp + 0x50]
add r12, 4
mov ecx, dword [rsp + 0x54]
mov qword [rsp + 0x60], r12
jmp 0x1401e7949
mov r13, qword [rbp + 0x78]
mov r15, r8
mov dword [r12], 0x800f0000
mov dword [rbp - 0x40], 2
jmp 0x1401ea11c
mov r15, qword [rbp - 0x80]
mov r12, qword [rsp + 0x60]
movzx r14d, word [rbp + 0x68]
mov r13, qword [rbp + 0x78]
inc r14w
mov dword [r12], 0x80020000
add r12, 4
mov word [rbp + 0x68], r14w
add r15, 2
jmp 0x1401ea120
mov r15, qword [rbp - 0x80]
mov r12, qword [rsp + 0x60]
mov r13, qword [rbp + 0x78]
add r15, 2
mov dword [r12], 0x80230000
jmp 0x1401e9ac5
mov r15, qword [rbp - 0x80]
mov r12, qword [rsp + 0x60]
mov r13, qword [rbp + 0x78]
add r15, 2
mov dword [r12], 0x80270000
jmp 0x1401e9ac5
mov rax, r11
sub rax, r15
and rax, 0xfffffffffffffffe
cmp rax, 2
jle 0x1401e9245
movzx eax, word [r15 + 2]
cmp ax, 0x3d
je 0x1401e9a81
cmp ax, 0x21
je 0x1401e9a6e
cmp ax, 0x2a
jne 0x1401e9245
cmp ax, 0x21
mov ecx, 0x80280000
mov eax, 0x80260000
cmove ecx, eax
jmp 0x1401e9a86
mov ecx, 0x80250000
mov r10, qword [rsp + 0x60]
lea r12, [r10 + 8]
mov dword [r10], ecx
mov rcx, r15
mov rax, qword [rbp + 0x70]
mov r13, qword [rbp + 0x78]
mov dword [rax], 1
sub rcx, qword [r13 + 0x38]
sar rcx, 1
sub rcx, 2
mov rax, rcx
mov qword [rbp - 0x58], rcx
shr rax, 0x20
mov dword [r10 + 4], eax
add r15, 4
mov dword [r12], ecx
movzx r14d, word [rbp + 0x68]
add r12, 4
inc r14w
mov qword [rsp + 0x60], r12
mov word [rbp + 0x68], r14w
test r9d, r9d
jle 0x1401ea125
mov rsi, qword [rbp - 0x50]
test rsi, rsi
jne 0x1401e9af8
mov rsi, qword [r13 + 0x28]
mov qword [rbp - 0x50], rsi
jmp 0x1401e9b0a
add rsi, 0xc
mov qword [rbp - 0x50], rsi
cmp rsi, qword [rbp - 0x10]
jae 0x1401ea3ea
mov edi, dword [rsp + 0x50]
mov eax, edi
mov r9, qword [rsp + 0x58]
and eax, 0x10424e8
mov r11, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x54]
mov dword [rsi + 8], eax
mov word [rsi], r14w
mov word [rsi + 6], 2
xor esi, esi
jmp 0x1401e7949
mov r9d, 0x27
mov r13, qword [rbp + 0x78]
lea rax, [rsp + 0x68]
mov r8d, dword [rbp - 0x74]
lea rcx, [rbp + 0x60]
mov qword [rsp + 0x40], r13
mov rdx, r11
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x6c]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x38]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x20], rax
call fcn.1401ebf90
test eax, eax
je 0x1401ea36d
mov eax, dword [r13 + 0xd4]
mov ecx, 0xffff
cmp eax, ecx
jae 0x1401ea3b2
inc word [rbp + 0x68]
inc eax
mov dword [r13 + 0xd4], eax
or eax, 0x80080000
mov dword [r12], eax
add r12, 4
movzx edx, word [r13 + 0xb0]
mov eax, 0x2710
mov qword [rsp + 0x60], r12
cmp dx, ax
jae 0x1401ea3a4
mov r14d, dword [rbp - 0x6c]
movzx eax, word [r13 + 0xb2]
lea ecx, [r14 + 2]
cmp ecx, eax
jbe 0x1401e9bec
lea eax, [r14 + 2]
mov word [r13 + 0xb2], ax
mov r12, qword [rbp - 0x38]
xor eax, eax
mov dword [rbp - 0x70], eax
mov r15d, ebx
mov rbx, qword [r13 + 0xc0]
mov esi, eax
mov edi, eax
cmp ax, dx
jae 0x1401e9c7e
nop dword [rax + rax]
movzx eax, word [rbx + 0xc]
cmp r14d, eax
jne 0x1401e9c57
mov rdx, qword [rbx]
mov r8, r14
mov rcx, r12
call fcn.140222c80
test eax, eax
jne 0x1401e9c57
mov eax, dword [r13 + 0xd4]
cmp dword [rbx + 8], eax
je 0x1401e9c7e
test byte [rsp + 0x50], 0x40
je 0x1401ea37a
mov eax, 1
mov word [rbx + 0xe], ax
mov r15d, eax
mov dword [r13 + 0x12c], eax
jmp 0x1401e9c67
mov eax, dword [r13 + 0xd4]
cmp dword [rbx + 8], eax
je 0x1401ea388
movzx eax, word [r13 + 0xb0]
inc esi
add rbx, 0x10
mov dword [rbp - 0x70], esi
mov edi, esi
cmp esi, eax
jl 0x1401e9c10
movzx eax, word [r13 + 0xb0]
cmp edi, eax
jl 0x1401e9d76
mov ecx, dword [r13 + 0xc8]
cmp eax, ecx
jb 0x1401e9cfd
mov rax, qword [r13]
lea edi, [rcx + rcx]
mov ecx, edi
shl rcx, 4
mov rdx, qword [rax + 0x10]
call qword [rax]
mov rbx, rax
test rax, rax
je 0x1401ea396
mov r8d, dword [r13 + 0xc8]
mov rcx, rax
mov rdx, qword [r13 + 0xc0]
shl r8, 4
call fcn.140258d60
cmp dword [r13 + 0xc8], 0x14
jbe 0x1401e9cef
mov r8, qword [r13]
mov rcx, qword [r13 + 0xc0]
mov rdx, qword [r8 + 0x10]
call qword [rreloc.WS2_32.dll_htonl + 8]
mov qword [r13 + 0xc0], rbx
mov dword [r13 + 0xc8], edi
movzx ecx, word [r13 + 0xb0]
mov rax, qword [r13 + 0xc0]
add rcx, rcx
mov qword [rax + rcx*8], r12
movzx ecx, word [r13 + 0xb0]
mov rax, qword [r13 + 0xc0]
add rcx, rcx
mov r12, qword [rsp + 0x60]
mov word [rax + rcx*8 + 0xc], r14w
movzx edx, word [r13 + 0xb0]
mov rcx, qword [r13 + 0xc0]
add rdx, rdx
mov eax, dword [r13 + 0xd4]
mov dword [rcx + rdx*8 + 8], eax
movzx ecx, word [r13 + 0xb0]
mov rax, qword [r13 + 0xc0]
add rcx, rcx
mov word [rax + rcx*8 + 0xe], r15w
inc word [r13 + 0xb0]
mov r15, qword [rbp + 0x60]
jmp 0x1401e78c4
mov r12, qword [rsp + 0x60]
mov edi, dword [rsp + 0x50]
xor esi, esi
mov r15, qword [rbp + 0x60]
mov r9, qword [rsp + 0x58]
mov r11, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x54]
jmp 0x1401e7944
cmp edx, 0x2d
jne 0x1401e9e85
mov rax, r11
sub rax, r15
and rax, 0xfffffffffffffffe
cmp rax, 2
jle 0x1401e9e85
movzx eax, word [r15 + 2]
sub ax, 0x30
cmp ax, 9
ja 0x1401e9e85
mov r13, qword [rbp + 0x78]
mov r8d, dword [r13 + 0xd4]
lea rax, [rsp + 0x68]
mov r9d, 0xffff
mov qword [rsp + 0x30], rax
lea rcx, [rbp + 0x60]
lea rax, [rbp - 0x70]
mov rdx, r11
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xa1
call fcn.1401ec240
test eax, eax
je 0x1401ea36d
mov ecx, dword [rbp - 0x70]
mov r15, qword [rbp + 0x60]
test ecx, ecx
js 0x1401ea3c0
cmp r15, qword [rsp + 0x58]
jae 0x1401ea4d5
cmp word [r15], 0x29
jne 0x1401ea4d5
xor esi, esi
mov r9, qword [rsp + 0x58]
or ecx, 0x80200000
mov r11, qword [rsp + 0x70]
mov edi, dword [rsp + 0x50]
mov dword [r12], ecx
mov rcx, r15
sub rcx, qword [r13 + 0x38]
add r15, 2
sar rcx, 1
mov rax, rcx
mov dword [r12 + 8], ecx
shr rax, 0x20
mov dword [r12 + 4], eax
add r12, 0xc
mov eax, 1
mov qword [rbp - 0x58], rcx
mov ecx, dword [rsp + 0x54]
mov qword [rsp + 0x60], r12
mov dword [rsp + 0x78], eax
jmp 0x1401e7944
movzx r14d, word [rbp + 0x68]
mov rsi, qword [rbp - 0x50]
inc r14w
mov word [rbp + 0x68], r14w
test rsi, rsi
jne 0x1401e9eaa
mov r13, qword [rbp + 0x78]
mov rsi, qword [r13 + 0x28]
mov qword [rbp - 0x50], rsi
jmp 0x1401e9ec0
add rsi, 0xc
mov qword [rbp - 0x50], rsi
cmp rsi, qword [rbp - 0x10]
jae 0x1401ea3ea
mov r13, qword [rbp + 0x78]
mov word [rsi + 6], bx
mov ebx, dword [rsp + 0x50]
mov eax, ebx
and eax, 0x10424e8
mov word [rsi], r14w
mov dword [rsi + 8], eax
cmp word [r15], 0x7c
jne 0x1401e9f1b
movzx eax, word [r13 + 0xd4]
mov word [rsi + 2], ax
movzx eax, word [r13 + 0xd4]
mov word [rsi + 4], ax
mov word [rsi + 6], 1
or dword [r13 + 0xd0], 0x200000
mov dword [r12], 0x801a0000
add r12, 4
add r15, 2
jmp 0x1401ea120
xor edi, edi
lea r8, [rbp - 0x28]
mov dword [rsi + 2], edi
mov ecx, edi
mov dword [rbp - 0x24], ecx
mov edx, edi
mov dword [rbp - 0x28], edx
mov r9d, 1
mov r10d, ebx
cmp r15, r11
jae 0x1401ea031
cmp word [r15], 0x5e
jne 0x1401e9f54
and ebx, 0xfeffdb57
mov r9d, edi
add r15, 2
cmp r15, r11
jae 0x1401ea031
lea rdx, [0x140000000]
nop dword [rax]
nop dword [rax + rax]
movzx eax, word [r15]
cmp eax, 0x29
je 0x1401ea02b
cmp eax, 0x3a
je 0x1401ea02b
add r15, 2
lea ecx, [rax - 0x2d]
cmp ecx, 0x4b
ja case.0x1401e9fab.53
movsxd rax, ecx
movzx eax, byte [rdx + rax + 0x1ea6d4]
mov ecx, dword [rdx + rax*4 + 0x1ea6b0]
add rcx, rdx
jmp rcx
test r9d, r9d
je 0x1401ea3ce
lea r8, [rbp - 0x24]
mov r9d, edi
jmp 0x1401ea01f
or dword [r8], 0x40
or dword [r13 + 0xd0], 0x400
jmp 0x1401ea01f
or dword [r8], 8
jmp 0x1401ea01f
or dword [r8], 0x400
jmp 0x1401ea01f
or dword [r8], 0x2000
jmp 0x1401ea01f
or dword [r8], 0x20
jmp 0x1401ea01f
or dword [r8], 0x40000
jmp 0x1401ea01f
mov ecx, dword [r8]
mov rax, r15
bts ecx, 7
mov dword [r8], ecx
cmp r15, r11
jae 0x1401ea022
cmp word [r15], 0x78
jne 0x1401e9f70
bts ecx, 0x18
mov dword [r8], ecx
add r15, 2
mov rax, r15
cmp rax, r11
jb 0x1401e9f70
mov edx, dword [rbp - 0x28]
mov ecx, dword [rbp - 0x24]
mov eax, edx
and eax, 0x1000080
cmp eax, 0x80
je 0x1401ea043
test cl, cl
jns 0x1401ea047
bts ecx, 0x18
or ebx, edx
not ecx
and ebx, ecx
mov dword [rsp + 0x50], ebx
cmp r15, r11
jae 0x1401ea4d5
movzx eax, word [r15]
add r15, 2
cmp ax, 0x29
jne 0x1401ea093
mov eax, 0xffff
add r14w, ax
mov word [rbp + 0x68], r14w
cmp rsi, qword [r13 + 0x28]
jbe 0x1401ea08d
cmp word [rsi - 0xc], r14w
lea rax, [rsi - 0xc]
jne 0x1401ea08d
mov qword [rbp - 0x50], rax
jmp 0x1401ea0a4
mov word [rsi], r14w
jmp 0x1401ea0a4
mov dword [r12], 0x801a0000
add r12, 4
mov qword [rsp + 0x60], r12
mov r9, qword [rsp + 0x58]
mov r11, qword [rsp + 0x70]
mov edi, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x54]
cmp ebx, r10d
je 0x1401ea0d1
mov dword [r12], 0x801b0000
mov dword [r12 + 4], ebx
add r12, 8
mov qword [rsp + 0x60], r12
xor esi, esi
jmp 0x1401e7949
mov rsi, qword [rbp - 0x50]
movzx r14d, word [rbp + 0x68]
mov r13, qword [rbp + 0x78]
test rsi, rsi
je 0x1401ea114
cmp word [rsi], r14w
jne 0x1401ea114
test byte [rsi + 6], 1
je 0x1401ea114
movzx eax, word [rsi + 4]
mov ecx, dword [r13 + 0xd4]
cmp ecx, eax
jbe 0x1401ea109
mov word [rsi + 4], cx
movzx eax, word [rsi + 2]
mov dword [r13 + 0xd4], eax
mov dword [r12], 0x80010000
add r12, 4
mov qword [rsp + 0x60], r12
mov edi, dword [rsp + 0x50]
xor esi, esi
mov r9, qword [rsp + 0x58]
mov r11, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x54]
jmp 0x1401e7949
mov rsi, qword [rbp - 0x50]
mov eax, 1
movzx r14d, word [rbp + 0x68]
mov dword [rsp + 0x78], eax
test rsi, rsi
je 0x1401ea1c8
cmp word [rsi], r14w
jne 0x1401ea1c8
mov ebx, dword [rsp + 0x50]
mov r13, qword [rbp + 0x78]
and ebx, 0xfefbdb17
or ebx, dword [rsi + 8]
mov dword [rsp + 0x50], ebx
test byte [rsi + 6], al
je 0x1401ea189
movzx eax, word [rsi + 4]
cmp eax, dword [r13 + 0xd4]
jbe 0x1401ea189
mov dword [r13 + 0xd4], eax
movzx eax, word [rsi + 6]
movzx edi, ax
not di
shr edi, 1
and edi, 1
mov dword [rsp + 0x78], edi
test al, 4
je 0x1401ea1ac
mov dword [r12], 0x80190000
add r12, 4
cmp rsi, qword [r13 + 0x28]
jne 0x1401ea1ba
xor esi, esi
mov qword [rbp - 0x50], rsi
jmp 0x1401ea1ce
sub rsi, 0xc
mov dword [rsp + 0x78], edi
mov qword [rbp - 0x50], rsi
jmp 0x1401ea1cc
mov r13, qword [rbp + 0x78]
xor esi, esi
test r14w, r14w
je 0x1401ea3f4
mov r9, qword [rsp + 0x58]
mov eax, 0xffff
mov r11, qword [rsp + 0x70]
add r14w, ax
mov edi, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x54]
mov dword [r12], 0x80190000
add r12, 4
mov qword [rsp + 0x60], r12
mov word [rbp + 0x68], r14w
jmp 0x1401e7949
mov r13, qword [rbp + 0x78]
jmp 0x1401ea125
mov edx, 0x8c
jmp 0x1401e87cc
sub r15, 2
mov edx, 0xb0
jmp 0x1401e87cc
mov edx, 0x76
jmp 0x1401e87cc
mov edx, WSAGetLastError
sub r15, 2
jmp 0x1401e87cc
movzx eax, word [r15]
mov edx, ebx
sub r15, 2
cmp ax, 0x3a
setne dl
add edx, 0x70
jmp 0x1401e87cc
mov edx, WSAStartup
sub r15, 2
jmp 0x1401e87cc
mov r15, qword [rbp + 0x60]
mov edx, WSAGetLastError
sub r15, 2
jmp 0x1401e87cc
mov edx, 0xab
mov r15, qword [rbp + 0x60]
jmp 0x1401e87cc
mov r15, qword [rbp + 0x60]
mov edx, __WSAFDIsSet
jmp 0x1401e87cc
mov r15, rcx
mov edx, __WSAFDIsSet
jmp 0x1401e87cc
mov edx, WSAGetLastError
sub r15, 2
jmp 0x1401e87cc
mov edx, 0x6a
jmp 0x1401e87cc
lea eax, [rcx + 0x7fd90000]
mov edx, 0xc6
test eax, 0xfffeffff
mov eax, 0x80
cmovne edx, eax
jmp 0x1401e87c8
mov edx, 0xbd
jmp 0x1401e87c8
mov edx, 0xc3
jmp 0x1401e87c8
mov edx, 0xa6
jmp 0x1401e87cc
mov edx, 0x8d
jmp 0x1401e87cc
mov edx, 0x9e
jmp 0x1401e87cc
mov edx, 0x81
jmp 0x1401e87cc
mov edx, 0xac
jmp 0x1401e87cc
mov edx, 0xb5
mov r15, r10
jmp 0x1401e87cc
mov edx, 0xb6
jmp 0x1401e87cc
mov edx, 0x8a
jmp 0x1401e87cc
mov edx, 0x8b
jmp 0x1401e87cc
mov edx, reloc.WS2_32.dll_WSAStartup
jmp 0x1401e87cc
mov edx, 0xb3
jmp 0x1401e87cc
mov edx, 0x7c
jmp 0x1401e87cc
mov r15, qword [rbp + 0x60]
mov edx, dword [rsp + 0x68]
jmp 0x1401e87cc
mov r15, qword [rbp + 0x60]
mov edx, 0x8f
jmp 0x1401e87cc
mov r15, qword [rbp + 0x60]
mov edx, 0xa5
jmp 0x1401e87cc
mov r15, qword [rbp + 0x60]
mov edx, 0x79
jmp 0x1401e87cc
mov r15, qword [rbp + 0x60]
mov edx, __WSAFDIsSet
jmp 0x1401e87cc
mov r15, qword [rbp + 0x60]
mov edx, 0xc5
jmp 0x1401e87cc
mov edx, reloc.WS2_32.dll_WSAStartup
sub r15, 2
jmp 0x1401e87cc
mov edx, 0xc2
add r15, 0xfffffffffffffffe
jmp 0x1401e87cc
mov edx, reloc.WS2_32.dll_WSAGetLastError
add r15, 0xfffffffffffffffe
jmp 0x1401e87cc
mov edx, 0xb8
jmp 0x1401e87cc
mov edx, 0x7a
sub r15, 2
jmp 0x1401e87cc
test ecx, ecx
je 0x1401ea41a
mov edx, 0xa0
jmp 0x1401e87cc
mov edx, 0x77
jmp 0x1401e87cc
mov r9d, dword [rbp - 0x2c]
mov rbx, qword [rbp + 8]
xor edi, edi
mov edx, dword [rbp - 0x3c]
mov r8d, 0xff
mov rcx, r12
test r11, r11
je 0x1401ea447
mov rax, r15
sub rax, qword [r13 + 0x38]
sar rax, 1
sub eax, dword [r11 + 4]
mov dword [r11 + 8], eax
test r9d, r9d
je 0x1401ea489
test r11, r11
je 0x1401ea461
lea rax, [r12 - 0x10]
cmp r11, rax
jne 0x1401ea461
cmp dword [r11 + 0xc], r8d
je 0x1401ea47b
mov r11, r12
mov dword [r12], 0x80060000
lea rcx, [r12 + 0x10]
mov dword [r12 + 8], edi
mov dword [r12 + 0xc], r8d
mov rax, r15
sub rax, qword [r13 + 0x38]
sar rax, 1
mov dword [r11 + 4], eax
test dl, 8
je 0x1401ea49d
mov dword [rcx], 0x80190000
mov dword [rcx + 4], 0x80160000
jmp 0x1401ea4af
test dl, 4
je 0x1401ea4b3
mov dword [rcx], 0x80190000
mov dword [rcx + 4], 0x80180005
add rcx, 8
cmp rcx, rbx
jb 0x1401ea4c2
mov edx, 0xa3
jmp 0x1401e87cc
mov dword [rcx], 0x80000000
test r14w, r14w
jne 0x1401ea4d5
xor eax, eax
jmp 0x1401e87e0
mov edx, WSAStartup
jmp 0x1401e87cc