Function at 0x140087600
Capabilities:
Contain obfuscated stackstrings
Encrypt data using speck
Get file size
Read file on windows
Write file on windows

Disassembly:
push rbp
push r14
lea rbp, [rsp - 0x7a8]
sub rsp, 0x8a8
lea rdx, [0x14012bb38]
mov r14, rcx
call fcn.140024c30
mov edx, eax
shr edx, 0x1f
test dl, dl
jne 0x140089776
mov qword [rsp + 0x8c0], rbx
lea rcx, [r14 + 0x28]
mov qword [rsp + 0x8a0], rsi
mov qword [rsp + 0x890], r12
mov r12d, 2
mov edx, r12d
mov qword [rsp + 0x888], r13
call fcn.140025da0
mov rcx, qword [r14 + 0x20]
mov rsi, rax
mov eax, dword [rcx + 0x40]
cmp eax, 1
mov dword [rbp - 0x40], eax
sete r13b
cmp eax, r12d
sete byte [rbp + 0x7c8]
cmp eax, 3
sete byte [rbp + 0x7d0]
jne 0x1400876ab
mov eax, dword [r14 + 0x258]
cmp eax, 1
jne 0x1400876fe
cmp dword [r14 + 0x25c], 4
je 0x14008770d
mov r13b, 1
mov byte [rbp + 0x7c8], 1
movzx eax, word [rsi]
xor ebx, ebx
test r13b, r13b
je 0x14008773f
cmp ax, 0x50
je 0x1400876c9
cmp ax, 0x46
jne 0x14008782e
mov rdx, rsi
lea rcx, [0x14012f1f8]
call fcn.140028240
test al, al
je 0x1400876e4
mov byte [r14 + 0x28a], 1
mov rcx, r14
call fcn.140024080
mov ecx, eax
shr ecx, 0x1f
test cl, cl
je 0x140087871
jmp 0x140089756
cmp eax, r12d
jne 0x1400876a1
cmp dword [r14 + 0x25c], 3
jne 0x1400876a1
mov rdx, rsi
lea rcx, [0x14012f1f8]
call fcn.140028240
test al, al
jne 0x140087737
mov rdx, rsi
lea rcx, [0x14012f1c8]
call fcn.140028240
test al, al
je 0x1400876a1
xor r13b, r13b
jmp 0x1400876a4
cmp ax, 0x50
je 0x140087841
cmp ax, 0x46
je 0x140087841
mov rdx, rsi
lea rcx, [0x14012f280]
call fcn.140028240
test al, al
jne 0x140087841
mov rdx, rsi
lea rcx, [0x14012f288]
call fcn.140028240
test al, al
jne 0x140087841
mov rdx, rsi
lea rcx, [0x14013f6e0]
call fcn.140028240
test al, al
jne 0x140087838
mov rdx, rsi
lea rcx, [0x14013f6a0]
call fcn.140028240
test al, al
jne 0x140087838
mov rdx, rsi
lea rcx, [0x140140d60]
call fcn.140028240
test al, al
jne 0x140087838
mov rdx, rsi
lea rcx, [0x140140980]
call fcn.140028240
test al, al
jne 0x140087838
mov rdx, rsi
lea rcx, [0x140140998]
call fcn.140028240
test al, al
jne 0x140087838
mov rdx, rsi
lea rcx, [0x1401409b0]
call fcn.140028240
test al, al
jne 0x140087838
cmp word [rsi], 0x4d
jne 0x140087808
cmp word [rsi + 2], 0x50
je 0x140087838
mov rdx, rsi
lea rcx, [0x14013f550]
call fcn.140028240
test al, al
jne 0x140087838
mov rdx, rsi
lea rcx, [0x140140d9c]
call fcn.140028240
test al, al
jne 0x140087838
mov eax, 0x80040208
jmp 0x140089756
mov dword [r14 + 0x290], ebx
jmp 0x140087871
mov rdx, rsi
lea rcx, [0x14012f1f8]
call fcn.140028240
test al, al
je 0x14008785c
mov byte [r14 + 0x28a], 1
mov rcx, r14
call fcn.140024080
mov ecx, eax
shr ecx, 0x1f
test cl, cl
jne 0x140089756
mov eax, 8
mov qword [rsp + 0x898], rdi
mov qword [rbp + 0x68], rax
mov edx, ebx
mov eax, recv
mov qword [rsp + 0x880], r15
mov qword [rbp + 0x190], rax
mov r15d, ebx
mov qword [rbp + 0x48], rax
cmp ebx, 0x1b
mov eax, 4
mov byte [rbp + 0xb8], 1
mov qword [rbp - 8], rax
mov qword [rbp + 0x238], rax
mov eax, 7
mov qword [rbp - 0x20], rax
mov dword [rbp + 0xbc], 0x46464952
mov dword [rbp + 0xc8], 0x45564157
mov dword [rbp + 0x144], 0x4b4e554a
mov qword [rbp + 0x148], 0x1c
mov dword [rbp + 0x454], 0x74786562
mov qword [rbp + 0x458], 0x25a
mov byte [rsp + 0x40], 1
mov dword [rsp + 0x44], 0x20746d66
mov qword [rsp + 0x48], recv
mov dword [rbp + 0x1c], 0x74636166
mov qword [rbp + 0x20], rbx
mov dword [rbp + 0x64], 0x64616772
mov dword [rbp + 0x44], 0x7478656d
mov dword [rbp - 0xc], 0x20657563
mov byte [rbp + 0x88], 1
mov dword [rbp + 0x8c], 0x5453494c
mov dword [rbp + 0x98], 0x6c746461
mov byte [rbp + 0x230], 1
mov dword [rbp + 0x234], 0x6c62616c
mov byte [rbp - 0x38], 1
mov dword [rbp - 0x34], 0x61746164
mov qword [rbp - 0x30], rbx
mov dword [rbp + 0x1a4], 0x6c76656c
mov qword [rbp + 0x1a8], 0x78
mov dword [rbp + 0xd4], 0x5453494c
mov dword [rbp + 0xe0], 0x4f464e49
mov byte [rbp + 8], 1
mov dword [rbp + 0xc], ebx
mov qword [rbp + 0x10], rbx
mov byte [rbp + 0x78], 1
mov dword [rbp + 0x7c], 0x20336469
mov byte [rbp - 0x28], 1
mov dword [rbp - 0x24], 0x74736e69
mov byte [rbp + 0xf0], 1
mov dword [rbp + 0xf4], 0x6c706d73
mov qword [rbp + 0xf8], 0x24
mov dword [rbp - 0x70], ebx
jae 0x140087a0d
mov rcx, qword [r14 + 0x10]
mov edx, r15d
mov rax, qword [rcx]
call qword [rax + 0x40]
mov rdi, rax
test rax, rax
je 0x140087a08
cmp byte [rax], bl
je 0x140087a08
mov edx, r15d
lea rcx, [rbp + 0x7d8]
call fcn.14008a040
test al, al
jne 0x140087a16
mov edx, dword [rbp - 0x70]
jmp 0x140087a4a
lea rdi, str.awC_v4.3
jmp 0x140087a19
mov edx, dword [rbp - 0x70]
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rdi + rcx], bl
jne 0x140087a20
lea rax, [rcx + 1]
mov qword [rbp + 0x10], rax
cmp byte [rbp + 8], bl
jne 0x140087a3a
mov rcx, rbx
jmp 0x140087a45
add rcx, r12
and rcx, 0xfffffffffffffffe
add rcx, 8
add edx, ecx
mov dword [rbp - 0x70], edx
inc r15d
cmp r15d, 0x1b
jle 0x1400879da
mov rcx, qword [r14 + 0x10]
mov edx, send
mov rax, qword [rcx]
call qword [rax + 0x40]
mov rcx, qword [r14 + 0x10]
mov edx, reloc.WSOCK32.dll_send
mov r15, rax
mov rax, qword [rcx]
call qword [rax + 0x40]
mov rcx, qword [r14 + 0x10]
mov edx, socket
mov qword [rbp + 0x38], rax
mov r8, qword [rcx]
call qword [r8 + 0x40]
cmp word [rsi], 0x4d
mov edi, dword [r14 + 0x260]
mov qword [rbp - 0x48], rax
mov qword [rbp + 0xb0], rbx
mov qword [rbp + 0xa8], rbx
mov dword [rbp + 0x7d8], ebx
jne 0x140087c89
cmp word [rsi + 2], 0x50
jne 0x140087c89
movzx ecx, word [rsi + 4]
cmp cx, 0x32
jne 0x140087aca
mov al, 1
jmp 0x140087aef
cmp cx, 0x33
jne 0x140087ad4
xor al, al
jmp 0x140087aef
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp word [rsi + rax*2], bx
jne 0x140087ae0
cmp eax, 0x13
sete al
mov byte [r14 + 0x2b0], al
cmp byte [r14 + 0x278], bl
jne 0x140087ca2
test al, al
je 0x140087c01
mov rdi, qword [r14 + 0x2a8]
test rdi, rdi
je 0x140087b2c
mov rcx, rdi
call fcn.140043f80
mov edx, 0x2438
mov rcx, rdi
call fcn.1400b6094
mov ecx, 0x2438
call fcn.1400b6058
test rax, rax
je 0x140087bf0
mov rcx, rax
call fcn.140043f20
mov qword [r14 + 0x2a8], rax
test rax, rax
je 0x140087c7f
mov r9d, dword [r14 + 0x258]
lea r8, [rsi + 8]
mov edx, dword [r14 + 0x260]
mov rcx, rax
call fcn.140044300
mov rax, qword [r14 + 0x2a8]
mov edi, dword [rax + 8]
imul eax, dword [rax + 0xc], 0x3e8
mov dword [rbp + 0x7d8], eax
cmp byte [rbp + 0x7c8], bl
je 0x140087ca4
cmp eax, 0x36b00
jl 0x140087ca4
cmp dword [r14 + 0x258], 1
jne 0x140087ca4
mov ecx, 0x58
call fcn.1400b6058
test rax, rax
je 0x140087bc9
mov edx, r12d
mov rcx, rax
call fcn.14001fca0
jmp 0x140087bcc
mov rax, rbx
mov rdx, rax
mov qword [rbp + 0xa8], rax
mov rcx, r14
call fcn.140025eb0
mov eax, dword [rbp + 0x7d8]
mov dword [r14 + 0x258], r12d
jmp 0x140087ca4
mov qword [r14 + 0x2a8], rbx
mov eax, 0x80040202
jmp 0x140089746
mov rdi, qword [r14 + 0x2a0]
test rdi, rdi
je 0x140087c22
mov rcx, rdi
call fcn.140043f90
mov edx, gethostbyname
mov rcx, rdi
call fcn.1400b6094
mov ecx, gethostbyname
call fcn.1400b6058
test rax, rax
je 0x140087c78
mov rcx, rax
call fcn.140043f50
mov qword [r14 + 0x2a0], rax
test rax, rax
je 0x140087c7f
mov r9d, dword [r14 + 0x258]
lea r8, [rsi + 8]
mov edx, dword [r14 + 0x260]
mov rcx, rax
call fcn.1400443f0
mov rax, qword [r14 + 0x2a0]
mov edi, dword [rax + 4]
imul eax, dword [rax + 0xc], 0x3e8
mov dword [rbp + 0x7d8], eax
jmp 0x140087ca4
mov qword [r14 + 0x2a0], rbx
mov eax, 0x80040202
jmp 0x140089746
mov rdx, rsi
lea rcx, [0x14013f6e0]
call fcn.140028240
test al, al
mov ecx, 0x1f40
cmovne edi, ecx
mov eax, ebx
movaps xmmword [rsp + 0x850], xmm8
movaps xmmword [rsp + 0x840], xmm9
mov dword [rbp + 0xa0], eax
cmp edi, dword [r14 + 0x260]
je 0x140087d02
mov ecx, 0x178
call fcn.1400b6058
test rax, rax
je 0x140087ce6
mov r8d, 5
mov edx, edi
mov rcx, rax
call fcn.14002a530
jmp 0x140087ce9
mov rax, rbx
mov rdx, rax
mov qword [rbp + 0xb0], rax
mov rcx, r14
call fcn.140025eb0
mov dword [r14 + 0x260], edi
cmp dword [rbp - 0x40], 3
movzx eax, byte [rbp + 0x7d0]
mov byte [rbp + 0x140], al
jne 0x140087d2e
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rbp + 0x150], xmm0
mov qword [rbp + 0x160], rax
mov dword [rbp + 0x168], eax
movzx edi, byte [rbp + 0x7c8]
mov byte [rbp + 0x450], dil
mov qword [rbp + 0x30], rbx
test dil, dil
je 0x140087d56
cmp byte [0x1401a9134], bl
je 0x140087d56
mov byte [rbp + 0x1a0], 1
jmp 0x140087d65
mov byte [rbp + 0x1a0], bl
test dil, dil
je 0x140087fbd
mov rdx, qword [r14 + 0x10]
lea r8, [r14 + 0x250]
lea rcx, [rbp + 0x460]
call fcn.140089c40
cmp byte [0x140190d78], bl
je 0x140087e8d
movzx eax, word [rsi]
cmp ax, 0x50
jne 0x140087dda
cmp dword [r14 + 0x258], 1
lea rax, [0x1401486b8]
mov r9d, dword [r14 + 0x290]
lea rcx, [0x1401486c0]
mov r8d, dword [r14 + 0x260]
lea rdx, str.APCM_F_d_W_d_M_s
cmove rcx, rax
shl r9d, 3
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x6ba]
call fcn.1400100f0
jmp 0x140087e5a
cmp ax, 0x4d
jne 0x140087e40
cmp word [rsi + 2], 0x50
jne 0x140087e40
mov edx, dword [rbp + 0x7d8]
test edx, edx
je 0x140087e40
cmp dword [r14 + 0x258], 1
jne 0x140087e04
lea rax, [0x1401486b8]
jmp 0x140087e1c
cmp byte [0x14018d362], bl
lea r8, str.joint_stereo
lea rax, [0x1401486c0]
cmovne rax, r8
mov r8d, dword [r14 + 0x260]
lea rcx, [rbp + 0x6ba]
mov r9d, edx
mov qword [rsp + 0x20], rax
lea rdx, str.AMPEG1L2_F_d_B_d_M_s
call fcn.1400100f0
jmp 0x140087e5a
mov r8d, dword [r14 + 0x260]
lea rdx, str.F_d
lea rcx, [rbp + 0x6ba]
call fcn.1400100f0
lea rcx, [rbp + 0x6ba]
dec rcx
cmp byte [rcx + 1], bl
lea rcx, [rcx + 1]
jne 0x140087e64
movups xmm0, xmmword [str._TFMJ_Software_awC_engine_v4.3_r_n]
mov eax, dword [0x140149798]
movups xmm1, xmmword [0x140149788]
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm1
mov dword [rcx + 0x20], eax
jmp 0x140087e93
mov byte [rbp + 0x6ba], bl
lea rax, [rbp + 0x6ba]
mov rcx, 0xffffffffffffffff
inc rcx
cmp byte [rax + rcx], bl
jne 0x140087ea1
mov rax, qword [rbp + 0x458]
inc rax
add rcx, rax
mov qword [rbp + 0x458], rcx
cmp byte [rbp + 0x1a0], bl
je 0x140087fbd
mov ecx, 0x4d0
call fcn.1400b6058
test rax, rax
je 0x140087ee8
mov edx, dword [0x140190d7c]
mov rcx, rax
call fcn.14001a520
jmp 0x140087eeb
mov rax, rbx
mov rdx, rax
mov qword [rbp + 0x30], rax
mov rcx, r14
call fcn.140025eb0
xor edx, edx
mov rcx, r14
call fcn.140024c30
xorps xmm0, xmm0
xor eax, eax
mov qword [rbp + 0x220], rax
movzx eax, byte [0x1401a9135]
neg al
mov eax, dword [0x140190d7c]
movups xmmword [rbp + 0x1b0], xmm0
sbb ecx, ecx
mov dword [rbp + 0x1bc], eax
mov eax, dword [r14 + 0x258]
add ecx, r12d
movups xmmword [rbp + 0x1c0], xmm0
mov dword [rbp + 0x1c0], eax
mov eax, 0xffffffff
mov dword [rbp + 0x1b8], ecx
lea rcx, [rbp + 0x188]
movups xmmword [rbp + 0x1d0], xmm0
mov dword [rbp + 0x1b4], r12d
movups xmmword [rbp + 0x1e0], xmm0
mov dword [rbp + 0x1c8], eax
movups xmmword [rbp + 0x1f0], xmm0
mov dword [rbp + 0x1cc], pe_nt_image_headers64
movups xmmword [rbp + 0x200], xmm0
movups xmmword [rbp + 0x210], xmm0
call fcn.1400ff6d8
lea rcx, [rbp + 0x188]
call fcn.14010067c
mov r9, rax
lea r8, str._Y:_m:_d:_H:_M:_S:000
mov edx, 0x1c
lea rcx, [rbp + 0x1d0]
call fcn.1401012ec
mov ecx, dword [r14 + 0x258]
mov r9d, dword [r14 + 0x290]
mov edx, dword [r14 + 0x260]
movzx eax, word [r14 + 0x258]
mov word [rsp + 0x52], ax
mov eax, r9d
imul eax, edx
mov dword [rsp + 0x54], edx
mov word [rsp + 0x60], bx
mov qword [r14 + 0x558], rbx
imul eax, ecx
mov dword [rsp + 0x58], eax
movzx eax, cx
movzx ecx, r9w
imul ecx, eax
shl r9w, 3
mov word [rsp + 0x5e], r9w
mov word [rsp + 0x5c], cx
mov ecx, 1
lea edx, [rcx + 2]
test r13b, r13b
je 0x140088085
add qword [rsp + 0x48], 0x1a
mov eax, socket
mov word [rsp + 0x60], ax
mov r8d, 0xfffe
mov eax, dword [r14 + 0x25c]
mov dword [rsp + 0x64], eax
mov word [rsp + 0x50], r8w
mov word [rsp + 0x62], r9w
movzx eax, word [rsi]
cmp ax, 0x50
jne 0x14008806a
movups xmm0, xmmword [0x14014a3b0]
movups xmmword [rsp + 0x68], xmm0
jmp 0x140088528
cmp ax, 0x46
jne 0x140088528
movups xmm0, xmmword [0x14014a3c0]
movups xmmword [rsp + 0x68], xmm0
jmp 0x140088528
movzx eax, word [rsi]
cmp ax, 0x50
jne 0x1400880a1
add qword [rsp + 0x48], r12
movzx r8d, cx
mov word [rsp + 0x50], cx
jmp 0x140088528
cmp ax, 0x46
jne 0x1400880bb
add qword [rsp + 0x48], 4
movzx r8d, dx
mov word [rsp + 0x50], dx
jmp 0x140088528
mov rdx, rsi
lea rcx, [0x14012f280]
call fcn.140028240
test al, al
je 0x1400880e7
add qword [rsp + 0x48], 4
mov eax, 7
movzx r8d, ax
mov word [rsp + 0x50], ax
jmp 0x140088528
mov rdx, rsi
lea rcx, [0x14012f288]
call fcn.140028240
test al, al
je 0x140088115
add qword [rsp + 0x48], 4
mov r12d, 6
movzx r8d, r12w
mov word [rsp + 0x50], r12w
jmp 0x14008852e
mov rdx, rsi
lea rcx, [0x14013f6e0]
call fcn.140028240
test al, al
je 0x14008816d
mov eax, dword [r14 + 0x260]
xorps xmm0, xmm0
add qword [rsp + 0x48], 6
mov r8d, gethostbyname
mov dword [rsp + 0x50], 0x10031
mov dword [rsp + 0x5c], 0x41
cvtsi2sd xmm0, rax
mov dword [rsp + 0x60], 0x1400002
mulsd xmm0, qword [0x14014b2e0]
cvttsd2si rax, xmm0
jmp 0x140088524
mov rdx, rsi
lea rcx, [0x14013f6a0]
call fcn.140028240
test al, al
je 0x1400881d4
mov ecx, dword [r14 + 0x258]
mov r8d, reloc.COMCTL32.dll_InitCommonControls
add qword [rsp + 0x48], 6
mov eax, ecx
imul eax, dword [r14 + 0x260]
movzx ecx, cx
mov word [rsp + 0x50], r8w
mov dword [rsp + 0x5e], 0x20004
shl eax, 2
shr eax, 3
mov dword [rsp + 0x58], eax
mov eax, 0x200
imul ecx, eax
mov eax, 0x3f9
mov word [rsp + 0x62], ax
mov word [rsp + 0x5c], cx
jmp 0x140088528
mov rdx, rsi
lea rcx, [0x140140d60]
call fcn.140028240
test al, al
je 0x14008828d
add qword [rsp + 0x48], 0x24
mov word [rsp + 0x50], r12w
cmp dword [r14 + 0x258], r12d
jbe 0x140088208
mov word [rsp + 0x52], r12w
jmp 0x14008820e
movzx r12d, word [rsp + 0x52]
movzx ecx, r12w
mov eax, 0x80c121b3
imul ecx, dword [r14 + 0x260]
mov dword [rsp + 0x5e], 0x200004
shl ecx, 0xa
mul ecx
mov eax, 0x400
movzx ecx, r12w
imul ecx, eax
mov eax, 0x7f4
shr edx, 0xa
mov dword [rsp + 0x58], edx
lea rdx, [rsp + 0x64]
mov word [rsp + 0x62], ax
mov word [rsp + 0x5c], cx
lea rcx, [rsp + 0x66]
call fcn.140046bc0
movzx eax, word [rsp + 0x64]
lea rcx, [r14 + 0x2a6]
mov r8d, eax
mov word [r14 + 0x2a4], ax
shl r8, 2
lea rdx, [rsp + 0x66]
call fcn.1400b9e30
movzx r8d, word [rsp + 0x50]
jmp 0x140088528
mov rdx, rsi
lea rcx, [0x140140980]
call fcn.140028240
test al, al
jne 0x14008845a
mov rdx, rsi
lea rcx, [0x140140998]
call fcn.140028240
test al, al
jne 0x14008845a
mov rdx, rsi
lea rcx, [0x1401409b0]
call fcn.140028240
test al, al
jne 0x14008845a
cmp word [rsi], 0x4d
jne 0x1400883c6
cmp word [rsi + 2], 0x50
jne 0x1400883c6
movzx eax, word [r14 + 0x258]
mov r8d, 0x50
add qword [rsp + 0x48], 0x1a
mov word [rsp + 0x50], r8w
mov word [rsp + 0x52], ax
cmp ax, r12w
jb 0x140088312
mov word [rsp + 0x52], r12w
mov r13d, dword [rbp + 0x7d8]
mov ecx, 4
mov dword [rsp + 0x5e], 0x160000
mov dword [rsp + 0x64], r13d
lea eax, [r13 + 4]
cdq
and edx, 7
add eax, edx
xor edx, edx
sar eax, 3
mov dword [rsp + 0x58], eax
lea eax, [r13*8]
add eax, r13d
shl eax, 4
div dword [r14 + 0x260]
movzx edx, byte [r14 + 0x2b0]
mov word [rsp + 0x5c], ax
test dl, dl
mov eax, ecx
cmovne ax, r12w
cmp dword [r14 + 0x258], 1
mov word [rsp + 0x62], ax
jbe 0x14008839c
movzx ecx, byte [0x14018d361]
test dl, dl
movzx eax, byte [0x14018d362]
cmovne ecx, eax
mov eax, ebx
test cl, cl
mov ecx, 4
setne al
inc ax
jmp 0x1400883a1
mov eax, 8
mov word [rsp + 0x68], ax
mov eax, reloc.WSOCK32.dll_recv
mov dword [rsp + 0x6a], 0x10000
mov word [rsp + 0x6e], ax
mov qword [rsp + 0x70], rbx
lea r12d, [rax - 0xa]
jmp 0x14008853a
mov rdx, rsi
lea rcx, [0x14013f550]
call fcn.140028240
test al, al
je 0x140088404
add qword [rsp + 0x48], 4
mov eax, 0x2000
mov edx, 1
mov word [rsp + 0x50], ax
movzx r8d, ax
mov word [rsp + 0x5c], dx
mov dword [rsp + 0x58], 0x13880
jmp 0x140088528
mov rdx, rsi
lea rcx, [0x140140d9c]
call fcn.140028240
mov r13d, dword [rbp + 0x7d8]
mov ecx, 4
lea r12d, [rcx + 2]
test al, al
je 0x14008844f
add qword [rsp + 0x48], rcx
mov r8d, 0x2001
mov edx, 1
mov word [rsp + 0x50], r8w
mov word [rsp + 0x5c], dx
mov dword [rsp + 0x58], 0x17069
jmp 0x14008853a
movzx r8d, word [rsp + 0x50]
jmp 0x14008853a
add qword [rsp + 0x48], 6
lea rcx, [0x140140980]
mov rdx, rsi
call fcn.140028240
test al, al
je 0x14008848e
mov eax, 3
mov r8d, socket
mov word [rsp + 0x50], r8w
movzx ecx, ax
mov word [rsp + 0x5e], ax
jmp 0x1400884f4
mov rdx, rsi
lea rcx, [0x140140998]
call fcn.140028240
test al, al
je 0x1400884bb
mov eax, 4
mov r8d, 0x40
mov word [rsp + 0x50], r8w
mov ecx, eax
mov word [rsp + 0x5e], ax
jmp 0x1400884f4
mov rdx, rsi
lea rcx, [0x1401409b0]
call fcn.140028240
test al, al
je 0x1400884e9
mov eax, 5
mov r8d, socket
mov word [rsp + 0x50], r8w
movzx ecx, ax
mov word [rsp + 0x5e], ax
jmp 0x1400884f4
movzx ecx, word [rsp + 0x5e]
movzx r8d, word [rsp + 0x50]
movzx eax, cx
mov edx, 1
mov dword [r14 + 0x2e8], eax
imul eax, dword [r14 + 0x260]
shl cx, 4
mov word [rsp + 0x52], dx
mov word [rsp + 0x5c], cx
mov dword [rsp + 0x60], r12d
add eax, 7
shr eax, 3
mov dword [rsp + 0x58], eax
mov r12d, 6
mov r13d, dword [rbp + 0x7d8]
mov ecx, 4
cmp r8w, 1
mov word [r14 + 0x298], r8w
setne byte [rbp + 0x18]
je 0x14008856a
mov eax, dword [r14 + 0x250]
cmp qword [r14 + 0x250], rax
mov qword [rbp + 0x20], rcx
mov ecx, 0xffffffff
cmovg eax, ecx
mov dword [rbp + 0x28], eax
movss xmm8, dword [0x14012bc68]
test r15, r15
xorps xmm9, xmm9
setne byte [rbp + 0x60]
test r15, r15
je 0x1400886dd
mov rax, qword [rbp - 0x48]
movaps xmmword [rsp + 0x870], xmm6
movaps xmmword [rsp + 0x860], xmm7
mov dword [rbp + 0x70], 0x3f800000
test rax, rax
je 0x1400885cf
lea r8, [rbp + 0x70]
mov rcx, rax
lea rdx, [0x14012f1c4]
call fcn.140010150
movss xmm0, dword [rbp + 0x70]
comiss xmm0, dword [0x14012c8dc]
jbe 0x1400885cf
mov dword [rbp + 0x70], 0x3f800000
lea r8, [rsp + 0x30]
mov dword [rsp + 0x30], ebx
lea rdx, [0x14012f1c4]
mov rcx, r15
call fcn.140010150
movss xmm0, dword [rsp + 0x30]
mov r9d, ebx
movss xmm6, dword [0x14012dfd0]
comiss xmm0, xmm9
setb r9b
test r9d, r9d
je 0x140088608
xorps xmm0, xmm6
movss xmm7, dword [0x1401314a4]
mov r15d, 0x1fe
mulss xmm0, xmm7
mov r8d, r12d
addss xmm0, xmm8
cvttss2si eax, xmm0
cmp eax, r15d
mov ecx, eax
mov eax, socket
cmovle r8w, ax
cmovg ecx, r15d
mov rax, qword [rbp + 0x38]
or r8w, r9w
shl r8w, 9
or r8w, cx
mov word [rbp + 0x74], r8w
test rax, rax
je 0x1400886b6
lea r8, [rsp + 0x30]
mov dword [rsp + 0x30], ebx
lea rdx, [0x14012f1c4]
mov rcx, rax
call fcn.140010150
movss xmm0, dword [rsp + 0x30]
mov r8d, ebx
comiss xmm0, xmm9
setb r8b
test r8d, r8d
je 0x140088685
xorps xmm0, xmm6
mulss xmm0, xmm7
mov ecx, 0x26
addss xmm0, xmm8
cvttss2si eax, xmm0
cmp eax, r15d
mov edx, eax
cmovg cx, r12w
cmovg edx, r15d
or cx, r8w
shl cx, 9
or cx, dx
mov word [rbp + 0x76], cx
jmp 0x1400886cd
mov eax, 0x3ff
and r8w, ax
mov eax, 0x4000
or r8w, ax
mov word [rbp + 0x76], r8w
movaps xmm6, xmmword [rsp + 0x870]
movaps xmm7, xmmword [rsp + 0x860]
test dil, dil
je 0x140088754
cmp word [rsi], 0x4d
jne 0x140088754
cmp word [rsi + 2], 0x50
jne 0x140088754
xor eax, eax
mov byte [rbp + 0x40], 1
mov qword [rbp + 0x50], rax
xor edx, edx
mov dword [rbp + 0x58], eax
mov r8d, 3
lea eax, [r13*8]
mov word [rbp + 0x50], r8w
add eax, r13d
shl eax, 4
div dword [r14 + 0x260]
cmp byte [0x1401a8de0], bl
mov word [rbp + 0x52], ax
je 0x140088757
cmp dword [r14 + 0x258], 1
mov eax, r8d
mov edx, 5
mov ecx, 7
cmova ax, dx
mov word [rbp + 0x54], ax
mov eax, r8d
cmova ax, cx
mov word [rbp + 0x56], ax
jmp 0x140088757
mov byte [rbp + 0x40], bl
mov rcx, qword [r14 + 0x10]
mov eax, 4
mov dword [rbp], ebx
mov edx, 0x18
mov qword [rbp + 0x90], rax
mov rax, qword [rcx]
call qword [rax + 0x40]
mov esi, 0x200
lea r9, [rbp + 0x244]
mov rcx, rax
mov dword [rsp + 0x20], esi
lea r8, [rbp - 0x48]
xor edx, edx
call fcn.140027e80
test al, al
je 0x140088826
nop dword [rax + rax]
mov edi, dword [rbp]
lea rax, [rbp + 0x244]
inc edi
mov rcx, 0xffffffffffffffff
add qword [rbp - 8], 0x18
mov dword [rbp], edi
nop dword [rax + rax]
inc rcx
cmp byte [rax + rcx], bl
jne 0x1400887c0
lea rax, [rcx + 5]
mov qword [rbp + 0x238], rax
cmp byte [rbp + 0x230], bl
jne 0x1400887e0
mov rcx, rbx
jmp 0x1400887ec
add rcx, 6
and rcx, 0xfffffffffffffffe
add rcx, 8
add qword [rbp + 0x90], rcx
mov edx, 0x18
mov rcx, qword [r14 + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x40]
lea r9, [rbp + 0x244]
mov dword [rsp + 0x20], esi
mov rcx, rax
lea r8, [rbp - 0x48]
mov edx, edi
call fcn.140027e80
test al, al
jne 0x1400887a0
movzx edi, byte [rbp + 0x7c8]
cmp dword [rbp], ebx
mov edx, dword [rbp - 0x70]
seta al
mov dword [rbp - 0x68], 0x7f0000
mov byte [rbp + 0x88], al
test edx, edx
mov byte [rbp - 0x10], al
lea eax, [rdx + 4]
mov word [rbp - 0x64], 0x3c7f
movsxd rcx, eax
lea rdx, [rbp - 0x68]
mov qword [rbp + 0xd8], rcx
setg byte [rbp + 0xd0]
mov rcx, qword [r14 + 0x10]
mov byte [rbp - 0x62], bl
mov dword [rbp - 0x60], ebx
mov word [rbp - 0x5c], bx
mov byte [rbp - 0x5a], bl
mov qword [rbp - 0x58], rbx
mov dword [rbp - 0x50], ebx
mov rax, qword [rcx]
call qword [rax + 0x28]
movsx r8d, byte [rbp - 0x62]
mov r10d, 0xff
movsx r9d, byte [rbp - 0x63]
movzx ecx, byte [rbp - 0x68]
test dil, dil
jne 0x1400888e2
test cl, cl
je 0x1400888e2
movss xmm0, dword [rbp - 0x60]
comiss xmm0, xmm9
mov byte [rbp - 0x28], 1
mov byte [rbp - 0x18], r9b
mov byte [rbp - 0x17], r8b
jae 0x1400888b8
subss xmm0, xmm8
jmp 0x1400888bd
addss xmm0, xmm8
cvttss2si eax, xmm0
mov byte [rbp - 0x16], al
movzx eax, byte [rbp - 0x67]
mov byte [rbp - 0x15], al
movzx eax, byte [rbp - 0x66]
mov byte [rbp - 0x14], al
movzx eax, byte [rbp - 0x65]
mov byte [rbp - 0x13], al
movzx eax, byte [rbp - 0x64]
mov byte [rbp - 0x12], al
jmp 0x1400888ee
mov byte [rbp - 0x28], bl
test dil, dil
jne 0x1400889d6
test cl, cl
je 0x1400889d6
xor edx, edx
mov byte [rbp + 0xf0], 1
mov eax, 0x3b9aca00
mov qword [rbp + 0x100], rbx
div dword [r14 + 0x260]
mov ecx, r8d
mov dword [rbp + 0x108], eax
mov eax, r9d
mov dword [rbp + 0x10c], eax
test r8b, r8b
jns 0x140088934
inc eax
mov dword [rbp + 0x10c], eax
add ecx, 0x64
mov edx, dword [rbp - 0x54]
movd xmm0, ecx
mov ecx, dword [rbp - 0x58]
mov qword [rbp + 0x114], rbx
mov dword [rbp + 0x120], ebx
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x14014b2e8]
cvttsd2si rax, xmm0
mov dword [rbp + 0x110], eax
cmp ecx, edx
jae 0x1400889cc
add qword [rbp + 0xf8], 0x18
mov eax, 1
mov dword [rbp + 0x11c], eax
mov dword [rbp + 0x124], ebx
cmp byte [rbp - 0x5c], bl
je 0x140088994
cmp byte [rbp - 0x5b], bl
mov eax, ebx
setne al
mov dword [rbp + 0x128], eax
jmp 0x14008899b
mov dword [rbp + 0x128], r10d
movss xmm0, dword [rbp - 0x50]
lea eax, [rdx - 1]
mulss xmm0, dword [0x14014b2f8]
mov dword [rbp + 0x130], eax
mov dword [rbp + 0x12c], ecx
mov cl, 1
mov dword [rbp + 0x138], ebx
cvttss2si rax, xmm0
mov dword [rbp + 0x134], eax
jmp 0x1400889de
mov dword [rbp + 0x11c], ebx
mov cl, 1
jmp 0x1400889de
xor cl, cl
mov byte [rbp + 0xf0], cl
movzx eax, byte [0x1401a9136]
movaps xmm9, xmmword [rsp + 0x840]
movaps xmm8, xmmword [rsp + 0x850]
mov byte [rbp + 0x78], al
mov qword [rbp + 0x80], rbx
cmp byte [rbp + 0x140], bl
jne 0x140088a10
mov qword [rsp + 0x30], rbx
jmp 0x140088a27
mov rax, qword [rbp + 0x148]
inc rax
and rax, 0xfffffffffffffffe
add rax, 8
mov qword [rsp + 0x30], rax
cmp byte [rbp + 0x450], bl
jne 0x140088a38
mov qword [rbp + 0x7c8], rbx
jmp 0x140088a51
mov rax, qword [rbp + 0x458]
inc rax
and rax, 0xfffffffffffffffe
add rax, 8
mov qword [rbp + 0x7c8], rax
cmp byte [rsp + 0x40], bl
jne 0x140088a5c
mov r13, rbx
jmp 0x140088a6c
mov r13, qword [rsp + 0x48]
inc r13
and r13, 0xfffffffffffffffe
add r13, 8
cmp byte [rbp + 0x18], bl
jne 0x140088a76
mov r12, rbx
jmp 0x140088a85
mov r12, qword [rbp + 0x20]
inc r12
and r12, 0xfffffffffffffffe
add r12, 8
cmp byte [rbp + 0x60], bl
jne 0x140088a8f
mov r15, rbx
jmp 0x140088a9e
mov r15, qword [rbp + 0x68]
inc r15
and r15, 0xfffffffffffffffe
add r15, 8
cmp byte [rbp + 0x40], bl
jne 0x140088aa8
mov rsi, rbx
jmp 0x140088ab7
mov rsi, qword [rbp + 0x48]
inc rsi
and rsi, 0xfffffffffffffffe
add rsi, 8
cmp byte [rbp - 0x10], bl
jne 0x140088ac1
mov rdi, rbx
jmp 0x140088ad0
mov rdi, qword [rbp - 8]
inc rdi
and rdi, 0xfffffffffffffffe
add rdi, 8
cmp byte [rbp + 0x88], bl
jne 0x140088add
mov r11, rbx
jmp 0x140088aef
mov r11, qword [rbp + 0x90]
inc r11
and r11, 0xfffffffffffffffe
add r11, 8
cmp byte [rbp - 0x38], bl
jne 0x140088af9
mov r10, rbx
jmp 0x140088b08
mov r10, qword [rbp - 0x30]
inc r10
and r10, 0xfffffffffffffffe
add r10, 8
cmp byte [rbp + 0x1a0], bl
jne 0x140088b15
mov r9, rbx
jmp 0x140088b27
mov r9, qword [rbp + 0x1a8]
inc r9
and r9, 0xfffffffffffffffe
add r9, 8
cmp byte [rbp + 0xd0], bl
jne 0x140088b34
mov r8, rbx
jmp 0x140088b46
mov r8, qword [rbp + 0xd8]
inc r8
and r8, 0xfffffffffffffffe
add r8, 8
cmp byte [rbp - 0x28], bl
jne 0x140088b50
mov rdx, rbx
jmp 0x140088b5f
mov rdx, qword [rbp - 0x20]
inc rdx
and rdx, 0xfffffffffffffffe
add rdx, 8
test cl, cl
jne 0x140088b68
mov rcx, rbx
jmp 0x140088b7a
mov rcx, qword [rbp + 0xf8]
inc rcx
and rcx, 0xfffffffffffffffe
add rcx, 8
cmp byte [0x1401a9136], bl
mov eax, 4
cmovne rax, qword [rbp + 0x190]
add rax, rcx
mov rcx, r14
add rax, rdx
lea rdx, [r14 + 0x38]
add rax, r8
lea r8, [rbp + 0xb8]
add rax, r9
mov r9d, dword [rbp + 0xc8]
add rax, r10
add rax, r11
add rax, rdi
add rax, rsi
add rax, r15
add rax, r12
add rax, r13
add rax, qword [rbp + 0x7c8]
add rax, qword [rsp + 0x30]
mov qword [rbp + 0xc0], rax
call fcn.140089870
mov esi, 1
cmp byte [rbp + 0x140], bl
je 0x140088c34
mov rcx, qword [r14 + 0x38]
lea r8, [rbp + 0x7c8]
mov r9d, esi
mov qword [rbp + 0x7c8], rbx
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
mov rdi, 0xffffffffffffffff
lea r9d, [rsi - 2]
test eax, eax
lea r8, [rbp + 0x140]
lea rdx, [r14 + 0x38]
mov rcx, r14
cmovne rdi, qword [rbp + 0x7c8]
mov qword [rbp - 0x48], rdi
call fcn.140089790
jmp 0x140088c3f
mov rax, qword [rbp + 0x7c8]
mov qword [rbp - 0x48], rax
cmp byte [rbp + 0x450], bl
je 0x140088c60
mov r9d, 0xffffffff
lea r8, [rbp + 0x450]
lea rdx, [r14 + 0x38]
mov rcx, r14
call fcn.140089790
mov rcx, qword [r14 + 0x38]
lea r8, [rbp + 0x7c8]
mov r9d, esi
mov qword [rbp + 0x7c8], rbx
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
mov rcx, 0xffffffffffffffff
lea r8, [rsp + 0x40]
test eax, eax
lea rdx, [r14 + 0x38]
mov r9d, 0xffffffff
cmovne rcx, qword [rbp + 0x7c8]
mov qword [rbp - 0x70], rcx
mov rcx, r14
call fcn.140089790
cmp byte [rbp + 0x18], bl
je 0x140088cfa
mov rcx, qword [r14 + 0x38]
lea r8, [rbp + 0x7c8]
mov r9d, esi
mov qword [rbp + 0x7c8], rbx
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
mov rdi, 0xffffffffffffffff
lea r8, [rbp + 0x18]
test eax, eax
lea rdx, [r14 + 0x38]
mov r9d, 0xffffffff
mov rcx, r14
cmovne rdi, qword [rbp + 0x7c8]
mov qword [rbp + 0x38], rdi
call fcn.140089790
jmp 0x140088d05
mov rax, qword [rbp + 0x7c8]
mov qword [rbp + 0x38], rax
cmp byte [rbp + 0x60], bl
je 0x140088d20
mov r9d, 0xffffffff
lea r8, [rbp + 0x60]
lea rdx, [r14 + 0x38]
mov rcx, r14
call fcn.140089790
cmp byte [rbp + 0x40], bl
je 0x140088d6c
mov rcx, qword [r14 + 0x38]
lea r8, [rbp + 0x7c8]
mov r9d, esi
mov qword [rbp + 0x7c8], rbx
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
mov r12, 0xffffffffffffffff
lea r8, [rbp + 0x40]
test eax, eax
lea rdx, [r14 + 0x38]
mov r9d, 0xffffffff
mov rcx, r14
cmovne r12, qword [rbp + 0x7c8]
call fcn.140089790
jmp 0x140088d73
mov r12, qword [rbp + 0x7c8]
cmp byte [rbp - 0x10], bl
je 0x140088f28
mov r9d, 4
lea r8, [rbp - 0x10]
lea rdx, [r14 + 0x38]
mov rcx, r14
call fcn.140089790
mov rcx, qword [r14 + 0x10]
mov edx, 0x18
mov edi, ebx
mov rax, qword [rcx]
call qword [rax + 0x40]
mov esi, 0x200
lea r9, [rbp + 0x244]
mov rcx, rax
mov dword [rsp + 0x20], esi
lea r8, [rsp + 0x30]
xor edx, edx
call fcn.140027e80
test al, al
je 0x140088e50
nop word [rax + rax]
mov rax, qword [rsp + 0x30]
lea r9, [rbp + 0x7c8]
mov rcx, qword [r14 + 0x38]
lea rdx, [rbp + 0x170]
inc edi
mov dword [rbp + 0x174], eax
mov r8d, 0x18
mov dword [rbp + 0x170], edi
mov dword [rbp + 0x184], eax
mov qword [rbp + 0x178], 0x61746164
mov dword [rbp + 0x180], ebx
mov dword [rbp + 0x7c8], ebx
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, qword [r14 + 0x10]
mov edx, 0x18
mov rax, qword [rcx]
call qword [rax + 0x40]
lea r9, [rbp + 0x244]
mov dword [rsp + 0x20], esi
mov rcx, rax
lea r8, [rsp + 0x30]
mov edx, edi
call fcn.140027e80
test al, al
jne 0x140088dd0
lea r8, [rbp - 0x10]
mov rcx, r14
lea rdx, [r14 + 0x38]
call fcn.1400898b0
mov r9d, dword [rbp + 0x98]
lea r8, [rbp + 0x88]
lea rdx, [r14 + 0x38]
mov rcx, r14
call fcn.140089870
mov rcx, qword [r14 + 0x10]
mov edx, 0x18
mov edi, ebx
mov rax, qword [rcx]
call qword [rax + 0x40]
lea r9, [rbp + 0x244]
mov dword [rsp + 0x20], esi
mov rcx, rax
lea r8, [rbp + 0x7c8]
xor edx, edx
call fcn.140027e80
test al, al
je 0x140088f23
nop dword [rax + rax]
lea rcx, [rbp + 0x244]
mov rax, 0xffffffffffffffff
nop
inc rax
cmp byte [rcx + rax], bl
jne 0x140088ec0
add rax, 5
lea r8, [rbp + 0x230]
inc edi
mov qword [rbp + 0x238], rax
mov r9d, 0xffffffff
mov dword [rbp + 0x240], edi
lea rdx, [r14 + 0x38]
mov rcx, r14
call fcn.140089790
mov rcx, qword [r14 + 0x10]
mov edx, 0x18
mov rax, qword [rcx]
call qword [rax + 0x40]
lea r9, [rbp + 0x244]
mov dword [rsp + 0x20], esi
mov rcx, rax
lea r8, [rbp + 0x7c8]
mov edx, edi
call fcn.140027e80
test al, al
jne 0x140088eb0
mov esi, 1
mov rcx, qword [r14 + 0x38]
lea r8, [rbp + 0x7c8]
mov r9d, esi
mov qword [rbp + 0x7c8], rbx
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
mov r13, 0xffffffffffffffff
cmovne r13, qword [rbp + 0x7c8]
cmp byte [r14 + 0x288], bl
je 0x140088f76
mov eax, dword [r14 + 0x290]
mov rcx, qword [r14 + 0x250]
imul rcx, rax
mov qword [rbp - 0x30], rcx
xor r9d, r9d
lea r8, [rbp - 0x38]
lea rdx, [r14 + 0x38]
mov rcx, r14
call fcn.140089790
mov rcx, qword [r14 + 0x38]
lea r8, [rbp + 0x7c8]
mov r9d, esi
mov qword [rbp + 0x7c8], rbx
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
mov rdi, 0xffffffffffffffff
mov rcx, r14
test eax, eax
cmovne rdi, qword [rbp + 0x7c8]
call fcn.1400246e0
mov ecx, eax
shr ecx, 0x1f
test cl, cl
jne 0x140089746
mov rcx, qword [r14 + 0x38]
lea r8, [rbp + 0x7c8]
mov r9d, esi
mov qword [rbp + 0x7c8], rbx
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
mov rcx, 0xffffffffffffffff
lea r8, [rbp - 0x38]
test eax, eax
lea rdx, [r14 + 0x38]
cmovne rcx, qword [rbp + 0x7c8]
sub rcx, rdi
mov qword [rbp - 0x30], rcx
mov rcx, r14
call fcn.1400898b0
cmp byte [rbp + 0x1a0], bl
je 0x1400890d7
mov rdi, qword [rbp + 0x30]
lea r8, [rbp + 0x1a0]
movzx eax, byte [0x1401a9135]
lea rdx, [r14 + 0x38]
neg al
mov r9d, 0x78
mov rax, qword [rbp + 0x1a8]
sbb ecx, ecx
add ecx, 2
imul ecx, dword [rdi + 0x4b8]
imul ecx, dword [rdi + 0x4a8]
lea rcx, [rax + rcx*2]
mov qword [rbp + 0x1a8], rcx
mov eax, dword [rdi + 0x4a8]
mov dword [rbp + 0x1c0], eax
mov eax, dword [rdi + 0x4b8]
mov dword [rbp + 0x1c4], eax
mov eax, 0xffffffff
mov ecx, dword [rdi + 0x4c8]
mov dword [rbp + 0x1c8], ecx
cmp rcx, qword [rdi + 0x4c8]
cmovl ecx, eax
mov dword [rbp + 0x1c8], ecx
mov rcx, r14
call fcn.140089790
movzx r8d, byte [0x1401a9135]
lea rdx, [r14 + 0x38]
mov rcx, rdi
call fcn.14001acc0
mov ecx, eax
shr ecx, 0x1f
test cl, cl
jne 0x140089746
lea r8, [rbp + 0x1a0]
mov rcx, r14
lea rdx, [r14 + 0x38]
call fcn.1400898b0
cmp byte [rbp + 0xd0], bl
je 0x1400891a7
mov r9d, dword [rbp + 0xe0]
lea r8, [rbp + 0xd0]
lea rdx, [r14 + 0x38]
mov rcx, r14
call fcn.140089870
cmp ebx, 0x1b
mov esi, ebx
jae 0x14008912d
mov rcx, qword [r14 + 0x10]
mov edx, esi
mov rax, qword [rcx]
call qword [rax + 0x40]
mov rdi, rax
test rax, rax
je 0x140089197
cmp byte [rax], bl
je 0x140089197
mov edx, esi
lea rcx, [rbp + 0xc]
call fcn.14008a040
test al, al
je 0x140089197
jmp 0x14008913b
mov dword [rbp + 0xc], 0x54465349
lea rdi, str.awC_v4.3
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], bl
jne 0x140089142
inc rax
lea r8, [rbp + 8]
xor r9d, r9d
mov qword [rbp + 0x10], rax
lea rdx, [r14 + 0x38]
mov rcx, r14
call fcn.140089790
mov r8d, dword [rbp + 0x10]
lea r9, [rbp + 0x7c8]
mov rcx, qword [r14 + 0x38]
mov rdx, rdi
mov dword [rbp + 0x7c8], ebx
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_WriteFile]
lea r8, [rbp + 8]
mov rcx, r14
lea rdx, [r14 + 0x38]
call fcn.1400898b0
inc esi
cmp esi, 0x1b
jle 0x140089102
mov esi, 1
cmp byte [rbp - 0x28], bl
je 0x1400891c2
mov r9d, 0xffffffff
lea r8, [rbp - 0x28]
lea rdx, [r14 + 0x38]
mov rcx, r14
call fcn.140089790
cmp byte [rbp + 0xf0], bl
je 0x1400891e3
mov r9d, 0xffffffff
lea r8, [rbp + 0xf0]
lea rdx, [r14 + 0x38]
mov rcx, r14
call fcn.140089790
cmp byte [rbp + 0x78], bl
je 0x1400892f5
mov rcx, qword [r14 + 0x38]
lea r8, [rbp + 0x7c8]
mov r9d, esi
mov qword [rbp + 0x7c8], rbx
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
mov rsi, 0xffffffffffffffff
lea r8, [rbp + 0x78]
test eax, eax
lea rdx, [r14 + 0x38]
mov rcx, r14
cmovne rsi, qword [rbp + 0x7c8]
xor r9d, r9d
call fcn.140089790
mov rdx, qword [r14 + 0x10]
lea rcx, [r14 + 0x38]
call fcn.14005efe0
mov rcx, qword [r14 + 0x38]
lea r8, [rbp + 0x7c8]
mov edi, 1
mov qword [rbp + 0x7c8], rbx
mov r9d, edi
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
mov rcx, 0xffffffffffffffff
lea r8, [rbp + 0x78]
test eax, eax
lea rdx, [r14 + 0x38]
cmovne rcx, qword [rbp + 0x7c8]
sub rcx, rsi
sub rcx, 8
mov qword [rbp + 0x80], rcx
mov rcx, r14
call fcn.1400898b0
mov rcx, qword [r14 + 0x38]
lea r8, [rbp + 0x7c8]
mov r9d, edi
mov qword [rbp + 0x7c8], rbx
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
mov rcx, qword [r14 + 0x38]
mov rdi, 0xffffffffffffffff
test eax, eax
mov rdx, rsi
cmovne rdi, qword [rbp + 0x7c8]
xor r9d, r9d
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
xor r9d, r9d
lea r8, [rbp + 0x78]
lea rdx, [r14 + 0x38]
mov rcx, r14
call fcn.140089790
mov rcx, qword [r14 + 0x38]
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
movzx ecx, word [rsp + 0x50]
cmp cx, 0x50
jne 0x140089509
mov rcx, qword [r14 + 0x38]
lea rdx, [r13 + 8]
xor r9d, r9d
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
mov rcx, qword [r14 + 0x38]
lea r9, [rsp + 0x30]
mov edi, 3
mov dword [rsp + 0x30], ebx
mov r8d, edi
mov qword [rsp + 0x20], rbx
lea rdx, [rbp + 0x7c8]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1400895aa
cmp dword [rsp + 0x30], edi
jne 0x1400895aa
movzx edx, byte [rbp + 0x7c9]
movzx r10d, byte [rbp + 0x7ca]
mov r8d, edx
mov ecx, r10d
shr r8d, 1
shr ecx, 2
mov eax, edx
and r8d, edi
shr r10d, 4
and ecx, edi
and al, 0x18
cmp al, 0x10
jne 0x140089381
add ecx, edi
jmp 0x140089389
test dl, 0x18
jne 0x140089389
add ecx, 6
mov esi, dword [rbp + 0x7d8]
lea r11, [0x140000000]
movzx r9d, word [r11 + rcx*2 + 0x1341d0]
test esi, esi
jne 0x1400893d8
and edx, 0x18
mov eax, r8d
cmp dl, 0x18
mov rcx, rbx
cmovne rcx, rdi
sub rcx, rax
mov eax, r10d
shl rcx, 4
add rcx, rax
movzx eax, word [r11 + rcx*2 + 0x134170]
mov ecx, dword [r14 + 0x260]
imul esi, eax, 0x3e8
jmp 0x1400893f1
test r9d, r9d
je 0x1400895aa
mov ecx, dword [r14 + 0x260]
cmp r9d, ecx
je 0x1400895aa
xorps xmm2, xmm2
mov eax, ecx
cvtsi2sd xmm2, qword [r14 + 0x268]
mov rcx, qword [r14 + 0x38]
lea edi, [rsi + rsi*8]
shl edi, 4
xor r8d, r8d
mov dword [rsp + 0x54], r9d
xorps xmm0, xmm0
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
cvtsi2sd xmm0, r9
mulsd xmm2, xmm0
divsd xmm2, xmm1
cvttsd2si rax, xmm2
mov qword [r14 + 0x268], rax
lea eax, [rsi + 4]
cdq
and edx, 7
add eax, edx
xor edx, edx
sar eax, 3
mov dword [rsp + 0x58], eax
mov eax, edi
div r9d
mov rdx, qword [rbp - 0x70]
xor r9d, r9d
add rdx, 8
mov word [rsp + 0x5c], ax
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
mov rcx, qword [r14 + 0x38]
lea r9, [rbp + 0x7d8]
mov r8d, recv
mov dword [rbp + 0x7d8], ebx
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp dword [rbp + 0xa0], ebx
jne 0x1400895aa
mov rcx, qword [r14 + 0x38]
lea r9, [rbp + 0x7d8]
mov r8d, 0x1a
mov dword [rsp + 0x64], esi
lea rdx, [rsp + 0x5e]
mov dword [rbp + 0x7d8], ebx
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp byte [rbp + 0x40], bl
je 0x1400895aa
mov rcx, qword [r14 + 0x38]
lea rdx, [r12 + 8]
xor r9d, r9d
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
xor edx, edx
mov dword [rbp + 0x7d8], ebx
mov eax, edi
lea r9, [rbp + 0x7d8]
div dword [r14 + 0x260]
mov r8d, recv
lea rdx, [rbp + 0x50]
mov word [rbp + 0x52], ax
jmp 0x14008959b
movzx eax, cx
mov edx, 0x2000
sub ax, dx
cmp ax, 1
jbe 0x140089528
mov eax, 0xff
cmp cx, ax
jne 0x1400895aa
mov eax, dword [r14 + 0x260]
xorps xmm2, xmm2
cvtsi2sd xmm2, qword [rbp - 0x30]
xorps xmm0, xmm0
xorps xmm1, xmm1
cvtsi2sd xmm1, qword [r14 + 0x268]
cvtsi2sd xmm0, rax
mulsd xmm2, xmm0
divsd xmm2, xmm1
addsd xmm2, qword [0x14012c8e0]
cvttsd2si rax, xmm2
cmp eax, dword [rsp + 0x58]
je 0x1400895aa
mov rdx, qword [rbp - 0x70]
xor r9d, r9d
mov rcx, qword [r14 + 0x38]
add rdx, 8
xor r8d, r8d
mov dword [rsp + 0x58], eax
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
lea r9, [rbp + 0x7c8]
mov dword [rbp + 0x7c8], ebx
mov r8d, recv
lea rdx, [rsp + 0x50]
mov rcx, qword [r14 + 0x38]
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, qword [r14 + 0x38]
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
mov rcx, qword [r14 + 0x38]
lea rdx, [rbp + 0x7c8]
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
mov edi, 0xffffffff
cmovne rbx, qword [rbp + 0x7c8]
add rbx, 0xfffffffffffffff8
cmp dword [rbp - 0x40], 3
mov qword [rbp + 0xc0], rbx
jne 0x140089614
cmp rbx, rdi
jg 0x140089606
cmp byte [rbp + 0x18], 0
je 0x140089602
cmp qword [r14 + 0x268], rdi
jg 0x140089606
xor bl, bl
jmp 0x14008961b
mov bl, 1
mov dword [rbp + 0xbc], 0x34364652
jmp 0x14008961b
movzx ebx, byte [rbp + 0x7d0]
xor r9d, r9d
lea r8, [rbp + 0xb8]
lea rdx, [r14 + 0x38]
mov rcx, r14
call fcn.140089790
cmp byte [rbp + 0x18], 0
je 0x140089675
mov rdx, qword [rbp + 0x38]
xor r9d, r9d
mov rcx, qword [r14 + 0x38]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
mov eax, dword [r14 + 0x268]
lea r8, [rbp + 0x18]
cmp qword [r14 + 0x268], rax
lea rdx, [r14 + 0x38]
mov r9d, 0xffffffff
mov rcx, r14
cmovg eax, edi
mov dword [rbp + 0x28], eax
call fcn.140089790
mov rcx, qword [r14 + 0x38]
xor r9d, r9d
xor r8d, r8d
mov rdx, r13
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
xor r9d, r9d
lea r8, [rbp - 0x38]
lea rdx, [r14 + 0x38]
mov rcx, r14
call fcn.140089790
test bl, bl
je 0x1400896fd
mov rdx, qword [rbp - 0x48]
xor r9d, r9d
mov rcx, qword [r14 + 0x38]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
mov rax, qword [rbp + 0xc0]
lea r8, [rbp + 0x140]
mov qword [rbp + 0x150], rax
lea rdx, [r14 + 0x38]
mov rax, qword [rbp - 0x30]
mov r9d, 0xffffffff
mov qword [rbp + 0x158], rax
mov rcx, r14
mov rax, qword [r14 + 0x268]
mov qword [rbp + 0x160], rax
mov dword [rbp + 0x144], 0x34367364
call fcn.140089790
lea rcx, [r14 + 0x558]
call fcn.140027db0
mov rcx, qword [rbp + 0x30]
mov ebx, 1
test rcx, rcx
je 0x14008971e
mov rax, qword [rcx]
mov edx, ebx
call qword [rax]
mov rcx, qword [rbp + 0xa8]
test rcx, rcx
je 0x140089731
mov rax, qword [rcx]
mov edx, ebx
call qword [rax]
mov rcx, qword [rbp + 0xb0]
test rcx, rcx
je 0x140089744
mov rax, qword [rcx]
mov edx, ebx
call qword [rax]
xor eax, eax
mov rdi, qword [rsp + 0x898]
mov r15, qword [rsp + 0x880]
mov r12, qword [rsp + 0x890]
mov rsi, qword [rsp + 0x8a0]
mov rbx, qword [rsp + 0x8c0]
mov r13, qword [rsp + 0x888]
add rsp, 0x8a8
pop r14
pop rbp
ret