Function at 0x1404a4780
Capabilities:
Encode data using base64
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
xor ebx, ebx
mov r11, r9
mov r10d, edx
mov qword [rbp - 8], rbx
mov r8d, r10d
mov qword [rsp + 0x70], rbx
shr r8d, 2
mov r12, rcx
mov rax, qword [r11]
and r8d, 1
mov r15, qword [r11 + 0xe0]
mov r9d, ebx
mov rsi, qword [r11 + 0xe8]
movzx edi, bx
mov r13, qword [r11 + 0x40]
mov r14d, ebx
mov edx, dword [rax + 0x40]
mov eax, r10d
shr eax, 0x13
and eax, 1
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x60], rsi
mov dword [rbp - 0x60], ebx
mov dword [rbp - 0x30], ebx
mov dword [rbp - 0x38], edx
mov word [rbp + 0x68], bx
mov dword [rbp - 0x48], ebx
mov dword [rbp - 0x44], ebx
mov dword [rsp + 0x58], ebx
mov dword [rsp + 0x7c], ebx
mov dword [rsp + 0x50], ebx
mov dword [rbp - 0x70], eax
mov dword [rbp - 0x34], r8d
mov qword [rbp - 0x80], r13
mov qword [rbp], rbx
test dl, 8
je 0x1404a4831
mov dword [r15], 0x80090000
jmp 0x1404a483d
test dl, 4
je 0x1404a484e
mov dword [r15], 0x80180005
mov dword [r15 + 4], 0x801a0000
add r15, 8
mov qword [rsp + 0x68], r15
mov qword [rbp - 0x28], rax
bt r10d, 0x19
jae 0x1404a494b
cmp rcx, r13
jae 0x1404a748b
mov r10, r14
mov r9d, r8d
mov r14d, 0xff
mov ecx, 0xfc00
mov ebx, 0x10000
nop dword [rax]
cmp r15, rsi
jae 0x1404a4941
movzx edx, word [r12]
mov r8, r12
add r12, 2
test rax, rax
je 0x1404a48c5
mov eax, edx
and eax, ecx
cmp eax, 0xd800
jne 0x1404a48c5
movzx ecx, word [r12]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
add edx, ebx
add r12, 2
test r9, r9
je 0x1404a491e
mov rcx, r15
test r10, r10
je 0x1404a48f3
mov rax, r8
sub rax, qword [r11 + 0x38]
sar rax, 1
sub eax, dword [r10 + 4]
mov dword [r10 + 8], eax
lea rax, [r15 - 0x10]
cmp r10, rax
jne 0x1404a48f3
cmp dword [r10 + 0xc], r14d
je 0x1404a490b
xor eax, eax
mov dword [r15], 0x80060000
mov dword [r15 + 8], eax
lea rcx, [r15 + 0x10]
mov r10, r15
mov dword [r15 + 0xc], r14d
sub r8, qword [r11 + 0x38]
mov r15, rcx
sar r8, 1
mov dword [r10 + 4], r8d
mov qword [rsp + 0x70], r10
mov rax, qword [rbp - 0x28]
mov ecx, 0xfc00
mov dword [r15], edx
add r15, 4
cmp r12, r13
jb 0x1404a4880
mov r9, qword [rsp + 0x70]
jmp 0x1404a7484
mov edx, 0xa3
jmp 0x1404a7535
mov r8, qword [r11 + 0x50]
movabs rax, 0xaaaaaaaaaaaaaaab
add r8, r8
mov qword [rbp - 0x50], rbx
mul r8
mov rcx, r8
shr rdx, 3
lea rax, [rdx + rdx*2]
mov edx, ebx
shl rax, 2
sub rcx, rax
mov rax, qword [r11 + 0x28]
sub rax, rcx
movzx ecx, bx
add rax, r8
mov r8d, r10d
mov qword [rbp - 0x10], rax
bts r8d, 7
mov eax, r10d
and eax, 0x1000000
cmove r8d, r10d
mov r10d, 0xfc00
mov dword [rsp + 0x54], r8d
jmp case.default.0x1404a5483
mov r13, rbx
jmp case.default.0x1404a5483
mov rsi, qword [rsp + 0x60]
nop word [rax + rax]
movzx edi, cx
cmp r12, r13
jae 0x1404a7478
cmp r15, rsi
jae 0x1404a4941
mov rdx, qword [r11]
movzx eax, cx
cmp eax, dword [rdx + 0x3c]
ja 0x1404a746e
movzx esi, word [r12]
mov rbx, r12
add r12, 2
mov dword [rsp + 0x78], esi
cmp dword [rbp - 0x70], 0
mov qword [rbp + 0x60], r12
je 0x1404a4a3a
mov eax, esi
and eax, r10d
cmp eax, 0xd800
jne 0x1404a4a3a
movzx ecx, word [r12]
and esi, 0x3ff
mov eax, esi
and ecx, 0x3ff
shl eax, 0xa
mov esi, ecx
movzx ecx, word [rbp + 0x68]
or esi, eax
add esi, 0x10000
add r12, 2
mov dword [rsp + 0x78], esi
mov qword [rbp + 0x60], r12
cmp dword [rsp + 0x7c], 0
je 0x1404a4b1f
cmp esi, 0x5c
jne 0x1404a4a6f
cmp r12, r13
jae 0x1404a4a6f
cmp word [r12], 0x45
jne 0x1404a4a6f
mov rsi, qword [rsp + 0x60]
xor eax, eax
mov edx, dword [rsp + 0x50]
add r12, 2
mov dword [rsp + 0x7c], eax
jmp case.default.0x1404a5483
cmp dword [rbp - 0x44], 0
jg 0x1404a4fe3
mov edx, dword [rsp + 0x50]
test edx, edx
jne 0x1404a4aff
mov ecx, dword [rbp - 0x48]
mov eax, ecx
dec ecx
mov dword [rbp - 0x48], ecx
test eax, eax
jg 0x1404a4aff
mov rcx, r15
test r9, r9
je 0x1404a4aa9
mov rax, rbx
sub rax, qword [r11 + 0x38]
sar rax, 1
sub eax, dword [r9 + 4]
mov dword [r9 + 8], eax
cmp dword [rbp - 0x34], 0
jne 0x1404a4ab6
xor eax, eax
mov r9d, eax
jmp 0x1404a4af7
test r9, r9
je 0x1404a4acf
lea rax, [r15 - 0x10]
cmp r9, rax
jne 0x1404a4acf
mov eax, 0xff
cmp dword [r9 + 0xc], eax
je 0x1404a4aec
xor eax, eax
mov dword [r15], 0x80060000
mov dword [r15 + 8], eax
lea rcx, [r15 + 0x10]
mov eax, 0xff
mov r9, r15
mov dword [r15 + 0xc], eax
sub rbx, qword [r11 + 0x38]
sar rbx, 1
mov dword [r9 + 4], ebx
mov qword [rsp + 0x70], r9
mov r15, rcx
mov dword [r15], esi
add r15, 4
xor eax, eax
mov qword [rsp + 0x68], r15
mov ecx, eax
mov dword [rbp - 0x60], eax
movzx ecx, word [rbp + 0x68]
lea r14d, [rax + 1]
jmp 0x1404a49b5
cmp dword [rsp + 0x50], 0
je 0x1404a4caf
mov eax, r8d
and eax, 0x400080
cmp eax, 0x400080
jne 0x1404a4b86
mov eax, 0xff
cmp esi, eax
jbe 0x1404a4b55
mov eax, esi
or eax, 1
cmp eax, 0x200f
je 0x1404a4b55
cmp eax, 0x2029
jne 0x1404a4b86
test esi, 0xffffff00
jne 0x1404a4caf
cmp esi, 0x23
je 0x1404a4caf
mov rax, qword [r11 + 0x20]
mov ecx, esi
test byte [rsi + rax], 1
jne 0x1404a4caf
cmp esi, 0x85
je 0x1404a4caf
cmp esi, 0x29
je 0x1404a4c4b
cmp esi, 0x5c
je 0x1404a4bb8
movzx ecx, word [rbp + 0x68]
mov r14d, 1
mov edx, dword [rsp + 0x50]
mov dword [r15], esi
add r15, 4
mov rsi, qword [rsp + 0x60]
mov qword [rsp + 0x68], r15
jmp case.default.0x1404a5483
xor eax, eax
bt r8d, 0x16
jae 0x1404a4c18
mov qword [rsp + 0x38], r11
lea r9, [rsp + 0x58]
mov dword [rsp + 0x30], eax
lea rcx, [rbp + 0x60]
mov eax, dword [rdx + 0x40]
mov rdx, r13
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r8d
lea r8, [rsp + 0x78]
call fcn.14049e0b0
mov edx, dword [rsp + 0x58]
mov ecx, eax
test edx, edx
jne 0x1404a742d
mov r12, qword [rbp + 0x60]
mov r10d, 0xfc00
mov esi, dword [rsp + 0x78]
mov r11, qword [rbp + 0x78]
mov r9, qword [rsp + 0x70]
mov r8d, dword [rsp + 0x54]
jmp 0x1404a4c1a
mov ecx, eax
test ecx, ecx
je 0x1404a4b94
mov rsi, qword [rsp + 0x60]
mov edx, dword [rsp + 0x50]
sub ecx, 0x19
je 0x1404a4ca6
sub ecx, 1
jne 0x1404a72e9
movzx ecx, word [rbp + 0x68]
mov eax, 1
mov dword [rsp + 0x7c], eax
jmp case.default.0x1404a5483
xor edi, edi
mov rax, r12
sub rax, qword [rbp]
mov ecx, 0xffff
sar rax, 1
mov r14d, edi
dec rax
mov dword [rsp + 0x50], edi
cmp rax, rcx
jg 0x1404a72f3
mov rcx, qword [rbp - 8]
mov rax, r15
mov ebx, dword [rbp - 0x30]
sub rax, rcx
mov rsi, qword [rsp + 0x60]
mov edx, edi
sar rax, 2
dec eax
mov dword [rcx], eax
movzx ecx, word [rbp + 0x68]
test ebx, ebx
je case.default.0x1404a5483
mov dword [r15], ebx
add r15, 4
mov qword [rsp + 0x68], r15
mov dword [rbp - 0x30], edi
movzx ecx, word [rbp + 0x68]
jmp case.default.0x1404a5483
cmp esi, 0x5c
jne 0x1404a4ced
cmp r12, r13
jae 0x1404a4ced
movzx eax, word [r12]
cmp ax, 0x51
je 0x1404a4cca
cmp ax, 0x45
jne 0x1404a4ced
movzx ecx, word [rbp + 0x68]
xor ebx, ebx
mov rsi, qword [rsp + 0x60]
cmp ax, 0x51
mov edx, dword [rsp + 0x50]
sete bl
add r12, 2
mov dword [rsp + 0x7c], ebx
jmp case.default.0x1404a5483
test r8b, r8b
jns 0x1404a4e61
cmp esi, 0x100
jae 0x1404a4d16
mov rax, qword [r11 + 0x20]
mov edx, dword [rsp + 0x50]
mov ecx, esi
movzx ecx, word [rbp + 0x68]
test byte [rsi + rax], 1
jne 0x1404a49b5
movzx ecx, word [rbp + 0x68]
mov edx, dword [rsp + 0x50]
cmp esi, 0x85
je 0x1404a49b5
mov eax, esi
or eax, 1
cmp eax, 0x200f
je 0x1404a49b5
cmp eax, 0x2029
je 0x1404a49b5
cmp esi, 0x23
jne 0x1404a4e61
mov rsi, qword [rsp + 0x60]
cmp r12, r13
jae case.default.0x1404a5483
nop dword [rax]
mov edx, dword [r11 + 0x100]
test edx, edx
je 0x1404a4dc1
mov r8, qword [r11 + 0x40]
cmp r12, r8
jae 0x1404a4dfb
mov eax, dword [rbp - 0x70]
lea rbx, [r11 + 0x104]
mov r9, rbx
mov dword [rsp + 0x20], eax
mov rcx, r12
call fcn.1404db8a0
mov r11, qword [rbp + 0x78]
mov r10d, 0xfc00
test eax, eax
je 0x1404a4dfb
mov eax, dword [rbx]
mov r9, qword [rsp + 0x70]
mov r8d, dword [rsp + 0x54]
movzx ecx, word [rbp + 0x68]
mov rsi, qword [rsp + 0x60]
lea r12, [r12 + rax*2]
mov edx, dword [rsp + 0x50]
jmp case.default.0x1404a5483
lea rbx, [r11 + 0x104]
mov ecx, dword [rbx]
imul rax, rcx, 0xfffffffffffffffe
add rax, qword [r11 + 0x40]
cmp r12, rax
ja 0x1404a4dfb
movzx eax, word [r11 + 0x110]
cmp word [r12], ax
jne 0x1404a4dfb
cmp ecx, 1
je 0x1404a4d9f
movzx eax, word [r11 + 0x112]
cmp word [r12 + 2], ax
je 0x1404a4d9f
add r12, 2
cmp dword [rbp - 0x70], 0
je 0x1404a4e3c
mov r9, qword [rsp + 0x70]
mov r8d, dword [rsp + 0x54]
movzx ecx, word [rbp + 0x68]
mov rsi, qword [rsp + 0x60]
mov edx, dword [rsp + 0x50]
cmp r12, r13
jae case.default.0x1404a5483
movzx eax, word [r12]
mov ecx, 0xdc00
and ax, r10w
cmp ax, cx
jne 0x1404a4e3c
add r12, 2
mov r9, qword [rsp + 0x70]
mov r8d, dword [rsp + 0x54]
movzx ecx, word [rbp + 0x68]
mov rsi, qword [rsp + 0x60]
mov edx, dword [rsp + 0x50]
cmp r12, r13
jb 0x1404a4d60
jmp case.default.0x1404a5483
cmp esi, 0x28
jne 0x1404a4ebb
mov rax, r13
sub rax, r12
and rax, 0xfffffffffffffffe
cmp rax, 4
jl 0x1404a4f06
cmp word [r12], 0x3f
jne 0x1404a4f06
cmp word [r12 + 2], 0x23
jne 0x1404a4f06
nop
add r12, 2
cmp r12, r13
jae 0x1404a7301
cmp word [r12], 0x29
jne 0x1404a4e90
movzx ecx, word [rbp + 0x68]
add r12, 2
mov rsi, qword [rsp + 0x60]
mov edx, dword [rsp + 0x50]
jmp case.default.0x1404a5483
lea eax, [rsi - 0x2a]
cmp eax, 1
jbe 0x1404a4f89
cmp esi, 0x3f
je 0x1404a4f89
cmp esi, 0x7b
jne 0x1404a4f06
lea rax, [rsp + 0x58]
mov qword [rbp - 0x68], r12
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rcx, [rbp - 0x68]
mov rdx, r13
call fcn.1404a8cb0
test eax, eax
jne 0x1404a4f89
mov r11, qword [rbp + 0x78]
mov r9, qword [rsp + 0x70]
mov ecx, dword [rbp - 0x48]
mov eax, ecx
dec ecx
mov dword [rbp - 0x48], ecx
test eax, eax
jg 0x1404a4f89
mov rcx, r15
test r9, r9
je 0x1404a4f2e
mov rax, rbx
sub rax, qword [r11 + 0x38]
sar rax, 1
sub eax, dword [r9 + 4]
mov dword [r9 + 8], eax
cmp dword [rbp - 0x34], 0
jne 0x1404a4f3b
xor eax, eax
mov r9d, eax
jmp 0x1404a4f7c
test r9, r9
je 0x1404a4f54
lea rax, [r15 - 0x10]
cmp r9, rax
jne 0x1404a4f54
mov eax, 0xff
cmp dword [r9 + 0xc], eax
je 0x1404a4f71
xor eax, eax
mov dword [r15], 0x80060000
mov dword [r15 + 8], eax
lea rcx, [r15 + 0x10]
mov eax, 0xff
mov r9, r15
mov dword [r15 + 0xc], eax
sub rbx, qword [r11 + 0x38]
sar rbx, 1
mov dword [r9 + 4], ebx
mov qword [rsp + 0x70], r9
mov r15, rcx
mov qword [rsp + 0x68], rcx
mov edx, dword [rbp - 0x44]
test edx, edx
jle 0x1404a502b
cmp esi, 0x28
jne 0x1404a4fe3
mov rax, r13
sub rax, r12
and rax, 0xfffffffffffffffe
cmp rax, 6
jl 0x1404a4fe3
movzx eax, word [r12]
cmp ax, 0x3f
je 0x1404a4fba
cmp ax, 0x2a
jne 0x1404a4fe3
cmp ax, 0x2a
jne 0x1404a4ff1
movzx eax, word [r12 + 2]
mov r8d, 0xff
cmp ax, r8w
ja 0x1404a4fe3
mov r11, qword [rbp + 0x78]
movzx ecx, ax
mov rax, qword [r11 + 0x20]
test byte [rcx + rax], 4
jne 0x1404a5035
sub r12, 2
mov edx, 0x80
jmp 0x1404a7535
movzx ecx, word [r12 + 2]
sub ecx, 0x21
je 0x1404a502b
sub ecx, 0x1b
je 0x1404a5019
sub ecx, 1
je 0x1404a502b
cmp ecx, 6
jne 0x1404a4fe3
xor eax, eax
cmp edx, 2
sete al
test eax, eax
je 0x1404a4fe3
jmp 0x1404a502b
movzx eax, word [r12 + 4]
cmp ax, 0x3d
je 0x1404a502b
cmp ax, 0x21
jne 0x1404a4fe3
mov r11, qword [rbp + 0x78]
mov r8d, 0xff
xor ecx, ecx
xor eax, eax
mov dword [rbp - 0x44], eax
mov r13d, edx
mov eax, dword [rbp - 0x60]
mov ebx, r14d
mov dword [rbp - 0x68], ecx
mov edx, eax
mov dword [rbp - 0x60], ecx
mov r14d, ecx
test eax, eax
je 0x1404a5093
cmp esi, 0x3f
je 0x1404a505e
cmp esi, 0x2b
jne 0x1404a5093
cmp esi, 0x3f
mov ecx, 0x10000
mov r8d, 0x20000
cmove ecx, r8d
add ecx, eax
mov rax, 0xfffffffffffffffc
cmp edx, 0x803b0000
mov rdx, 0xfffffffffffffff4
cmove rax, rdx
mov dword [rax + r15], ecx
jmp 0x1404a72c3
lea eax, [rsi - 0x24]
cmp eax, 0x58
ja case.0x1404a50b8.37
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0x4a7594]
mov ecx, dword [rdx + rax*4 + 0x4a7560]
add rcx, rdx
jmp rcx
mov rax, qword [r11]
lea r9, [rsp + 0x58]
mov r13, qword [rbp - 0x80]
lea r8, [rsp + 0x78]
mov qword [rsp + 0x38], r11
lea rcx, [rbp + 0x60]
mov dword [rsp + 0x30], r14d
mov rdx, r13
mov eax, dword [rax + 0x40]
mov rsi, r12
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x20], eax
call fcn.14049e0b0
mov edx, dword [rsp + 0x58]
mov edi, eax
mov r12, qword [rbp + 0x60]
mov rbx, qword [rbp + 0x78]
test edx, edx
jne 0x1404a5112
mov edx, dword [rsp + 0x78]
xor r8d, r8d
jmp 0x1404a517c
mov rbx, qword [rbp + 0x78]
test byte [rbp - 0x38], 2
je 0x1404a7535
mov qword [rbp + 0x60], rsi
mov r12, rsi
cmp rsi, r13
jb 0x1404a512f
mov edx, 0x5c
jmp 0x1404a5176
lea r12, [rsi + 2]
movzx edx, word [rsi]
mov qword [rbp + 0x60], r12
cmp dword [rbp - 0x70], r14d
je 0x1404a5176
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x1404a5176
movzx ecx, word [r12]
and edx, 0x3ff
mov eax, edx
and ecx, 0x3ff
shl eax, 0xa
mov edx, ecx
or edx, eax
add edx, 0x10000
add r12, 2
mov qword [rbp + 0x60], r12
xor r8d, r8d
mov edi, r8d
test edi, edi
je 0x1404a5524
js 0x1404a54b8
lea eax, [rdi - 6]
cmp eax, 0x16
ja case.0x1404a51b1.13
lea rdx, [0x140000000]
cdqe
movzx eax, byte [rdx + rax + 0x4a7608]
mov ecx, dword [rdx + rax*4 + 0x4a75f0]
add rcx, rdx
jmp rcx
mov r8d, dword [rsp + 0x54]
bt r8d, 0x14
jae 0x1404a5349
mov edx, 0xb7
mov dword [rsp + 0x58], edx
jmp 0x1404a5112
mov word [rbp - 0x68], r8w
lea rax, [rsp + 0x58]
mov word [rsp + 0x78], r8w
lea r9, [rsp + 0x78]
lea r8, [rbp - 0x68]
mov qword [rsp + 0x28], rbx
lea rdx, [rbp - 0x20]
mov qword [rsp + 0x20], rax
lea rcx, [rbp + 0x60]
call fcn.1404a3de0
test eax, eax
jne 0x1404a536f
mov r12, qword [rbp + 0x60]
mov edx, dword [rsp + 0x58]
jmp 0x1404a5112
cmp r12, r13
jae 0x1404a5330
movzx eax, word [r12]
cmp ax, 0x7b
je 0x1404a523a
cmp ax, 0x3c
je 0x1404a5240
cmp ax, 0x27
jne 0x1404a5330
cmp ax, 0x3c
jne 0x1404a5247
mov ebx, 0x3e
jmp 0x1404a5258
cmp ax, 0x27
mov ebx, 0x7d
mov eax, 0x27
cmove ebx, eax
cmp edi, 0x1b
jne 0x1404a52da
cmp ebx, 0x7d
je 0x1404a52da
lea rax, [r12 + 2]
mov r9d, 0xffff
mov qword [rsp + 0x68], rax
lea rcx, [rsp + 0x68]
lea rax, [rsp + 0x58]
mov rdx, r13
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x78]
mov qword [rsp + 0x28], rax
mov rax, qword [rbp + 0x78]
mov dword [rsp + 0x20], 0xa1
mov r8d, dword [rax + 0xd4]
call fcn.1404a8b70
test eax, eax
je 0x1404a52ce
mov rcx, qword [rsp + 0x68]
cmp rcx, r13
jae 0x1404a52be
movzx eax, word [rcx]
cmp eax, ebx
je 0x1404a53a4
mov eax, 0x9d
mov edx, eax
mov dword [rsp + 0x58], eax
jmp 0x1404a510e
mov edx, dword [rsp + 0x58]
test edx, edx
jne 0x1404a510e
mov rax, qword [rbp + 0x78]
lea rcx, [rbp + 0x60]
mov r8d, dword [rbp - 0x70]
mov r9d, ebx
mov qword [rsp + 0x40], rax
mov rdx, r13
lea rax, [rsp + 0x58]
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x74]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x20], rax
call fcn.1404a88e0
test eax, eax
jne 0x1404a53af
mov r12, qword [rbp + 0x60]
mov edx, dword [rsp + 0x58]
jmp 0x1404a510e
cmp edi, 0x1b
mov edx, 0xa9
mov eax, 0x9d
cmove edx, eax
mov dword [rsp + 0x58], edx
jmp 0x1404a5112
mov r14d, 1
mov r11, qword [rbp + 0x78]
lea eax, [rdi - 0x7fe80000]
mov r9, qword [rsp + 0x70]
mov dword [r15], eax
add r15, 4
mov qword [rsp + 0x68], r15
jmp 0x1404a72d1
cmp dword [rbp - 0x20], r14d
je 0x1404a5380
xor eax, eax
cmp edi, 0xf
sete al
lea edi, [rax + 0xf]
movzx ecx, word [rbp - 0x68]
lea eax, [rdi - 0x7fe80000]
mov dword [r15], eax
movzx eax, word [rsp + 0x78]
shl ecx, 0x10
or ecx, eax
mov dword [r15 + 4], ecx
add r15, 8
jmp 0x1404a55bd
mov eax, dword [rbp - 0x78]
mov r12, rcx
jmp 0x1404a6f02
cmp edi, 0x1c
je 0x1404a53be
mov eax, 0x80210000
cmp ebx, 0x7d
jne 0x1404a53c3
mov eax, 0x80040000
mov dword [r15], eax
mov eax, dword [rbp - 0x74]
mov rcx, qword [rbp - 0x58]
mov dword [r15 + 4], eax
mov rax, rcx
shr rax, 0x20
mov dword [r15 + 8], eax
mov dword [r15 + 0xc], ecx
add r15, 0x10
jmp 0x1404a55bd
mov r14d, 1
mov r11, qword [rbp + 0x78]
lea eax, [rdi - 0x7fe80000]
mov dword [r15], eax
add r15, 4
mov qword [rsp + 0x68], r15
jmp 0x1404a72c7
mov r8d, dword [rsp + 0x54]
mov eax, 0x20000
mov r14d, 1
test eax, r8d
je 0x1404a534f
lea eax, [rdi - 7]
test eax, 0xfffffff9
jne 0x1404a5437
mov eax, 0x80180010
cmp edi, 0xd
jne 0x1404a543c
mov eax, 0x8018000f
mov r11, qword [rbp + 0x78]
mov r10d, 0xfc00
mov r9, qword [rsp + 0x70]
movzx ecx, word [rbp + 0x68]
mov rsi, qword [rsp + 0x60]
mov edx, dword [rsp + 0x50]
mov dword [r15], eax
add r15, 4
lea eax, [rdi - 6]
mov qword [rsp + 0x68], r15
cmp eax, 5
ja case.default.0x1404a5483
lea rdx, [0x140000000]
cdqe
mov ecx, dword [rdx + rax*4 + 0x4a7620]
add rcx, rdx
jmp rcx
mov dword [r15], 0x3000d
jmp 0x1404a549e
mov dword [r15], 0x60000
jmp 0x1404a549e
mov dword [r15], 0x80000
add r15, 4
mov qword [rsp + 0x68], r15
mov r11, qword [rbp + 0x78]
movzx ecx, word [rbp + 0x68]
mov edx, dword [rsp + 0x50]
jmp case.default.0x1404a5483
mov r11, qword [rbp + 0x78]
neg edi
mov rcx, r12
mov eax, edi
or eax, 0x80030000
sub rcx, qword [r11 + 0x38]
sar rcx, 1
dec rcx
mov dword [r15], eax
add r15, 4
mov qword [rbp - 0x58], rcx
mov qword [rsp + 0x68], r15
cmp edi, 0xa
jge 0x1404a5502
movsxd rax, edi
cmp qword [r11 + rax*8 + 0x58], 0xffffffffffffffff
jne 0x1404a5519
mov qword [r11 + rax*8 + 0x58], rcx
mov r14d, 1
jmp 0x1404a72c7
mov rax, rcx
shr rax, 0x20
mov dword [r15], eax
mov dword [r15 + 4], ecx
add r15, 8
mov qword [rsp + 0x68], r15
mov r14d, 1
jmp 0x1404a72c7
mov r11, qword [rbp + 0x78]
mov r14d, 1
mov dword [r15], edx
add r15, 4
mov qword [rsp + 0x68], r15
jmp 0x1404a72c7
mov dword [r15], 0x80090000
jmp 0x1404a72ba
mov dword [r15], 0x80160000
jmp 0x1404a72ba
mov dword [r15], 0x80170000
jmp 0x1404a72b4
mov r13, qword [rbp - 0x80]
mov ecx, 0x80320000
jmp 0x1404a55de
mov r13, qword [rbp - 0x80]
mov ecx, 0x80350000
jmp 0x1404a55de
mov r13, qword [rbp - 0x80]
mov ecx, 0x80380000
jmp 0x1404a55de
mov r13, qword [rbp - 0x80]
lea rax, [rsp + 0x58]
mov rdx, r13
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x18]
lea r8, [rbp - 0x1c]
lea rcx, [rbp + 0x60]
call fcn.1404a8cb0
test eax, eax
jne 0x1404a55d5
mov edx, dword [rsp + 0x58]
test edx, edx
jne 0x1404a742d
mov dword [r15], esi
add r15, 4
mov r12, qword [rbp + 0x60]
mov r14d, 1
mov r11, qword [rbp + 0x78]
mov qword [rsp + 0x68], r15
jmp 0x1404a72c7
mov r12, qword [rbp + 0x60]
mov ecx, 0x803b0000
mov dword [rbp - 0x60], ecx
test ebx, ebx
je 0x1404a730b
mov r11, qword [rbp + 0x78]
mov r10d, 0xfc00
mov r9, qword [rsp + 0x70]
mov r8d, dword [rsp + 0x54]
mov edx, dword [rsp + 0x50]
mov dword [r15], ecx
add r15, 4
movzx ecx, word [rbp + 0x68]
cmp esi, 0x7b
mov rsi, qword [rsp + 0x60]
mov qword [rsp + 0x68], r15
jne case.default.0x1404a5483
mov eax, dword [rbp - 0x1c]
mov dword [r15], eax
mov eax, dword [rbp - 0x18]
mov dword [r15 + 4], eax
add r15, 8
mov qword [rsp + 0x68], r15
jmp case.default.0x1404a5483
mov r13, qword [rbp - 0x80]
mov r10d, 1
mov rdi, r13
mov r14d, r10d
sub rdi, r12
mov rax, rdi
and rax, 0xfffffffffffffffe
cmp rax, 0xc
jl 0x1404a571e
lea r8d, [r10 + 5]
mov rcx, r12
lea rdx, [0x14017e6d8]
call fcn.1404d9f20
test eax, eax
je 0x1404a5692
mov r8d, 6
lea rdx, [0x14017e6e0]
mov rcx, r12
call fcn.1404d9f20
test eax, eax
jne 0x1404a5718
mov dword [r15], 0x80180005
add r15, 4
cmp word [r12 + 4], 0x3c
jne 0x1404a56af
mov dword [r15], 0x80230000
jmp 0x1404a56cb
mov eax, 0x80250000
mov dword [r15], eax
mov rax, qword [rbp + 0x70]
mov dword [rax], r14d
xor eax, eax
mov dword [r15 + 4], eax
add r15, 8
mov dword [r15], eax
mov r8d, dword [rsp + 0x54]
lea rax, [r15 + 4]
mov ecx, 0x20000
test ecx, r8d
jne 0x1404a56e6
mov dword [rax], 0x8018000b
jmp 0x1404a56f6
mov dword [rax], 0x80180010
add rax, 4
mov dword [rax], 0x80000
mov r11, qword [rbp + 0x78]
lea r15, [rax + 8]
mov r9, qword [rsp + 0x70]
add r12, 0xc
mov qword [rsp + 0x68], r15
mov dword [rax + 4], 0x80190000
jmp 0x1404a72d1
mov r10d, 1
cmp r12, r13
jae 0x1404a57b9
movzx r9d, word [r12]
cmp r9w, 0x3d
ja 0x1404a57b9
movabs rcx, 0x2400400000000000
bt rcx, r9
jae 0x1404a57b9
lea rcx, [r12 + 2]
mov rax, r13
sub rax, rcx
and rax, 0xfffffffffffffffe
cmp rax, 4
jl 0x1404a57b9
nop dword [rax]
movzx r8d, word [rcx]
cmp r8w, 0x5c
jne 0x1404a577f
movzx eax, word [rcx + 2]
sub ax, r8w
cmp ax, r14w
ja 0x1404a577f
add rcx, 2
jmp 0x1404a57a5
cmp r8w, 0x5b
jne 0x1404a578d
cmp word [rcx + 2], r9w
je 0x1404a57b9
cmp r8w, 0x5d
je 0x1404a57b9
cmp r8w, r9w
jne 0x1404a57a5
cmp word [rcx + 2], 0x5d
je 0x1404a7319
add rcx, 2
mov rax, r13
sub rax, rcx
and rax, 0xfffffffffffffffe
cmp rax, 4
jge 0x1404a5760
xor eax, eax
mov ebx, eax
cmp r12, r13
jae 0x1404a58ae
nop word [rax + rax]
movzx esi, word [r12]
sub rdi, 2
add r12, 2
mov dword [rsp + 0x78], esi
cmp qword [rbp - 0x28], 0
mov qword [rbp + 0x60], r12
je 0x1404a582a
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x1404a582a
movzx ecx, word [r12]
and esi, 0x3ff
mov eax, esi
and ecx, 0x3ff
shl eax, 0xa
add r12, 2
mov esi, ecx
mov qword [rbp + 0x60], r12
or esi, eax
add esi, 0x10000
mov dword [rsp + 0x78], esi
sub rdi, 2
cmp esi, 0x5c
jne 0x1404a5882
cmp r12, r13
jae 0x1404a584a
cmp word [r12], 0x45
jne 0x1404a584a
add r12, 2
mov qword [rbp + 0x60], r12
sub rdi, 2
jmp 0x1404a58a2
mov rax, rdi
and rax, 0xfffffffffffffffe
cmp rax, 6
jl 0x1404a58e0
mov r8d, 3
lea rdx, [0x14017e6e8]
mov rcx, r12
call fcn.1404d9f20
test eax, eax
jne 0x1404a58e0
add r12, 6
mov qword [rbp + 0x60], r12
sub rdi, 6
jmp 0x1404a58a2
test dword [rsp + 0x54], 0x1000000
je 0x1404a5896
cmp esi, 9
je 0x1404a58a2
cmp esi, 0x20
je 0x1404a58a2
test ebx, ebx
jne 0x1404a58ae
cmp esi, 0x5e
jne 0x1404a58ae
mov ebx, r10d
mov r10d, r14d
cmp r12, r13
jb 0x1404a57d0
mov r11, qword [rbp + 0x78]
cmp esi, 0x5d
jne 0x1404a58e4
test byte [r11 + 0xcc], r14b
je 0x1404a58e4
test ebx, ebx
mov eax, 0x800b0000
mov ecx, 0x800c0000
cmovne eax, ecx
mov dword [r15], eax
add r15, 4
mov qword [rsp + 0x68], r15
jmp 0x1404a72c7
mov r11, qword [rbp + 0x78]
test ebx, ebx
mov eax, 0x800a0000
mov ebx, dword [rsp + 0x7c]
mov ecx, 0x800e0000
cmovne eax, ecx
mov dword [r15], eax
add r15, 4
xor eax, eax
mov r14d, eax
lea edx, [rax + 1]
jmp 0x1404a590a
xor eax, eax
mov r10d, edx
test ebx, ebx
je 0x1404a593e
cmp esi, 0x5c
jne 0x1404a5a0f
cmp r12, r13
jae 0x1404a5a0f
cmp word [r12], 0x45
jne 0x1404a5a0f
mov ebx, eax
mov dword [rsp + 0x7c], eax
add r12, 2
jmp 0x1404a5afd
mov edi, dword [rsp + 0x54]
bt edi, 0x18
jae 0x1404a595a
cmp esi, 9
je 0x1404a5afd
cmp esi, 0x20
je 0x1404a5afd
cmp esi, 0x5b
jne 0x1404a5be1
mov rax, r13
sub rax, r12
and rax, 0xfffffffffffffffe
cmp rax, 6
jl 0x1404a5a0f
movzx r8d, word [r12]
cmp r8w, 0x3d
ja 0x1404a5a0f
movzx eax, r8w
movabs rcx, 0x2400400000000000
bt rcx, rax
jae 0x1404a5a0f
lea r9, [r12 + 2]
mov rax, r13
sub rax, r9
mov rbx, r9
and rax, 0xfffffffffffffffe
cmp rax, 4
jl 0x1404a5a0b
movzx edx, word [rbx]
cmp dx, 0x5c
jne 0x1404a59d2
movzx eax, word [rbx + 2]
lea rcx, [rbx + 2]
sub ax, dx
cmp ax, 1
ja 0x1404a59d2
mov rbx, rcx
jmp 0x1404a59f2
cmp dx, 0x5b
jne 0x1404a59df
cmp word [rbx + 2], r8w
je 0x1404a5a06
cmp dx, 0x5d
je 0x1404a5a06
cmp dx, r8w
jne 0x1404a59f2
cmp word [rbx + 2], 0x5d
je 0x1404a5a34
add rbx, 2
mov rax, r13
sub rax, rbx
and rax, 0xfffffffffffffffe
cmp rax, 4
jge 0x1404a59b3
mov edx, 1
mov ebx, dword [rsp + 0x7c]
xor r11d, r11d
cmp r14d, 1
jne 0x1404a5eb5
mov eax, dword [r15 - 8]
cmp eax, esi
jne 0x1404a5e88
sub r15, 4
mov r14d, r11d
jmp 0x1404a5afd
xor esi, esi
mov edi, esi
cmp r14d, 1
je 0x1404a5e7e
cmp r8w, 0x3a
jne 0x1404a7342
cmp word [r9], 0x5e
mov r12, r9
jne 0x1404a5a5e
lea edi, [rsi + 1]
add r12, 2
mov rdx, rbx
mov rcx, r12
sub rdx, r12
sar rdx, 1
call fcn.14049f3f0
mov r9d, eax
test eax, eax
js 0x1404a7338
lea r12, [rbx + 4]
lea rax, [r13 - 2]
cmp r12, rax
jae 0x1404a5a9c
cmp word [r12], 0x2d
jne 0x1404a5a9c
cmp word [r12 + 2], 0x5d
jne 0x1404a5e7e
mov eax, 0x20000
mov r14d, esi
test dword [rsp + 0x54], eax
je 0x1404a5bcc
lea ecx, [r9 + r9]
movsxd rax, ecx
lea r8, [0x140000000]
mov edx, dword [r8 + rax*4 + 0x57c2a0]
lea eax, [rcx + 1]
movsxd rcx, eax
mov r8d, dword [r8 + rcx*4 + 0x57c2a0]
test edx, edx
js 0x1404a5bb2
neg edi
sbb eax, eax
shl edx, 0x10
sub eax, 0x7fe7fff0
or edx, r8d
mov dword [r15], eax
mov dword [r15 + 4], edx
add r15, 8
mov ebx, dword [rsp + 0x7c]
mov edx, 1
cmp r12, r13
jae 0x1404a7376
movzx esi, word [r12]
mov r10d, 0xfc00
add r12, 2
mov dword [rsp + 0x78], esi
cmp qword [rbp - 0x28], 0
mov qword [rbp + 0x60], r12
je 0x1404a5b5c
mov eax, esi
and eax, r10d
cmp eax, 0xd800
jne 0x1404a5b5c
movzx ecx, word [r12]
and esi, 0x3ff
mov eax, esi
and ecx, 0x3ff
shl eax, 0xa
mov esi, ecx
or esi, eax
add esi, 0x10000
add r12, 2
mov dword [rsp + 0x78], esi
mov qword [rbp + 0x60], r12
mov r11, qword [rbp + 0x78]
cmp esi, 0x5d
jne 0x1404a5908
test ebx, ebx
jne 0x1404a5908
cmp r14d, 1
jne 0x1404a5b7f
mov dword [r15 - 4], 0x2d
mov r11, qword [rbp + 0x78]
mov r14d, edx
mov r9, qword [rsp + 0x70]
mov r8d, dword [rsp + 0x54]
movzx ecx, word [rbp + 0x68]
mov rsi, qword [rsp + 0x60]
mov edx, dword [rsp + 0x50]
mov dword [r15], 0x800d0000
add r15, 4
mov qword [rsp + 0x68], r15
jmp case.default.0x1404a5483
test r8d, r8d
je 0x1404a5bcc
neg edi
sbb eax, eax
sub eax, 0x7fe7ffed
mov dword [r15], eax
add r15, 4
jmp case.0x1404a5ceb.3
lea eax, [rdi + 0x801c]
shl eax, 0x10
mov dword [r15], eax
mov dword [r15 + 4], r9d
jmp 0x1404a5af0
cmp esi, 0x2d
jne 0x1404a5c10
cmp r14d, 2
jb 0x1404a5a0f
cmp r14d, 3
mov eax, 0x801e0000
mov ecx, 0x801f0000
mov r14d, edx
cmove eax, ecx
mov dword [r15], eax
add r15, 4
jmp 0x1404a5afd
cmp esi, 0x5c
jne 0x1404a5a0f
mov rax, qword [r11]
lea r9, [rsp + 0x58]
mov qword [rsp + 0x38], r11
lea r8, [rsp + 0x78]
mov dword [rsp + 0x30], edx
lea rcx, [rbp + 0x60]
mov rdx, r13
mov eax, dword [rax + 0x40]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], edi
call fcn.14049e0b0
mov edx, dword [rsp + 0x58]
mov ebx, eax
test edx, edx
je 0x1404a5cbd
test byte [rbp - 0x38], 2
je 0x1404a742d
mov qword [rbp + 0x60], r12
cmp r12, r13
jb 0x1404a5c6b
xor r11d, r11d
mov ebx, r11d
jmp 0x1404a5ccd
movzx esi, word [r12]
add r12, 2
cmp qword [rbp - 0x28], 0
mov qword [rbp + 0x60], r12
je 0x1404a5cb5
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x1404a5cb5
movzx ecx, word [r12]
and esi, 0x3ff
mov eax, esi
and ecx, 0x3ff
shl eax, 0xa
mov esi, ecx
or esi, eax
add esi, 0x10000
add r12, 2
mov qword [rbp + 0x60], r12
xor r11d, r11d
mov ebx, r11d
jmp 0x1404a5ccd
mov r12, qword [rbp + 0x60]
cmp eax, 0x1a
ja case.default.0x1404a5ceb
mov esi, dword [rsp + 0x78]
xor r11d, r11d
lea r8, [0x140000000]
movsxd rax, ebx
movzx eax, byte [r8 + rax + 0x4a7650]
mov ecx, dword [r8 + rax*4 + 0x4a7638]
add rcx, r8
jmp rcx
mov ebx, dword [rsp + 0x7c]
mov r10d, r11d
mov edx, 1
jmp 0x1404a5a12
mov ebx, dword [rsp + 0x7c]
mov esi, 8
mov r10d, r11d
lea edx, [rsi - 7]
jmp 0x1404a5a12
mov edx, 1
mov ebx, edx
mov dword [rsp + 0x7c], edx
jmp 0x1404a5afd
lea r8, [0x140000000]
cmp r14d, 1
je 0x1404a5e7e
xor r11d, r11d
lea edx, [rbx - 6]
mov r14d, r11d
cmp edx, 0xf
ja case.0x1404a5d53.13
movsxd rax, edx
mov ecx, dword [r8 + rax*4 + 0x4a766c]
add rcx, r8
jmp rcx
lea eax, [rbx - 0x7fe80000]
mov dword [r15], eax
add r15, 4
jmp case.default.0x1404a5db9
mov eax, 0x20000
test eax, edi
jne 0x1404a5d82
lea eax, [rbx - 0x7fe80000]
mov dword [r15], eax
add r15, 4
jmp case.default.0x1404a5db9
lea eax, [rbx - 7]
test eax, 0xfffffff9
jne 0x1404a5d96
mov eax, 0x80180010
cmp ebx, 0xd
jne 0x1404a5d9b
mov eax, 0x8018000f
mov dword [r15], eax
add r15, 4
cmp edx, 5
ja case.default.0x1404a5db9
movsxd rax, edx
mov ecx, dword [r8 + rax*4 + 0x4a76ac]
add rcx, r8
jmp rcx
mov dword [r15], 0x3000d
add r15, 4
jmp case.default.0x1404a5db9
mov dword [r15], 0x60000
add r15, 4
jmp case.default.0x1404a5db9
mov dword [r15], 0x80000
add r15, 4
jmp case.default.0x1404a5db9
mov rax, qword [rbp + 0x78]
lea r9, [rbp - 0x68]
mov qword [rsp + 0x28], rax
lea r8, [rsp + 0x78]
lea rax, [rsp + 0x58]
mov word [rsp + 0x78], r11w
lea rdx, [rbp - 0x14]
mov qword [rsp + 0x20], rax
lea rcx, [rbp + 0x60]
mov word [rbp - 0x68], r11w
call fcn.1404a3de0
test eax, eax
je 0x1404a73a8
cmp dword [rbp - 0x14], r14d
je 0x1404a5e35
xor eax, eax
cmp ebx, 0xf
sete al
lea ebx, [rax + 0xf]
movzx ecx, word [rsp + 0x78]
lea eax, [rbx - 0x7fe80000]
mov r12, qword [rbp + 0x60]
mov dword [r15], eax
movzx eax, word [rbp - 0x68]
shl ecx, 0x10
or ecx, eax
mov dword [r15 + 4], ecx
add r15, 8
lea rax, [r13 - 2]
cmp r12, rax
jae case.0x1404a5ceb.3
cmp word [r12], 0x2d
jne case.0x1404a5ceb.3
cmp word [r12 + 2], 0x5d
je case.0x1404a5ceb.3
mov edx, __WSAFDIsSet
jmp 0x1404a7535
ja 0x1404a7368
test r10d, r10d
jne 0x1404a5ea6
mov eax, 0x801f0000
cmp dword [r15 - 4], eax
jne 0x1404a5ea6
mov dword [r15 - 4], 0x801e0000
mov dword [r15], esi
mov r14d, r11d
add r15, 4
jmp 0x1404a5afd
mov dword [r15], esi
lea r14d, [r10 + 2]
add r15, 4
jmp 0x1404a5afd
mov rbx, qword [rbp - 0x80]
cmp r12, rbx
jae 0x1404a7530
movzx eax, word [r12]
cmp ax, 0x3f
je 0x1404a635f
movzx ecx, word [rbp + 0x68]
mov r8d, dword [rsp + 0x54]
cmp ax, 0x2a
je 0x1404a5f42
inc cx
mov word [rbp + 0x68], cx
bt r8d, 0xd
jb 0x1404a5f16
inc dword [r11 + 0xd4]
mov eax, dword [r11 + 0xd4]
or eax, 0x80080000
mov dword [r15], eax
jmp 0x1404a5f1d
mov dword [r15], 0x801a0000
mov r9, qword [rsp + 0x70]
add r15, 4
mov rsi, qword [rsp + 0x60]
mov r13, rbx
mov edx, dword [rsp + 0x50]
mov r10d, 0xfc00
mov qword [rsp + 0x68], r15
jmp case.default.0x1404a5483
mov r9, qword [rsp + 0x70]
mov rax, rbx
mov rsi, qword [rsp + 0x60]
sub rax, r12
mov edx, dword [rsp + 0x50]
and rax, 0xfffffffffffffffe
mov r10d, 0xfc00
cmp rax, 2
jle 0x1404a49b0
movzx eax, word [r12 + 2]
mov r8d, dword [rsp + 0x54]
movzx ecx, word [rbp + 0x68]
cmp eax, 0x29
je 0x1404a49b0
mov r14d, 0xff
cmp eax, r14d
ja 0x1404a61c2
mov ecx, eax
mov rax, qword [r11 + 0x20]
test byte [rcx + rax], 4
je 0x1404a61c2
mov r8d, dword [rbp - 0x70]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x40], r11
lea rcx, [rbp + 0x60]
mov qword [rsp + 0x38], rax
lea rsi, [0x14017e320]
lea rax, [rbp - 0x74]
xor r9d, r9d
mov qword [rsp + 0x30], rax
mov rdx, rbx
lea rax, [rbp - 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x20], rax
call fcn.1404a88e0
test eax, eax
je 0x1404a73a8
mov r12, qword [rbp + 0x60]
cmp r12, rbx
jae 0x1404a605d
cmp word [r12], 0x3a
jne 0x1404a605d
mov r14d, dword [rbp - 0x74]
lea rcx, [0x140000000]
mov r15, qword [rbp - 0x40]
xor eax, eax
mov ebx, eax
mov dword [rbp - 0x78], eax
nop dword [rax]
nop dword [rax + rax]
movsxd rax, ebx
lea rdi, [rax*8 + 0x17e3b0]
add rdi, rcx
cmp r14d, dword [rdi]
jne 0x1404a604c
mov r8, r14
mov rdx, rsi
mov rcx, r15
call fcn.1404d9f20
lea rcx, [0x140000000]
test eax, eax
je 0x1404a6067
mov eax, dword [rdi]
inc ebx
inc eax
mov dword [rbp - 0x78], ebx
add rsi, rax
cmp ebx, 0xd
jl 0x1404a6020
mov edx, 0xc3
jmp 0x1404a7535
movsxd rax, ebx
mov ecx, dword [rcx + rax*8 + 0x17e3b4]
test r13d, r13d
jle 0x1404a6087
lea eax, [rcx + 0x7fdd0000]
cmp eax, 0x30000
ja 0x1404a4fe7
cmp ecx, 0x80240000
ja 0x1404a60d2
je 0x1404a6ad8
cmp ecx, 0x80020000
je 0x1404a6a8a
cmp ecx, 0x80220000
je 0x1404a60ef
cmp ecx, 0x80230000
jne 0x1404a738a
mov r14d, dword [rbp - 0x68]
mov r15, qword [rsp + 0x68]
mov r11, qword [rbp + 0x78]
add r12, 2
mov dword [r15], 0x80230000
jmp 0x1404a6b63
lea eax, [rcx + 0x7fdb0000]
test eax, 0xfffeffff
je 0x1404a61a9
cmp ecx, 0x8fff0000
jne 0x1404a738a
mov r15, qword [rsp + 0x68]
add r12, 2
movzx edi, word [rbp + 0x68]
mov r10d, 0xfc00
mov r14d, dword [rbp - 0x68]
inc di
mov r13, qword [rbp - 0x80]
mov r11, qword [rbp + 0x78]
mov r9, qword [rsp + 0x70]
mov r8d, dword [rsp + 0x54]
mov rsi, qword [rsp + 0x60]
mov edx, dword [rsp + 0x50]
mov dword [r15], 0x80220000
add r15, 4
cmp ecx, 0x8fff0000
mov qword [rsp + 0x68], r15
movzx ecx, di
mov word [rbp + 0x68], di
jne case.default.0x1404a5483
mov rsi, qword [rbp - 0x50]
mov dword [r15], 0x80020000
add r15, 4
mov qword [rsp + 0x68], r15
test rsi, rsi
jne 0x1404a616a
mov rsi, qword [r11 + 0x28]
mov qword [rbp - 0x50], rsi
jmp 0x1404a6180
add rsi, 0xc
mov qword [rbp - 0x50], rsi
cmp rsi, qword [rbp - 0x10]
jae 0x1404a7380
mov r11, qword [rbp + 0x78]
mov r8d, dword [rsp + 0x54]
mov eax, 4
movzx ecx, word [rbp + 0x68]
mov r14d, dword [rbp - 0x68]
mov word [rsi + 6], ax
mov eax, r8d
and eax, 0x10424e8
mov word [rsi], cx
mov dword [rsi + 8], eax
jmp 0x1404a49b5
mov r15, qword [rsp + 0x68]
sub r12, 2
mov r14d, dword [rbp - 0x68]
mov r11, qword [rbp + 0x78]
mov dword [r15], ecx
jmp 0x1404a6b30
mov r8d, dword [rbp - 0x70]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x40], r11
lea rcx, [rbp + 0x60]
mov qword [rsp + 0x38], rax
lea rsi, [0x14017e248]
lea rax, [rbp - 0x74]
xor r9d, r9d
mov qword [rsp + 0x30], rax
mov rdx, rbx
lea rax, [rbp - 0x40]
mov r13, rbx
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x20], rax
call fcn.1404a88e0
test eax, eax
je 0x1404a73a8
mov r12, qword [rbp + 0x60]
cmp r12, rbx
jae 0x1404a6282
movzx eax, word [r12]
cmp ax, 0x3a
je 0x1404a622b
cmp ax, 0x29
jne 0x1404a6282
mov r14d, dword [rbp - 0x74]
xor eax, eax
mov r15, qword [rbp - 0x40]
mov ebx, eax
mov dword [rbp - 0x78], eax
nop word [rax + rax]
movsxd rax, ebx
lea rcx, [rax + rax*2]
lea rax, [0x140000000]
lea rdi, [rax + 0x17e280]
cmp r14d, dword [rdi + rcx*4]
lea rdi, [rdi + rcx*4]
jne 0x1404a6271
mov r8, r14
mov rdx, rsi
mov rcx, r15
call fcn.1404d9f20
test eax, eax
je 0x1404a628c
mov eax, dword [rdi]
inc ebx
inc eax
mov dword [rbp - 0x78], ebx
add rsi, rax
cmp ebx, 9
jl 0x1404a6240
mov edx, 0xa0
jmp 0x1404a7535
cmp word [r12], 0x3a
jne 0x1404a62a6
lea rax, [r12 + 2]
cmp rax, r13
jae 0x1404a62a6
cmp word [rax], 0x29
cmove r12, rax
movsxd rax, ebx
lea r8, [0x140000000]
lea rcx, [rax + rax*2]
lea rcx, [rcx*4]
mov edx, dword [rcx + r8 + 0x17e288]
test edx, edx
jle 0x1404a62d4
cmp word [r12], 0x3a
jne 0x1404a7394
movzx eax, word [r12]
add r12, 2
cmp ax, 0x3a
mov eax, dword [rcx + r8 + 0x17e284]
jne 0x1404a6341
test edx, edx
jns 0x1404a62ff
mov dword [rbp - 0x30], eax
mov rax, qword [rsp + 0x68]
mov dword [rax], 0x80270000
jmp 0x1404a6317
xor ecx, ecx
mov edx, 0x10000
cmp eax, 0x80270000
cmovne ecx, edx
add ecx, eax
mov rax, qword [rsp + 0x68]
mov dword [rax], ecx
mov r14d, dword [rbp - 0x68]
lea r15, [rax + 4]
mov r11, qword [rbp + 0x78]
mov qword [rbp - 8], r15
add r15, 4
mov qword [rsp + 0x68], r15
mov qword [rbp], r12
mov dword [rsp + 0x50], 1
jmp 0x1404a72c7
mov r15, qword [rsp + 0x68]
mov r14d, dword [rbp - 0x68]
mov r11, qword [rbp + 0x78]
mov dword [r15], eax
add r15, 4
mov qword [rsp + 0x68], r15
jmp 0x1404a72c7
add r12, 2
mov qword [rbp + 0x60], r12
cmp r12, rbx
jae 0x1404a7530
movzx edx, word [r12]
lea eax, [rdx - 0x21]
cmp eax, 0x31
ja case.0x1404a639c.45
lea rsi, [0x140000000]
cdqe
movzx eax, byte [rsi + rax + 0x4a76f8]
mov ecx, dword [rsi + rax*4 + 0x4a76c4]
add rcx, rsi
jmp rcx
add r12, 2
mov r13, rbx
mov qword [rbp + 0x60], r12
cmp r12, rbx
jae 0x1404a7530
movzx eax, word [r12]
cmp ax, 0x3c
jne 0x1404a63c8
mov r9d, 0x3e
jmp 0x1404a6c0d
cmp ax, 0x3e
je 0x1404a648b
cmp ax, 0x3d
jne 0x1404a739e
mov r8d, dword [rbp - 0x70]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x40], r11
lea rcx, [rbp + 0x60]
mov qword [rsp + 0x38], rax
mov r9d, 0x29
lea rax, [rbp - 0x74]
mov rdx, rbx
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x20], rax
call fcn.1404a88e0
test eax, eax
je 0x1404a73a8
mov dword [r15], 0x80040000
jmp 0x1404a53c6
xor eax, eax
add r12, 2
mov dword [rbp - 0x78], eax
mov r13, rbx
cmp r12, rbx
jae 0x1404a644d
cmp word [r12], 0x29
je 0x1404a6f06
mov edx, 0x9e
jmp 0x1404a7535
mov rax, rbx
mov r13, rbx
sub rax, r12
and rax, 0xfffffffffffffffe
cmp rax, 4
jl 0x1404a647e
movzx eax, word [r12 + 2]
sub ax, 0x30
cmp ax, 9
jbe 0x1404a6e92
mov edx, 0x81
jmp 0x1404a7535
mov r13, rbx
mov r8d, dword [rbp - 0x70]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x40], r11
lea rcx, [rbp + 0x60]
mov qword [rsp + 0x38], rax
mov r9d, 0x29
lea rax, [rbp - 0x74]
mov rdx, r13
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x20], rax
call fcn.1404a88e0
test eax, eax
je 0x1404a73a8
mov dword [r15], 0x80210000
jmp 0x1404a53c6
add r12, 2
cmp r12, rbx
jae 0x1404a7530
mov r10, qword [rsp + 0x70]
lea ebx, [r13 - 1]
mov dword [rbp - 0x44], ebx
test r10, r10
je 0x1404a6515
test byte [rsp + 0x54], 4
je 0x1404a6515
lea rax, [r15 - 0x10]
cmp r10, rax
jne 0x1404a6515
cmp dword [r15 - 4], r8d
cmove r15, r10
movzx edx, word [r12]
mov r9, r15
mov qword [rsp + 0x70], r15
mov dword [rbp - 0x48], 1
cmp dx, 0x29
je 0x1404a65fa
lea eax, [rdx - 0x30]
cmp ax, 9
jbe 0x1404a65fa
mov eax, dword [0x140198930]
xor ebx, ebx
mov dword [rbp - 0x78], ebx
mov r9, r12
mov ecx, ebx
test eax, eax
je 0x1404a6570
movzx r8d, dx
cmp r8d, eax
je 0x1404a657a
inc ecx
movsxd rax, ecx
mov dword [rbp - 0x78], ecx
mov eax, dword [rsi + rax*4 + 0x198930]
test eax, eax
jne 0x1404a6558
mov edx, 0xb6
jmp 0x1404a7535
movsxd rax, ecx
mov ecx, dword [rsi + rax*4 + 0x198908]
test ecx, ecx
je 0x1404a6570
mov r13, qword [rbp - 0x80]
mov dword [r15], 0x80070000
add r12, 2
cmp r12, r13
jae 0x1404a73bf
movzx eax, word [r12]
cmp eax, ecx
jne 0x1404a6593
add r12, 2
cmp r12, r13
jae 0x1404a65bb
movzx eax, word [r12]
cmp eax, ecx
je 0x1404a6593
mov rax, r12
mov ecx, 0xffffffff
sub rax, r9
sar rax, 1
cmp rax, rcx
ja 0x1404a73b5
mov dword [r15 + 0xc], eax
sub r9, qword [r11 + 0x38]
sar r9, 1
mov rax, r9
mov qword [rbp - 0x58], r9
shr rax, 0x20
mov dword [r15 + 0x10], eax
add r15, 0x14
mov dword [r15], r9d
mov r9, qword [rsp + 0x70]
jmp 0x1404a663f
mov r13, qword [rbp - 0x80]
xor ebx, ebx
mov dword [r15], 0x80060000
mov ecx, ebx
add r15, 0xc
nop dword [rax]
movzx edx, word [r12]
lea eax, [rdx - 0x30]
cmp ax, 9
ja 0x1404a663c
lea ecx, [rcx + rcx*4]
movzx eax, dx
lea ecx, [rcx - 0x18]
add r12, 2
lea ecx, [rax + rcx*2]
cmp ecx, r8d
jg 0x1404a73cc
cmp r12, r13
jb 0x1404a6610
mov dword [r15], ecx
cmp r12, r13
jae 0x1404a73d6
cmp word [r12], 0x29
jne 0x1404a73d6
add r12, 2
mov rax, r12
sub rax, qword [r11 + 0x38]
sar rax, 1
add r15, 4
mov dword [r9 + 4], eax
mov qword [rsp + 0x68], r15
mov dword [r9 + 8], ebx
jmp 0x1404a72cc
add r12, 2
mov r13, rbx
mov qword [rbp + 0x60], r12
cmp r12, rbx
jae 0x1404a7530
movzx ecx, word [rbp + 0x68]
movzx eax, word [r12]
inc cx
mov word [rbp + 0x68], cx
cmp ax, 0x3f
je 0x1404a6a51
cmp ax, 0x2a
je 0x1404a6a51
mov r8d, dword [r11 + 0xd4]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x30], rax
lea rcx, [rbp + 0x60]
lea rax, [rbp - 0x78]
mov r9d, 0xffff
mov qword [rsp + 0x28], rax
mov rdx, rbx
mov dword [rsp + 0x20], 0xa1
call fcn.1404a8b70
test eax, eax
je 0x1404a672f
mov edx, dword [rbp - 0x78]
mov r12, qword [rbp + 0x60]
test edx, edx
jle 0x1404a73e0
mov r11, qword [rbp + 0x78]
mov rcx, r12
mov dword [r15], 0x80120000
sub rcx, qword [r11 + 0x38]
sar rcx, 1
sub rcx, 2
mov rax, rcx
mov qword [rbp - 0x58], rcx
shr rax, 0x20
mov dword [r15 + 4], eax
mov dword [r15 + 8], ecx
add r15, 0xc
mov dword [r15], edx
jmp 0x1404a6a2a
mov edx, dword [rsp + 0x58]
test edx, edx
jne 0x1404a742d
mov rbx, qword [rbp + 0x60]
mov rdi, r13
sub rdi, rbx
sar rdi, 1
cmp rdi, 0xa
jl 0x1404a68a9
lea r8d, [rdx + 7]
mov rcx, rbx
lea rdx, [0x14017e6f0]
call fcn.1404d9f20
test eax, eax
jne 0x1404a68a9
cmp word [rbx + 0xe], 0x29
lea r12, [rbx + 0xe]
je 0x1404a68a9
xor ecx, ecx
lea esi, [rax + 1]
cmp word [r12], 0x3e
mov edi, ecx
mov ebx, ecx
jne 0x1404a6793
mov edi, esi
add r12, 2
cmp word [r12], 0x3d
jne 0x1404a73ea
movzx eax, word [r12 + 2]
add r12, 2
sub ax, 0x30
cmp ax, 9
ja 0x1404a73ea
mov dword [rsp + 0x58], ecx
mov r10d, ecx
mov r8, r12
mov r11d, ecx
mov edx, ecx
cmp r12, r13
jae 0x1404a7535
nop
movzx r9d, word [r8]
lea eax, [r9 - 0x30]
cmp ax, 9
ja 0x1404a6804
lea ecx, [r10 + r10*4]
movzx eax, r9w
lea r10d, [rcx - 0x18]
add r8, 2
lea r10d, [rax + r10*2]
cmp r10d, 0x3e8
ja 0x1404a689b
cmp r8, r13
jb 0x1404a67d0
mov r11d, esi
mov r12, r8
test r11d, r11d
je 0x1404a7535
cmp r8, r13
jae 0x1404a73ea
cmp word [r8], 0x2e
jne 0x1404a6880
lea r12, [r8 + 2]
cmp r12, r13
jae 0x1404a73ea
movzx ecx, word [r12]
lea eax, [rcx - 0x30]
cmp ax, 9
ja 0x1404a73ea
add r12, 2
movzx eax, cx
sub eax, 0x30
movzx ecx, word [r12]
lea ebx, [rax + rax*4]
add ebx, ebx
lea eax, [rcx - 0x30]
cmp ax, 9
ja 0x1404a686b
add ebx, 0xffffffd0
movzx eax, cx
add ebx, eax
add r12, 2
cmp r12, r13
jae 0x1404a73ea
cmp word [r12], 0x29
jne 0x1404a73ea
mov dword [r15], 0x80150000
mov dword [r15 + 4], edi
mov dword [r15 + 8], r10d
add r15, 0xc
mov dword [r15], ebx
jmp 0x1404a6a26
mov edx, 0xb3
mov dword [rsp + 0x58], edx
jmp 0x1404a6807
movzx ecx, word [rbx]
xor eax, eax
mov esi, eax
cmp cx, 0x52
jne 0x1404a68d6
cmp rdi, 1
jle 0x1404a68d6
cmp word [rbx + 2], 0x26
lea rax, [rbx + 2]
jne 0x1404a68d6
mov r12d, 1
mov qword [rbp + 0x60], rax
mov esi, r12d
jmp 0x1404a68fe
mov r12d, 1
cmp cx, 0x3c
jne 0x1404a68e9
lea edi, [r12 + 0x3d]
jmp 0x1404a6903
cmp cx, 0x27
jne 0x1404a68f6
mov edi, 0x27
jmp 0x1404a6903
sub rbx, 2
mov qword [rbp + 0x60], rbx
mov edi, 0x29
mov rax, qword [rbp + 0x78]
lea rcx, [rbp + 0x60]
mov r8d, dword [rbp - 0x70]
mov r9d, edi
mov qword [rsp + 0x40], rax
mov rdx, r13
lea rax, [rsp + 0x58]
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x74]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x20], rax
call fcn.1404a88e0
test eax, eax
je 0x1404a73a8
mov r14d, dword [rbp - 0x74]
test esi, esi
je 0x1404a6968
mov r12, qword [rbp + 0x60]
sub r12, 2
mov dword [r15], 0x80130000
jmp 0x1404a69f8
cmp edi, 0x29
jne 0x1404a69ed
mov rbx, qword [rbp - 0x40]
cmp r14d, 6
jne 0x1404a69a2
mov r8d, r14d
lea rdx, [0x14017e6f8]
mov rcx, rbx
call fcn.1404d9f20
test eax, eax
jne 0x1404a69a2
mov r12, qword [rbp + 0x60]
sub r12, 2
mov dword [r15], 0x80100000
jmp 0x1404a69f8
mov edx, r12d
mov dword [rbp - 0x78], edx
cmp r14d, 1
jle 0x1404a69cb
nop
movsxd rax, edx
movzx ecx, word [rbx + rax*2]
sub cx, 0x30
cmp cx, 9
ja 0x1404a69c8
inc edx
cmp edx, r14d
jl 0x1404a69b0
mov dword [rbp - 0x78], edx
cmp word [rbx], 0x52
jne 0x1404a69db
mov eax, 0x80140000
cmp edx, r14d
jge 0x1404a69e0
mov eax, 0x80110000
mov r12, qword [rbp + 0x60]
sub r12, 2
mov dword [r15], eax
jmp 0x1404a69f8
mov r12, qword [rbp + 0x60]
mov dword [r15], 0x80110000
mov eax, dword [r15]
add r15, 4
cmp eax, 0x80100000
je 0x1404a6a0d
mov dword [r15], r14d
add r15, 4
mov rcx, qword [rbp - 0x58]
mov r14d, dword [rbp - 0x68]
mov rax, rcx
shr rax, 0x20
mov dword [r15], eax
add r15, 4
mov dword [r15], ecx
mov r11, qword [rbp + 0x78]
cmp r12, r13
jae 0x1404a73f4
cmp word [r12], 0x29
jne 0x1404a73f4
add r12, 2
add r15, 4
mov qword [rsp + 0x68], r15
jmp 0x1404a72c7
mov r9, qword [rsp + 0x70]
mov r10d, 0xfc00
mov r8d, dword [rsp + 0x54]
mov rsi, qword [rsp + 0x60]
mov edx, dword [rsp + 0x50]
mov dword [r15], 0x800f0000
add r15, 4
mov qword [rsp + 0x68], r15
sub r12, 2
mov dword [rbp - 0x44], 2
jmp case.default.0x1404a5483
mov r14d, dword [rbp - 0x68]
mov r15, qword [rsp + 0x68]
movzx ecx, word [rbp + 0x68]
mov r10d, 0xfc00
mov r13, qword [rbp - 0x80]
inc cx
mov r11, qword [rbp + 0x78]
mov r9, qword [rsp + 0x70]
mov r8d, dword [rsp + 0x54]
mov rsi, qword [rsp + 0x60]
mov edx, dword [rsp + 0x50]
mov dword [r15], 0x80020000
add r15, 4
mov word [rbp + 0x68], cx
add r12, 2
mov qword [rsp + 0x68], r15
jmp case.default.0x1404a5483
mov r14d, dword [rbp - 0x68]
mov r15, qword [rsp + 0x68]
mov r11, qword [rbp + 0x78]
add r12, 2
mov dword [r15], 0x80240000
jmp 0x1404a6b63
mov rax, rbx
sub rax, r12
and rax, 0xfffffffffffffffe
cmp rax, 2
jle 0x1404a6bfc
movzx ecx, word [r12 + 2]
cmp cx, 0x3d
je 0x1404a6b1c
cmp cx, 0x21
jne 0x1404a6bfc
cmp cx, 0x3d
mov eax, 0x80260000
mov ecx, 0x80250000
cmove eax, ecx
mov dword [r15], eax
mov rax, qword [rbp + 0x70]
mov ecx, 1
mov dword [rax], ecx
mov rcx, r12
sub rcx, qword [r11 + 0x38]
sar rcx, 1
sub rcx, 2
mov rax, rcx
mov qword [rbp - 0x58], rcx
shr rax, 0x20
mov dword [r15 + 4], eax
add r15, 8
add r12, 4
mov dword [r15], ecx
movzx ecx, word [rbp + 0x68]
add r15, 4
inc cx
mov qword [rsp + 0x68], r15
mov word [rbp + 0x68], cx
test r13d, r13d
jle 0x1404a6bda
mov rsi, qword [rbp - 0x50]
test rsi, rsi
jne 0x1404a6b8f
mov rsi, qword [r11 + 0x28]
mov qword [rbp - 0x50], rsi
jmp 0x1404a6ba1
add rsi, 0xc
mov qword [rbp - 0x50], rsi
cmp rsi, qword [rbp - 0x10]
jae 0x1404a7380
mov r8d, dword [rsp + 0x54]
mov eax, 2
mov r13, qword [rbp - 0x80]
mov r10d, 0xfc00
mov r9, qword [rsp + 0x70]
mov edx, dword [rsp + 0x50]
mov word [rsi + 6], ax
mov eax, r8d
and eax, 0x10424e8
mov word [rsi], cx
mov dword [rsi + 8], eax
mov rsi, qword [rsp + 0x60]
jmp case.default.0x1404a5483
mov r8d, dword [rsp + 0x54]
mov r10d, 0xfc00
mov r13, qword [rbp - 0x80]
mov r9, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x60]
mov edx, dword [rsp + 0x50]
jmp case.default.0x1404a5483
mov r9d, 0x3e
jmp 0x1404a6c0a
mov r9d, 0x27
mov r13, rbx
mov r8d, dword [rbp - 0x70]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x40], r11
lea rcx, [rbp + 0x60]
mov qword [rsp + 0x38], rax
mov rdx, r13
lea rax, [rbp - 0x74]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x20], rax
call fcn.1404a88e0
test eax, eax
je 0x1404a73a8
mov r11, qword [rbp + 0x78]
inc word [rbp + 0x68]
inc dword [r11 + 0xd4]
mov eax, dword [r11 + 0xd4]
or eax, 0x80080000
mov dword [r15], eax
add r15, 4
movzx edx, word [r11 + 0xb0]
mov eax, 0x2710
mov qword [rsp + 0x68], r15
cmp dx, ax
jae 0x1404a7428
mov esi, dword [rbp - 0x74]
movzx eax, word [r11 + 0xb2]
lea ecx, [rsi + 2]
cmp ecx, eax
jbe 0x1404a6ca9
lea eax, [rsi + 2]
mov word [r11 + 0xb2], ax
mov rbx, qword [r11 + 0xc0]
xor eax, eax
mov r15, qword [rbp - 0x40]
mov edi, eax
mov dword [rbp - 0x78], eax
cmp ax, dx
jae 0x1404a6d2f
movzx eax, word [rbx + 0xc]
cmp esi, eax
jne 0x1404a6d0a
mov rdx, qword [rbx]
mov r8, rsi
mov rcx, r15
call fcn.1404d9ee0
mov r11, qword [rbp + 0x78]
test eax, eax
jne 0x1404a6d0a
mov eax, dword [r11 + 0xd4]
cmp dword [rbx + 8], eax
je 0x1404a6d2f
test byte [rsp + 0x54], 0x40
je 0x1404a73fe
mov eax, 1
mov word [rbx + 0xe], ax
mov r14d, eax
mov dword [r11 + 0x12c], eax
jmp 0x1404a6d1a
mov eax, dword [r11 + 0xd4]
cmp dword [rbx + 8], eax
je 0x1404a740c
movzx eax, word [r11 + 0xb0]
inc edi
add rbx, 0x10
mov dword [rbp - 0x78], edi
cmp edi, eax
jl 0x1404a6cc0
movzx eax, word [r11 + 0xb0]
cmp edi, eax
jge 0x1404a6d4d
mov r12, qword [rbp + 0x60]
mov r14d, dword [rbp - 0x68]
mov r15, qword [rsp + 0x68]
jmp 0x1404a72c7
mov ecx, dword [r11 + 0xc8]
cmp eax, ecx
jb 0x1404a6dc5
mov rax, qword [r11]
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 0x1404a741a
mov rax, qword [rbp + 0x78]
mov rcx, rbx
mov r8d, dword [rax + 0xc8]
mov rdx, qword [rax + 0xc0]
shl r8, 4
call fcn.140501ee0
mov r11, qword [rbp + 0x78]
cmp dword [r11 + 0xc8], 0x14
jbe 0x1404a6db7
mov rax, qword [r11]
mov rcx, qword [r11 + 0xc0]
mov rdx, qword [rax + 0x10]
call qword [rax + reloc.WS2_32.dll_htonl]
mov r11, qword [rbp + 0x78]
mov qword [r11 + 0xc0], rbx
mov dword [r11 + 0xc8], edi
movzx ecx, word [r11 + 0xb0]
mov rax, qword [r11 + 0xc0]
add rcx, rcx
mov r12, qword [rbp + 0x60]
mov qword [rax + rcx*8], r15
movzx ecx, word [r11 + 0xb0]
mov rax, qword [r11 + 0xc0]
add rcx, rcx
mov r15, qword [rsp + 0x68]
mov word [rax + rcx*8 + 0xc], si
movzx edx, word [r11 + 0xb0]
mov rcx, qword [r11 + 0xc0]
add rdx, rdx
mov eax, dword [r11 + 0xd4]
mov dword [rcx + rdx*8 + 8], eax
movzx ecx, word [r11 + 0xb0]
mov rax, qword [r11 + 0xc0]
shl rcx, 4
mov word [rcx + rax + 0xe], r14w
inc word [r11 + 0xb0]
mov r14d, dword [rbp - 0x68]
jmp 0x1404a72c7
mov r13, rbx
cmp edx, 0x2d
jne 0x1404a6e6a
mov rax, rbx
sub rax, r12
and rax, 0xfffffffffffffffe
cmp rax, 2
jle 0x1404a6e6a
movzx eax, word [r12 + 2]
sub ax, 0x30
cmp ax, 9
jbe 0x1404a6e92
movzx ecx, word [rbp + 0x68]
mov rsi, qword [rbp - 0x50]
inc cx
mov word [rbp + 0x68], cx
test rsi, rsi
jne 0x1404a6f43
mov rsi, qword [r11 + 0x28]
mov qword [rbp - 0x50], rsi
jmp 0x1404a6f55
mov r13, rbx
sub dx, 0x30
cmp dx, 9
ja 0x1404a6ea2
or r8d, 0xffffffff
jmp 0x1404a6ea9
mov r8d, dword [r11 + 0xd4]
lea rax, [rsp + 0x58]
mov r9d, 0xffff
mov qword [rsp + 0x30], rax
lea rcx, [rbp + 0x60]
lea rax, [rbp - 0x78]
mov rdx, r13
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xa1
call fcn.1404a8b70
test eax, eax
je 0x1404a73a8
mov eax, dword [rbp - 0x78]
mov r12, qword [rbp + 0x60]
test eax, eax
js 0x1404a7436
cmp r12, r13
jae 0x1404a7530
cmp word [r12], 0x29
jne 0x1404a7530
mov r11, qword [rbp + 0x78]
or eax, 0x80200000
mov rcx, r12
mov dword [r15], eax
add r12, 2
sub rcx, qword [r11 + 0x38]
mov r14d, 1
sar rcx, 1
mov rax, rcx
mov qword [rbp - 0x58], rcx
shr rax, 0x20
mov dword [r15 + 4], eax
mov dword [r15 + 8], ecx
add r15, 0xc
mov qword [rsp + 0x68], r15
jmp 0x1404a72c7
add rsi, 0xc
mov qword [rbp - 0x50], rsi
cmp rsi, qword [rbp - 0x10]
jae 0x1404a7380
mov r8d, dword [rsp + 0x54]
xor ebx, ebx
mov eax, r8d
mov word [rsi], cx
and eax, 0x10424e8
mov word [rsi + 6], bx
mov dword [rsi + 8], eax
cmp word [r12], 0x7c
jne 0x1404a6fcf
movzx eax, word [r11 + 0xd4]
mov r10d, 0xfc00
mov r9, qword [rsp + 0x70]
mov edx, dword [rsp + 0x50]
mov word [rsi + 2], ax
movzx eax, word [r11 + 0xd4]
mov word [rsi + 4], ax
mov eax, 1
mov word [rsi + 6], ax
or dword [r11 + 0xd0], 0x200000
mov rsi, qword [rsp + 0x60]
mov dword [r15], 0x801a0000
add r15, 4
mov qword [rsp + 0x68], r15
add r12, 2
jmp case.default.0x1404a5483
mov dword [rsi + 2], ebx
lea rdx, [rsp + 0x78]
cmp word [r12], 0x5e
mov eax, 1
mov r10d, r8d
mov dword [rbp - 0x68], ebx
mov r8d, ebx
mov dword [rsp + 0x78], ebx
mov ecx, ebx
mov r9d, eax
mov ebx, dword [rsp + 0x54]
jne 0x1404a7009
xor eax, eax
and ebx, 0xfeffdb57
mov r9d, eax
add r12, 2
cmp r12, r13
jae 0x1404a70da
lea r8, [0x140000000]
nop dword [rax]
movzx eax, word [r12]
cmp ax, 0x29
je 0x1404a70d2
cmp ax, 0x3a
je 0x1404a70d2
movzx eax, ax
add r12, 2
sub eax, 0x2d
cmp eax, 0x4b
ja case.0x1404a7062.53
cdqe
movzx eax, byte [r8 + rax + 0x4a7750]
mov ecx, dword [r8 + rax*4 + 0x4a772c]
add rcx, r8
jmp rcx
test r9d, r9d
je 0x1404a7444
xor eax, eax
lea rdx, [rbp - 0x68]
mov r9d, eax
jmp 0x1404a70c9
or dword [rdx], 0x40
or dword [r11 + 0xd0], 0x400
jmp 0x1404a70c9
or dword [rdx], 8
jmp 0x1404a70c9
or dword [rdx], 0x400
jmp 0x1404a70c9
or dword [rdx], 0x2000
jmp 0x1404a70c9
or dword [rdx], 0x20
jmp 0x1404a70c9
or dword [rdx], 0x40000
jmp 0x1404a70c9
or dword [rdx], 0x80
mov eax, dword [rdx]
cmp r12, r13
jae 0x1404a70d2
cmp word [r12], 0x78
jne 0x1404a70c9
bts eax, 0x18
mov dword [rdx], eax
add r12, 2
cmp r12, r13
jb 0x1404a7020
mov r8d, dword [rsp + 0x78]
mov ecx, dword [rbp - 0x68]
mov eax, r8d
and eax, 0x1000080
cmp eax, 0x80
je 0x1404a70ed
test cl, cl
jns 0x1404a70f1
bts ecx, 0x18
or r8d, ebx
not ecx
and r8d, ecx
mov dword [rsp + 0x54], r8d
cmp r12, r13
jae 0x1404a7530
movzx eax, word [r12]
add r12, 2
cmp ax, 0x29
jne 0x1404a7138
movzx ecx, di
mov word [rbp + 0x68], cx
cmp rsi, qword [r11 + 0x28]
jbe 0x1404a7133
cmp word [rsi - 0xc], cx
lea rax, [rsi - 0xc]
jne 0x1404a7133
mov qword [rbp - 0x50], rax
jmp 0x1404a714c
mov word [rsi], cx
jmp 0x1404a714c
movzx ecx, word [rbp + 0x68]
mov dword [r15], 0x801a0000
add r15, 4
mov qword [rsp + 0x68], r15
mov r9, qword [rsp + 0x70]
cmp r8d, r10d
mov rsi, qword [rsp + 0x60]
mov r10d, 0xfc00
mov edx, dword [rsp + 0x50]
je case.default.0x1404a5483
mov dword [r15], 0x801b0000
mov dword [r15 + 4], r8d
add r15, 8
mov qword [rsp + 0x68], r15
jmp case.default.0x1404a5483
mov rsi, qword [rbp - 0x50]
movzx ecx, word [rbp + 0x68]
test rsi, rsi
je 0x1404a71be
cmp word [rsi], cx
jne 0x1404a71be
test byte [rsi + 6], 1
je 0x1404a71be
movzx eax, word [rsi + 4]
cmp dword [r11 + 0xd4], eax
jbe 0x1404a71b3
movzx eax, word [r11 + 0xd4]
mov word [rsi + 4], ax
movzx eax, word [rsi + 2]
mov dword [r11 + 0xd4], eax
mov r13, qword [rbp - 0x80]
mov r10d, 0xfc00
mov r9, qword [rsp + 0x70]
mov r8d, dword [rsp + 0x54]
mov rsi, qword [rsp + 0x60]
mov edx, dword [rsp + 0x50]
mov dword [r15], 0x80010000
add r15, 4
mov qword [rsp + 0x68], r15
jmp case.default.0x1404a5483
mov rsi, qword [rbp - 0x50]
mov r14d, 1
movzx ecx, word [rbp + 0x68]
mov r8d, dword [rsp + 0x54]
test rsi, rsi
je 0x1404a726f
cmp word [rsi], cx
jne 0x1404a726f
and r8d, 0xfefbdb17
or r8d, dword [rsi + 8]
mov dword [rsp + 0x54], r8d
test byte [rsi + 6], r14b
je 0x1404a7237
movzx eax, word [rsi + 4]
cmp eax, dword [r11 + 0xd4]
jbe 0x1404a7237
mov dword [r11 + 0xd4], eax
movzx eax, word [rsi + 6]
movzx r14d, ax
not r14w
shr r14d, 1
and r14d, 1
test al, 4
je 0x1404a7259
mov dword [r15], 0x80190000
add r15, 4
cmp rsi, qword [r11 + 0x28]
jne 0x1404a7267
xor eax, eax
mov qword [rbp - 0x50], rax
jmp 0x1404a726f
sub rsi, 0xc
mov qword [rbp - 0x50], rsi
test cx, cx
je 0x1404a7460
mov r13, qword [rbp - 0x80]
mov eax, 0xffff
mov r9, qword [rsp + 0x70]
add cx, ax
mov rsi, qword [rsp + 0x60]
mov r10d, 0xfc00
mov edx, dword [rsp + 0x50]
mov dword [r15], 0x80190000
add r15, 4
mov qword [rsp + 0x68], r15
mov word [rbp + 0x68], cx
jmp case.default.0x1404a5483
mov dword [r15], esi
mov r14d, 1
add r15, 4
mov qword [rsp + 0x68], r15
mov r13, qword [rbp - 0x80]
mov r9, qword [rsp + 0x70]
mov r8d, dword [rsp + 0x54]
movzx ecx, word [rbp + 0x68]
mov r10d, 0xfc00
mov rsi, qword [rsp + 0x60]
mov edx, dword [rsp + 0x50]
jmp case.default.0x1404a5483
mov edx, 0x8c
jmp 0x1404a7535
sub r12, 2
mov edx, 0xb0
jmp 0x1404a7535
mov edx, 0x76
jmp 0x1404a7535
mov edx, WSAGetLastError
sub r12, 2
jmp 0x1404a7535
sub r12, 2
cmp r9w, 0x3a
jne 0x1404a732e
mov edx, WSACleanup
jmp 0x1404a7535
mov edx, WSACleanup
jmp 0x1404a7535
mov edx, 0x82
jmp 0x1404a7535
mov edx, WSACleanup
sub r12, 2
jmp 0x1404a7535
mov edx, WSAGetLastError
sub r12, 2
jmp 0x1404a7535
mov edx, 0xab
jmp 0x1404a7535
mov edx, WSAGetLastError
sub r12, 2
jmp 0x1404a7535
mov edx, 0x6a
jmp 0x1404a7535
mov edx, 0xb8
jmp 0x1404a7535
mov edx, 0xbd
jmp 0x1404a7535
mov edx, 0xa6
jmp 0x1404a7535
mov edx, 0x8d
jmp 0x1404a7535
mov r12, qword [rbp + 0x60]
mov edx, dword [rsp + 0x58]
jmp 0x1404a7535
mov edx, 0xac
jmp 0x1404a7535
mov edx, 0xb5
mov r12, r9
jmp 0x1404a7535
mov edx, 0x8a
jmp 0x1404a7535
mov edx, 0x8b
jmp 0x1404a7535
mov edx, reloc.WS2_32.dll_WSAStartup
jmp 0x1404a7535
mov edx, 0xb3
jmp 0x1404a7535
mov edx, 0x7c
jmp 0x1404a7535
mov r12, qword [rbp + 0x60]
mov edx, 0x8f
jmp 0x1404a7535
mov r12, qword [rbp + 0x60]
mov edx, 0xa5
jmp 0x1404a7535
mov r12, qword [rbp + 0x60]
mov edx, 0x79
jmp 0x1404a7535
mov edx, __WSAFDIsSet
mov r12, qword [rbp + 0x60]
jmp 0x1404a7535
mov edx, reloc.WS2_32.dll_WSAStartup
sub r12, 2
jmp 0x1404a7535
mov edx, 0xc2
sub r12, 2
jmp 0x1404a7535
mov edx, reloc.WS2_32.dll_WSAGetLastError
sub r12, 2
jmp 0x1404a7535
mov edx, 0x7a
sub r12, 2
jmp 0x1404a7535
mov edx, 0x77
jmp 0x1404a7535
test edx, edx
jne 0x1404a6282
movzx edi, word [rbp + 0x68]
mov r8d, dword [rbp - 0x34]
mov edx, dword [rbp - 0x38]
mov rcx, r15
test r9, r9
je 0x1404a74a5
mov rax, r12
sub rax, qword [r11 + 0x38]
sar rax, 1
sub eax, dword [r9 + 4]
mov dword [r9 + 8], eax
test r8d, r8d
je 0x1404a74ee
test r9, r9
je 0x1404a74c3
lea rax, [r15 - 0x10]
cmp r9, rax
jne 0x1404a74c3
mov eax, 0xff
cmp dword [r9 + 0xc], eax
je 0x1404a74e0
xor eax, eax
mov dword [r15], 0x80060000
mov dword [r15 + 8], eax
lea rcx, [r15 + 0x10]
mov eax, 0xff
mov r9, r15
mov dword [r15 + 0xc], eax
mov rax, r12
sub rax, qword [r11 + 0x38]
sar rax, 1
mov dword [r9 + 4], eax
test dl, 8
je 0x1404a7502
mov dword [rcx], 0x80190000
mov dword [rcx + 4], 0x80160000
jmp 0x1404a7514
test dl, 4
je 0x1404a7518
mov dword [rcx], 0x80190000
mov dword [rcx + 4], 0x80180005
add rcx, 8
cmp rcx, rsi
jae 0x1404a4941
mov dword [rcx], 0x80000000
test di, di
jne 0x1404a7530
xor eax, eax
jmp 0x1404a7549
mov edx, WSACleanup
mov rax, qword [rbp + 0x78]
sub r12, qword [rax + 0x38]
sar r12, 1
mov qword [rax + 0xa8], r12
mov eax, edx
add rsp, 0x118
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret