Function at 0x10017710
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1006c465
mov eax, dword fs:[0]
push eax
sub esp, 0x74
mov eax, dword [0x10080040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x74], esi
cmp dword [0x10085030], 0
je 0x10018448
xorps xmm0, xmm0
mov word [ebp - 0x64], 0x43
lea ecx, [ebp - 0x63]
mov byte [ebp - 0x63], 0
movups xmmword [ebp - 0x60], xmm0
mov dword [ebp - 0x50], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x4c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10017771
sub ecx, edx
lea eax, [ebp - 0x63]
push ecx
push eax
lea ecx, [ebp - 0x60]
call fcn.10002130
mov dword [ebp - 4], 0
xor ecx, ecx
movaps xmm0, xmmword [0x10078f00]
mov eax, dword [esi]
mov dword [ebp - 0x7c], eax
movups xmmword [ebp - 0x24], xmm0
mov word [ebp - 0x14], 0x160c
mov byte [ebp - 0x12], 0
nop word [eax + eax]
mov al, byte [ebp - 0x24]
xor byte [ebp + ecx - 0x23], al
inc ecx
cmp ecx, 0x11
jb 0x100177b0
sub esp, 0x18
mov byte [ebp - 0x12], 0
mov ecx, esp
lea edx, [ebp - 0x23]
xorps xmm0, xmm0
lea edi, [edx + 1]
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov al, byte [edx]
inc edx
test al, al
jne 0x100177e0
sub edx, edi
lea eax, [ebp - 0x23]
push edx
push eax
call fcn.10002130
mov ecx, dword [ebp - 0x7c]
call fcn.1000f060
add esp, 0x18
mov dword [ebp - 0x80], eax
test eax, eax
je case.default.0x10017ea9
mov edi, dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
push 4
push eax
call edi
test eax, eax
jne case.default.0x10017ea9
mov ecx, dword [ebp - 0x80]
call fcn.1000f290
lea ecx, [ebp - 0x60]
cmp ecx, eax
je 0x10017840
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
jbe 0x10017836
mov eax, dword [eax]
push ecx
push eax
lea ecx, [ebp - 0x60]
call fcn.10001e50
cmp dword [ebp - 0x4c], 0xf
lea eax, [ebp - 0x60]
cmova eax, dword [ebp - 0x60]
push eax
call fcn.10056278
add esp, 4
mov dword [ebp - 0x78], eax
test eax, eax
jne 0x100178d1
mov edx, 0x1006
lea ecx, [ebp - 0x28]
call fcn.1000a7c0
mov ecx, 0x10b81f8
mov byte [ebp - 4], 1
call fcn.1000f390
test eax, eax
je 0x10017897
mov ecx, dword [eax + 0x1cc]
test ecx, ecx
je 0x10017897
push 0
push 0
push 0xffff3b3b
lea eax, [ebp - 0x28]
push eax
call dword [0x10077be8]
mov ecx, dword [ebp - 0x14]
cmp ecx, 0xf
jbe case.default.0x10017ea9
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100178c5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10018465
push ecx
push edx
call fcn.1004a076
jmp 0x10018415
mov eax, dword [ebp + 8]
movzx eax, al
add eax, 0xfffffffb
mov dword [ebp - 0x7c], eax
cmp eax, 3
ja case.default.0x10017a55
jmp dword [eax*4 + 0x1001846c]
cmp byte [0x100850a8], 0
mov eax, dword [0x10085030]
mov dword [ebp - 0x64], eax
je 0x1001793e
mov ecx, 0x10b8134
call fcn.1000f390
mov dword [ebp - 0x68], eax
test eax, eax
je 0x1001793b
push 4
push eax
call edi
test eax, eax
jne 0x1001793b
mov eax, dword [ebp - 0x68]
add eax, 0x6dc
push 4
push eax
mov dword [ebp - 0x68], eax
call edi
test eax, eax
jne 0x1001793b
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
mov al, byte [eax]
mov byte [ecx + 0x38], al
mov eax, ecx
jmp 0x1001793e
mov eax, dword [ebp - 0x64]
movzx eax, byte [eax + 0x38]
sub eax, 1
je 0x100179f6
sub eax, 1
jne case.default.0x10017a55
cmp byte [0x100850a8], 0
mov eax, dword [0x10085030]
mov dword [ebp - 0x64], eax
je 0x100179a7
mov ecx, 0x10b8134
call fcn.1000f390
mov dword [ebp - 0x68], eax
test eax, eax
je 0x100179a4
push 4
push eax
call edi
test eax, eax
jne 0x100179a4
mov eax, dword [ebp - 0x68]
add eax, 0x6e4
push 4
push eax
mov dword [ebp - 0x68], eax
call edi
test eax, eax
jne 0x100179a4
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
mov ax, word [eax]
mov word [ecx + 0x3e], ax
mov eax, ecx
jmp 0x100179a7
mov eax, dword [ebp - 0x64]
movzx eax, word [eax + 0x3e]
add eax, 0xffffff37
cmp eax, 3
ja case.default.0x10017a55
jmp dword [eax*4 + 0x1001847c]
mov edx, 0x1005
lea ecx, [ebp - 0x28]
call fcn.1000a7c0
mov byte [ebp - 4], 3
mov ecx, 0x10b81f8
call fcn.1000f390
test eax, eax
je 0x10017897
mov ecx, dword [eax + 0x1cc]
test ecx, ecx
je 0x10017897
jmp 0x10017884
cmp byte [0x100850a8], 0
mov eax, dword [0x10085030]
mov dword [ebp - 0x64], eax
je 0x10017a49
mov ecx, 0x10b8134
call fcn.1000f390
mov dword [ebp - 0x68], eax
test eax, eax
je 0x10017a46
push 4
push eax
call edi
test eax, eax
jne 0x10017a46
mov eax, dword [ebp - 0x68]
add eax, 0x6e4
push 4
push eax
mov dword [ebp - 0x68], eax
call edi
test eax, eax
jne 0x10017a46
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
mov ax, word [eax]
mov word [ecx + 0x3e], ax
mov eax, ecx
jmp 0x10017a49
mov eax, dword [ebp - 0x64]
movzx eax, word [eax + 0x3e]
add eax, 0xffffff9b
cmp eax, 3
ja case.default.0x10017a55
jmp dword [eax*4 + 0x1001848c]
mov edx, 0x1005
lea ecx, [ebp - 0x28]
call fcn.1000a7c0
mov byte [ebp - 4], 2
jmp 0x100179d1
mov ecx, dword [ebp + 8]
cmp cl, 8
jne 0x10017be7
cmp byte [0x100850a8], 0
mov eax, dword [0x10085030]
mov dword [ebp - 0x64], eax
je 0x10017acf
mov ecx, 0x10b8134
call fcn.1000f390
mov dword [ebp - 0x68], eax
test eax, eax
je 0x10017acc
push 4
push eax
call edi
test eax, eax
jne 0x10017acc
mov eax, dword [ebp - 0x68]
add eax, 0x6dc
push 4
push eax
mov dword [ebp - 0x68], eax
call edi
test eax, eax
jne 0x10017acc
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
mov al, byte [eax]
mov byte [ecx + 0x38], al
mov eax, ecx
jmp 0x10017acf
mov eax, dword [ebp - 0x64]
movzx eax, byte [eax + 0x38]
sub eax, 1
je 0x10017b67
sub eax, 1
jne 0x10017d43
cmp byte [0x100850a8], 0
mov eax, dword [0x10085030]
mov dword [ebp - 0x64], eax
je 0x10017b38
mov ecx, 0x10b8134
call fcn.1000f390
mov dword [ebp - 0x68], eax
test eax, eax
je 0x10017b35
push 4
push eax
call edi
test eax, eax
jne 0x10017b35
mov eax, dword [ebp - 0x68]
add eax, 0x6e4
push 4
push eax
mov dword [ebp - 0x68], eax
call edi
test eax, eax
jne 0x10017b35
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
mov ax, word [eax]
mov word [ecx + 0x3e], ax
mov eax, ecx
jmp 0x10017b38
mov eax, dword [ebp - 0x64]
movzx eax, word [eax + 0x3e]
sub eax, 0xcf
je 0x10017b51
sub eax, 2
je 0x10017b51
sub eax, 2
jne 0x10017d43
mov edx, 0x1007
lea ecx, [ebp - 0x28]
call fcn.1000a7c0
mov byte [ebp - 4], 5
jmp 0x100179d1
cmp byte [0x100850a8], 0
mov eax, dword [0x10085030]
mov dword [ebp - 0x64], eax
je 0x10017bba
mov ecx, 0x10b8134
call fcn.1000f390
mov dword [ebp - 0x68], eax
test eax, eax
je 0x10017bb7
push 4
push eax
call edi
test eax, eax
jne 0x10017bb7
mov eax, dword [ebp - 0x68]
add eax, 0x6e4
push 4
push eax
mov dword [ebp - 0x68], eax
call edi
test eax, eax
jne 0x10017bb7
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
mov ax, word [eax]
mov word [ecx + 0x3e], ax
mov eax, ecx
jmp 0x10017bba
mov eax, dword [ebp - 0x64]
movzx eax, word [eax + 0x3e]
sub eax, 0x6b
je 0x10017bd1
sub eax, 2
je 0x10017bd1
sub eax, 2
jne 0x10017d43
mov edx, 0x1007
lea ecx, [ebp - 0x28]
call fcn.1000a7c0
mov byte [ebp - 4], 4
jmp 0x100179d1
cmp cl, 7
jne 0x10017d43
cmp byte [0x100850a8], 0
mov eax, dword [0x10085030]
mov dword [ebp - 0x64], eax
je 0x10017c41
mov ecx, 0x10b8134
call fcn.1000f390
mov dword [ebp - 0x68], eax
test eax, eax
je 0x10017c3e
push 4
push eax
call edi
test eax, eax
jne 0x10017c3e
mov eax, dword [ebp - 0x68]
add eax, 0x6dc
push 4
push eax
mov dword [ebp - 0x68], eax
call edi
test eax, eax
jne 0x10017c3e
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
mov al, byte [eax]
mov byte [ecx + 0x38], al
mov eax, ecx
jmp 0x10017c41
mov eax, dword [ebp - 0x64]
movzx eax, byte [eax + 0x38]
sub eax, 1
je 0x10017ccf
sub eax, 1
jne 0x10017e9d
cmp byte [0x100850a8], 0
mov eax, dword [0x10085030]
mov dword [ebp - 0x64], eax
je 0x10017caa
mov ecx, 0x10b8134
call fcn.1000f390
mov dword [ebp - 0x68], eax
test eax, eax
je 0x10017ca7
push 4
push eax
call edi
test eax, eax
jne 0x10017ca7
mov eax, dword [ebp - 0x68]
add eax, 0x6e4
push 4
push eax
mov dword [ebp - 0x68], eax
call edi
test eax, eax
jne 0x10017ca7
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
mov ax, word [eax]
mov word [ecx + 0x3e], ax
mov eax, ecx
jmp 0x10017caa
mov eax, dword [ebp - 0x64]
mov ecx, 0xcd
cmp word [eax + 0x3e], cx
jne 0x10017e9d
mov edx, 0x1005
lea ecx, [ebp - 0x28]
call fcn.1000a7c0
mov byte [ebp - 4], 7
jmp 0x100179d1
cmp byte [0x100850a8], 0
mov eax, dword [0x10085030]
mov dword [ebp - 0x64], eax
je 0x10017d22
mov ecx, 0x10b8134
call fcn.1000f390
mov dword [ebp - 0x68], eax
test eax, eax
je 0x10017d1f
push 4
push eax
call edi
test eax, eax
jne 0x10017d1f
mov eax, dword [ebp - 0x68]
add eax, 0x6e4
push 4
push eax
mov dword [ebp - 0x68], eax
call edi
test eax, eax
jne 0x10017d1f
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
mov ax, word [eax]
mov word [ecx + 0x3e], ax
mov eax, ecx
jmp 0x10017d22
mov eax, dword [ebp - 0x64]
cmp word [eax + 0x3e], 0x69
jne 0x10017e9d
mov edx, 0x1005
lea ecx, [ebp - 0x28]
call fcn.1000a7c0
mov byte [ebp - 4], 6
jmp 0x100179d1
mov eax, dword [ebp + 8]
cmp al, 6
jne 0x10017e9d
cmp byte [0x100850a8], 0
mov eax, dword [0x10085030]
mov dword [ebp - 0x64], eax
je 0x10017d9f
mov ecx, 0x10b8134
call fcn.1000f390
mov dword [ebp - 0x68], eax
test eax, eax
je 0x10017d9c
push 4
push eax
call edi
test eax, eax
jne 0x10017d9c
mov eax, dword [ebp - 0x68]
add eax, 0x6dc
push 4
push eax
mov dword [ebp - 0x68], eax
call edi
test eax, eax
jne 0x10017d9c
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
mov al, byte [eax]
mov byte [ecx + 0x38], al
mov eax, ecx
jmp 0x10017d9f
mov eax, dword [ebp - 0x64]
movzx eax, byte [eax + 0x38]
sub eax, 1
je 0x10017e2d
sub eax, 1
jne 0x10017e9d
cmp byte [0x100850a8], 0
mov eax, dword [0x10085030]
mov dword [ebp - 0x64], eax
je 0x10017e08
mov ecx, 0x10b8134
call fcn.1000f390
mov dword [ebp - 0x68], eax
test eax, eax
je 0x10017e05
push 4
push eax
call edi
test eax, eax
jne 0x10017e05
mov eax, dword [ebp - 0x68]
add eax, 0x6e4
push 4
push eax
mov dword [ebp - 0x68], eax
call edi
test eax, eax
jne 0x10017e05
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
mov ax, word [eax]
mov word [ecx + 0x3e], ax
mov eax, ecx
jmp 0x10017e08
mov eax, dword [ebp - 0x64]
mov ecx, 0xcf
cmp word [eax + 0x3e], cx
jne 0x10017e9d
mov edx, 0x1005
lea ecx, [ebp - 0x28]
call fcn.1000a7c0
mov byte [ebp - 4], 9
jmp 0x100179d1
cmp byte [0x100850a8], 0
mov eax, dword [0x10085030]
mov dword [ebp - 0x64], eax
je 0x10017e80
mov ecx, 0x10b8134
call fcn.1000f390
mov dword [ebp - 0x68], eax
test eax, eax
je 0x10017e7d
push 4
push eax
call edi
test eax, eax
jne 0x10017e7d
mov eax, dword [ebp - 0x68]
add eax, 0x6e4
push 4
push eax
mov dword [ebp - 0x68], eax
call edi
test eax, eax
jne 0x10017e7d
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
mov ax, word [eax]
mov word [ecx + 0x3e], ax
mov eax, ecx
jmp 0x10017e80
mov eax, dword [ebp - 0x64]
cmp word [eax + 0x3e], 0x6b
jne 0x10017e9d
mov edx, 0x1005
lea ecx, [ebp - 0x28]
call fcn.1000a7c0
mov byte [ebp - 4], 8
jmp 0x100179d1
mov eax, dword [ebp - 0x7c]
cmp eax, 3
ja case.default.0x10017ea9
jmp dword [eax*4 + 0x1001849c]
mov esi, dword [esi]
mov al, 0x75
mov byte [ebp - 0x1c], 6
mov cl, 0x72
xor al, byte [ebp - 0x1c]
mov dl, 0x74
xor cl, byte [ebp - 0x1c]
mov ah, 0x6f
mov byte [ebp - 0x1b], al
mov ch, 0x68
mov byte [ebp - 0x1a], cl
mov dh, 0x61
mov cl, byte [ebp - 0x1c]
xorps xmm0, xmm0
mov byte [ebp - 0x69], 0x59
xor dl, cl
mov al, byte [ebp - 0x69]
xor ah, cl
xor al, cl
mov byte [ebp - 0x61], 0x32
mov byte [ebp - 0x15], al
xor dh, cl
mov al, byte [ebp - 0x61]
xor ch, cl
xor al, cl
mov byte [ebp - 0x17], ch
sub esp, 0x18
mov byte [ebp - 0x19], dl
mov ecx, esp
mov byte [ebp - 0x16], dh
lea edx, [ebp - 0x1b]
mov byte [ebp - 0x18], ah
mov byte [ebp - 0x14], al
lea eax, [edx + 1]
mov byte [ebp - 0x13], 0
movups xmmword [ecx], xmm0
mov byte [ebp - 0x13], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [ebp - 0x68], eax
mov al, byte [edx]
inc edx
test al, al
jne 0x10017f27
sub edx, dword [ebp - 0x68]
push edx
lea eax, [ebp - 0x1b]
push eax
call fcn.10002130
mov ecx, esi
call fcn.1000f060
mov esi, eax
mov dword [ebp - 0x68], esi
jmp 0x100180f6
mov esi, dword [esi]
mov al, 0x45
mov byte [ebp - 0x1c], 0x36
mov cl, 0x42
xor al, byte [ebp - 0x1c]
mov dl, 0x44
xor cl, byte [ebp - 0x1c]
mov ah, 0x5f
mov byte [ebp - 0x1b], al
mov ch, 0x58
mov byte [ebp - 0x1a], cl
mov dh, 0x51
mov cl, byte [ebp - 0x1c]
xorps xmm0, xmm0
mov byte [ebp - 0x61], 0x69
xor dl, cl
mov al, byte [ebp - 0x61]
xor ah, cl
xor al, cl
mov byte [ebp - 0x69], 3
mov byte [ebp - 0x15], al
xor dh, cl
mov al, byte [ebp - 0x69]
xor ch, cl
xor al, cl
mov byte [ebp - 0x17], ch
sub esp, 0x18
mov byte [ebp - 0x19], dl
mov ecx, esp
mov byte [ebp - 0x16], dh
lea edx, [ebp - 0x1b]
mov byte [ebp - 0x18], ah
mov byte [ebp - 0x14], al
lea eax, [edx + 1]
mov byte [ebp - 0x13], 0
movups xmmword [ecx], xmm0
mov byte [ebp - 0x13], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [ebp - 0x68], eax
mov al, byte [edx]
inc edx
test al, al
jne 0x10017fc3
sub edx, dword [ebp - 0x68]
jmp 0x10017f31
mov esi, dword [esi]
mov al, 0x3a
mov byte [ebp - 0x1c], 0x49
mov cl, 0x3d
xor al, byte [ebp - 0x1c]
mov dl, 0x3b
xor cl, byte [ebp - 0x1c]
mov ah, 0x20
mov byte [ebp - 0x1b], al
mov ch, 0x27
mov byte [ebp - 0x1a], cl
mov dh, 0x2e
mov cl, byte [ebp - 0x1c]
xorps xmm0, xmm0
mov byte [ebp - 0x61], 0x16
xor dl, cl
mov al, byte [ebp - 0x61]
xor ah, cl
xor al, cl
mov byte [ebp - 0x69], 0x7f
mov byte [ebp - 0x15], al
xor dh, cl
mov al, byte [ebp - 0x69]
xor ch, cl
xor al, cl
mov byte [ebp - 0x17], ch
sub esp, 0x18
mov byte [ebp - 0x19], dl
mov ecx, esp
mov byte [ebp - 0x16], dh
lea edx, [ebp - 0x1b]
mov byte [ebp - 0x18], ah
mov byte [ebp - 0x14], al
lea eax, [edx + 1]
mov byte [ebp - 0x13], 0
movups xmmword [ecx], xmm0
mov byte [ebp - 0x13], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [ebp - 0x68], eax
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x10018050
sub edx, dword [ebp - 0x68]
jmp 0x10017f31
mov esi, dword [esi]
mov al, 0x66
mov byte [ebp - 0x1c], 0x15
mov cl, 0x61
xor al, byte [ebp - 0x1c]
mov dl, 0x67
xor cl, byte [ebp - 0x1c]
mov ah, 0x7c
mov byte [ebp - 0x1b], al
mov ch, 0x7b
mov byte [ebp - 0x1a], cl
mov dh, 0x72
mov cl, byte [ebp - 0x1c]
xorps xmm0, xmm0
mov byte [ebp - 0x61], 0x4a
xor dl, cl
mov al, byte [ebp - 0x61]
xor ah, cl
xor al, cl
mov byte [ebp - 0x69], 0x22
mov byte [ebp - 0x15], al
xor dh, cl
mov al, byte [ebp - 0x69]
xor ch, cl
xor al, cl
mov byte [ebp - 0x17], ch
sub esp, 0x18
mov byte [ebp - 0x19], dl
mov ecx, esp
mov byte [ebp - 0x16], dh
lea edx, [ebp - 0x1b]
mov byte [ebp - 0x18], ah
mov byte [ebp - 0x14], al
lea eax, [edx + 1]
mov byte [ebp - 0x13], 0
movups xmmword [ecx], xmm0
mov byte [ebp - 0x13], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
mov dword [ebp - 0x68], eax
mov al, byte [edx]
inc edx
test al, al
jne 0x100180d6
sub edx, dword [ebp - 0x68]
lea eax, [ebp - 0x1b]
push edx
push eax
call fcn.10002130
mov ecx, esi
call fcn.1000f060
mov esi, eax
mov dword [ebp - 0x68], eax
add esp, 0x18
test esi, esi
je case.default.0x10017ea9
push 4
push esi
call edi
test eax, eax
jne case.default.0x10017ea9
mov ecx, esi
call fcn.1000f290
lea ecx, [ebp - 0x60]
cmp ecx, eax
je 0x10018131
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
jbe 0x10018127
mov eax, dword [eax]
push ecx
push eax
lea ecx, [ebp - 0x60]
call fcn.10001e50
cmp dword [ebp - 0x4c], 0xf
lea eax, [ebp - 0x60]
cmova eax, dword [ebp - 0x60]
push eax
call fcn.10056278
mov esi, eax
add esp, 4
cmp byte [0x100850a8], 0
mov eax, dword [0x10085030]
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x64], eax
je 0x1001819b
mov ecx, 0x10b8134
call fcn.1000f390
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x10018198
push 4
push eax
call edi
test eax, eax
jne 0x10018198
mov eax, dword [ebp - 0x2c]
add eax, 0x6e8
push 4
push eax
mov dword [ebp - 0x2c], eax
call edi
test eax, eax
jne 0x10018198
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x64]
mov al, byte [eax]
mov byte [ecx + 0x3c], al
mov eax, ecx
jmp 0x1001819b
mov eax, dword [ebp - 0x64]
movzx eax, byte [eax + 0x3c]
cmp esi, eax
jl 0x100181b9
mov edx, 0x1131
lea ecx, [ebp - 0x28]
call fcn.1000a7c0
mov byte [ebp - 4], 0xa
jmp 0x100179d1
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0
movups xmmword [ebp - 0x48], xmm0
mov dword [ebp - 0x48], vtable.ByteBuffer.0
movq qword [ebp - 0x38], xmm0
mov byte [ebp - 0x44], 1
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x2c], 0x1000
call fcn.1000a4e0
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x38]
sub eax, edx
mov dword [ebp - 0x48], vtable.Packet.0
mov dword [ebp - 0x64], eax
cmp eax, 0x989680
ja 0x10018273
mov ecx, dword [ebp - 0x3c]
inc ecx
cmp eax, ecx
jae 0x10018269
mov eax, dword [ebp - 0x30]
sub eax, edx
cmp ecx, eax
jbe 0x1001824b
push ecx
push ecx
lea ecx, [ebp - 0x38]
call fcn.1000a6b0
jmp 0x10018266
sub ecx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x34]
push ecx
push 0
push eax
lea esi, [ecx + eax]
call fcn.1004c190
mov dword [ebp - 0x34], esi
add esp, 0xc
mov esi, dword [ebp - 0x70]
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x3c]
mov byte [edx + eax], 0x32
inc dword [ebp - 0x3c]
push dword [ebp + 8]
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xd
call fcn.1000a410
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x38]
sub ecx, eax
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x2c], eax
cmp ecx, 0x4000
ja 0x100182ae
mov ecx, dword ds:[0x10077bac]
mov ecx, dword ds:[ecx]
push dword [ebp - 0x70]
push dword [ebp - 0x2c]
call dword [0x10077ba8]
dec dword [ebp - 0x78]
push 4
push dword [ebp - 0x80]
call edi
test eax, eax
jne 0x100182c8
push dword [ebp - 0x78]
mov ecx, dword [ebp - 0x80]
call dword [0x10077c8c]
mov ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x78]
mov eax, dword [ecx]
mov dword [eax + 0x158], edx
mov eax, dword [ecx]
cmp dword [eax + 0x158], 0
ja 0x1001837a
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0x70], eax
test eax, eax
je 0x1001830b
push 4
push eax
call edi
test eax, eax
jne 0x10018308
mov ecx, dword [ebp - 0x70]
mov dl, 2
add ecx, 0xb8
call fcn.1000f2f0
mov ecx, dword [ebp - 0x74]
mov eax, dword [ecx + 0x1c]
mov dword [ebp - 0x70], eax
test eax, eax
je 0x1001832e
push 4
push eax
call edi
test eax, eax
jne 0x1001832e
mov ecx, dword [ebp - 0x70]
mov dl, 2
add ecx, 0xb8
call fcn.1000f2f0
mov eax, dword [ebp - 0x74]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x70], eax
test eax, eax
je 0x10018354
push 4
push eax
call edi
test eax, eax
jne 0x10018354
mov ecx, dword [ebp - 0x70]
mov dl, 2
add ecx, 0xb8
call fcn.1000f2f0
mov eax, dword [ebp - 0x74]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x70], eax
test eax, eax
je 0x1001837a
push 4
push eax
call edi
test eax, eax
jne 0x1001837a
mov ecx, dword [ebp - 0x70]
mov dl, 2
add ecx, 0xb8
call fcn.1000f2f0
push 4
push dword [ebp - 0x68]
inc esi
call edi
test eax, eax
jne 0x10018390
mov ecx, dword [ebp - 0x68]
push esi
call dword [0x10077c8c]
mov eax, dword [ebp - 0x7c]
jmp dword [eax*4 + 0x100184ac]
add esp, 8
mov ecx, dword [ebp - 0x4c]
cmp ecx, 0xf
jbe 0x10018448
mov edx, dword [ebp - 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001843e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10018465
push ecx
push edx
call fcn.1004a076
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1004a015
mov esp, ebp
pop ebp
ret 4
call fcn.1004f344
nop
in eax, dx
js 268534896
adc ch, ch
in eax, dx
js 0x10018474
adc ch, ch
in eax, dx
js 0x10018478
adc ch, ch
in eax, dx
js 0x1001847c
adc al, al
jns 0x10018480
sar byte [ecx + 1], 0x10
adc al, al
jns 0x10018484
sar byte [ecx + 1], 0x10
adc al, al
jns 0x10018488
sar byte [ecx + 1], 0x10
adc al, al
jns 0x1001848c
sar byte [ecx + 1], 0x10
adc byte [edx + edi*2 + 1], bl
pop esp
jp 268534928
adc byte [edx + edi*2 + 1], bl
pop esp
jp 268534932
adc byte [edx + edi*2 + 1], bl
pop esp
jp 268534936
adc byte [edx + edi*2 + 1], bl
pop esp
jp 268534940
adc byte [eax + 0x4c10017e], dh
mov al, 0x7e
add dword [eax], edx
dec esp
jg 0x100184a4
adc dl, dl
jg 0x100184a8
sar byte [edi + 1], cl
adc byte [edi - 0x80], bl
add dword [eax], edx
pop edi
add byte [ecx], 16
lcall 0x183, 0xa7100183
adc byte [ebx + eax*4 - 0x7c3eefff], dh
add dword [eax], edx
int3