Function at 0x1007ddf0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100cc5b1
mov eax, dword fs:[0]
push eax
sub esp, 0xf4
mov eax, dword [0x100f2040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x84], edi
mov eax, dword [edi]
mov dword [0x100f6354], eax
mov eax, dword [ebp + 8]
test eax, eax
je 0x1007e7f8
cmp dword [ebp + 0xc], 1
jne 0x1007e7f8
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x1007e817
cmp eax, ecx
jne 0x1007e817
mov edx, dword [edi + 4]
lea ecx, [ebp - 0x50]
call fcn.1001dc20
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x3c]
test ecx, ecx
jne 0x1007dfb4
mov dl, 0x49
mov dword [ebp - 0x78], 0x2e281d49
mov byte [ebp - 0x74], cl
nop dword [eax]
xor byte [ebp + ecx - 0x77], dl
inc ecx
cmp ecx, 3
jae 0x1007de8f
mov dl, byte [ebp - 0x78]
jmp 0x1007de80
xorps xmm0, xmm0
mov byte [ebp - 0x74], 0
lea ecx, [ebp - 0x77]
mov dword [ebp - 0x30], 0
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x1c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x18], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1007deb5
sub ecx, edx
lea eax, [ebp - 0x77]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.10003370
mov byte [ebp - 4], 1
xor ecx, ecx
movaps xmm0, xmmword [0x100e9330]
movups xmmword [ebp - 0x9c], xmm0
mov dword [ebp - 0x8c], 0x9064f
nop dword [eax]
mov al, byte [ebp + ecx - 0x9b]
xor al, byte [ebp - 0x9c]
mov byte [ebp + ecx - 0x9b], al
inc ecx
cmp ecx, 0x12
jb 0x1007def0
xorps xmm0, xmm0
mov byte [ebp - 0x89], 0
lea ecx, [ebp - 0x9b]
mov dword [ebp - 0xc0], 0
movups xmmword [ebp - 0xbc], xmm0
mov dword [ebp - 0xac], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xa8], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1007df42
sub ecx, edx
lea eax, [ebp - 0x9b]
push ecx
push eax
lea ecx, [ebp - 0xc0]
call fcn.10003370
push 0
push 0
lea edx, [ebp - 0x30]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xc0]
call fcn.1002afd0
add esp, 8
lea ecx, [ebp - 0xc0]
call fcn.10002f50
mov eax, dword [ebp - 0xc0]
push 8
push eax
mov dword [ebp - 0xc0], 0
call fcn.100891b0
add esp, 8
lea ecx, [ebp - 0x30]
call fcn.10002f50
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], 0
jmp 0x1007e7d0
cmp ecx, 0x20
jbe 0x1007e0b9
mov dl, 0x78
mov dword [ebp - 0x78], 0x1f192c78
mov byte [ebp - 0x74], 0
xor ecx, ecx
nop dword [eax]
xor byte [ebp + ecx - 0x77], dl
inc ecx
cmp ecx, 3
jae 0x1007dfdf
mov dl, byte [ebp - 0x78]
jmp 0x1007dfd0
xorps xmm0, xmm0
mov byte [ebp - 0x74], 0
lea ecx, [ebp - 0x77]
mov dword [ebp - 0xc0], 0
movups xmmword [ebp - 0xbc], xmm0
mov dword [ebp - 0xac], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xa8], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1007e011
sub ecx, edx
lea eax, [ebp - 0x77]
push ecx
push eax
lea ecx, [ebp - 0xc0]
call fcn.10003370
mov byte [ebp - 4], 3
xor ecx, ecx
movaps xmm0, xmmword [0x100e9520]
movups xmmword [ebp - 0x9c], xmm0
mov dword [ebp - 0x8c], 0x145d5455
mov word [ebp - 0x88], 0x1b
mov al, byte [ebp + ecx - 0x9b]
xor al, byte [ebp - 0x9c]
mov byte [ebp + ecx - 0x9b], al
inc ecx
cmp ecx, 0x14
jb 0x1007e051
xorps xmm0, xmm0
mov byte [ebp - 0x87], 0
lea ecx, [ebp - 0x9b]
mov dword [ebp - 0x30], 0
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x1c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x18], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1007e097
sub ecx, edx
lea eax, [ebp - 0x9b]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.10003370
mov byte [ebp - 4], 4
jmp 0x1007e783
xor esi, esi
test ecx, ecx
je 0x1007e102
mov edx, dword [ebp - 0x38]
mov edi, dword [ebp - 0x4c]
cmp edx, 0xf
lea eax, [ebp - 0x4c]
cmova eax, edi
cmp byte [eax + esi], 0x20
je 0x1007e0f7
cmp edx, 0xf
lea eax, [ebp - 0x4c]
cmova eax, edi
movsx eax, byte [esi + eax]
push eax
call fcn.100a17d0
add esp, 4
test eax, eax
je 0x1007e127
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x4c]
inc esi
cmp esi, ecx
jb 0x1007e0c5
mov edi, dword [ebp - 0x84]
mov dl, 0x33
mov dword [ebp - 0x80], 0x5e527433
mov dword [ebp - 0x7c], 0x7e1356
xor ecx, ecx
xor byte [ebp + ecx - 0x7f], dl
inc ecx
cmp ecx, 6
jae 0x1007e258
mov dl, byte [ebp - 0x80]
jmp 0x1007e114
mov dl, 0x40
mov dword [ebp - 0x78], 0x27211440
mov byte [ebp - 0x74], 0
xor ecx, ecx
xor byte [ebp + ecx - 0x77], dl
inc ecx
cmp ecx, 3
jae 0x1007e145
mov dl, byte [ebp - 0x78]
jmp 0x1007e136
xorps xmm0, xmm0
mov byte [ebp - 0x74], 0
lea ecx, [ebp - 0x77]
mov dword [ebp - 0xc0], 0
movups xmmword [ebp - 0xbc], xmm0
mov dword [ebp - 0xac], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xa8], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1007e177
sub ecx, edx
lea eax, [ebp - 0x77]
push ecx
push eax
lea ecx, [ebp - 0xc0]
call fcn.10003370
mov byte [ebp - 4], 5
xor ecx, ecx
movaps xmm0, xmmword [0x100e8e50]
movups xmmword [ebp - 0x100], xmm0
mov dword [ebp - 0xd0], 0x333e2276
movaps xmm0, xmmword [0x100e8e60]
movups xmmword [ebp - 0xf0], xmm0
mov dword [ebp - 0xcc], 0x31372276
movaps xmm0, xmmword [0x100e90e0]
movups xmmword [ebp - 0xe0], xmm0
mov dword [ebp - 0xc8], 0x78323f76
mov word [ebp - 0xc4], 0x77
nop word [eax + eax]
mov al, byte [ebp + ecx - 0xff]
xor al, byte [ebp - 0x100]
mov byte [ebp + ecx - 0xff], al
inc ecx
cmp ecx, 0x3c
jb 0x1007e1f0
xorps xmm0, xmm0
mov byte [ebp - 0xc3], 0
lea ecx, [ebp - 0xff]
mov dword [ebp - 0x30], 0
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x1c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x18], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1007e236
sub ecx, edx
lea eax, [ebp - 0xff]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.10003370
mov byte [ebp - 4], 6
jmp 0x1007e783
sub esp, 0x1c
mov byte [ebp - 0x79], 0
mov edx, esp
mov dword [ebp - 0x78], esp
xorps xmm0, xmm0
lea ecx, [ebp - 0x7f]
lea esi, [ecx + 1]
mov dword [edx], 0
movups xmmword [edx + 4], xmm0
mov dword [edx + 0x14], 0
mov dword [edx + 0x18], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1007e285
sub ecx, esi
lea eax, [ebp - 0x7f]
push ecx
push eax
mov ecx, edx
call fcn.10003370
sub esp, 0x1c
mov byte [ebp - 4], 7
lea eax, [ebp - 0x50]
mov ecx, esp
push eax
call fcn.100083a0
mov byte [ebp - 4], 0
call fcn.100194e0
add esp, 0x38
test al, al
jne 0x1007e671
mov dl, 3
mov dword [ebp - 0x80], 0x6e624403
mov word [ebp - 0x7c], 0x4e66
xor ecx, ecx
mov byte [ebp - 0x7a], al
xor byte [ebp + ecx - 0x7f], dl
inc ecx
cmp ecx, 5
jae 0x1007e2e3
mov dl, byte [ebp - 0x80]
jmp 0x1007e2d4
sub esp, 0x1c
mov byte [ebp - 0x7a], 0
mov edx, esp
mov dword [ebp - 0x78], esp
xorps xmm0, xmm0
lea ecx, [ebp - 0x7f]
lea esi, [ecx + 1]
mov dword [edx], 0
movups xmmword [edx + 4], xmm0
mov dword [edx + 0x14], 0
mov dword [edx + 0x18], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1007e310
sub ecx, esi
lea eax, [ebp - 0x7f]
push ecx
push eax
mov ecx, edx
call fcn.10003370
sub esp, 0x1c
mov byte [ebp - 4], 8
lea eax, [ebp - 0x50]
mov ecx, esp
push eax
call fcn.100083a0
mov byte [ebp - 4], 0
call fcn.100194e0
add esp, 0x38
test al, al
jne 0x1007e671
mov dl, 0x6c
mov dword [ebp - 0x84], 0x212b6c
xor ecx, ecx
nop dword [eax]
xor byte [ebp + ecx - 0x83], dl
inc ecx
cmp ecx, 2
jae 0x1007e375
mov dl, byte [ebp - 0x84]
jmp 0x1007e360
sub esp, 0x1c
mov byte [ebp - 0x81], 0
mov edx, esp
mov dword [ebp - 0x78], esp
xorps xmm0, xmm0
lea ecx, [ebp - 0x83]
lea esi, [ecx + 1]
mov dword [edx], 0
movups xmmword [edx + 4], xmm0
mov dword [edx + 0x14], 0
mov dword [edx + 0x18], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1007e3a8
sub ecx, esi
lea eax, [ebp - 0x83]
push ecx
push eax
mov ecx, edx
call fcn.10003370
sub esp, 0x1c
mov byte [ebp - 4], 9
lea eax, [ebp - 0x50]
mov ecx, esp
push eax
call fcn.100083a0
mov byte [ebp - 4], 0
call fcn.100194e0
add esp, 0x38
test al, al
jne 0x1007e671
mov dl, 0x71
mov dword [ebp - 0x80], 0x1c153071
mov word [ebp - 0x7c], 0x18
xor ecx, ecx
xor byte [ebp + ecx - 0x7f], dl
inc ecx
cmp ecx, 4
jae 0x1007e406
mov dl, byte [ebp - 0x80]
jmp 0x1007e3f7
sub esp, 0x1c
mov byte [ebp - 0x7b], 0
mov edx, esp
mov dword [ebp - 0x78], esp
xorps xmm0, xmm0
lea ecx, [ebp - 0x7f]
lea esi, [ecx + 1]
mov dword [edx], 0
movups xmmword [edx + 4], xmm0
mov dword [edx + 0x14], 0
mov dword [edx + 0x18], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1007e433
sub ecx, esi
lea eax, [ebp - 0x7f]
push ecx
push eax
mov ecx, edx
call fcn.10003370
sub esp, 0x1c
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x50]
mov ecx, esp
push eax
call fcn.100083a0
mov byte [ebp - 4], 0
call fcn.100194e0
add esp, 0x38
test al, al
jne 0x1007e671
mov dl, 0x7c
mov dword [ebp - 0x80], 0xa19387c
mov word [ebp - 0x7c], 0x19
xor ecx, ecx
nop
xor byte [ebp + ecx - 0x7f], dl
inc ecx
cmp ecx, 4
jae 0x1007e48f
mov dl, byte [ebp - 0x80]
jmp 0x1007e480
sub esp, 0x1c
mov byte [ebp - 0x7b], 0
mov edx, esp
mov dword [ebp - 0x78], esp
xorps xmm0, xmm0
lea ecx, [ebp - 0x7f]
lea esi, [ecx + 1]
mov dword [edx], 0
movups xmmword [edx + 4], xmm0
mov dword [edx + 0x14], 0
mov dword [edx + 0x18], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1007e4c0
sub ecx, esi
lea eax, [ebp - 0x7f]
push ecx
push eax
mov ecx, edx
call fcn.10003370
sub esp, 0x1c
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x50]
mov ecx, esp
push eax
call fcn.100083a0
mov byte [ebp - 4], 0
call fcn.100194e0
add esp, 0x38
test al, al
jne 0x1007e671
xorps xmm0, xmm0
mov byte [ebp - 0x14], 0xa1
push 0x1000
lea ecx, [ebp - 0x70]
movups xmmword [ebp - 0x70], xmm0
movups xmmword [ebp - 0x60], xmm0
call fcn.1000f000
push 1
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 0xe
push eax
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x70], vtable.Packet.0
call fcn.1000f1c0
push 1
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0x70]
mov byte [ebp - 0x14], 0xa6
call fcn.1000f1c0
push 1
lea eax, [ebp - 0x14]
mov byte [ebp - 0x14], 0xf
push eax
lea ecx, [ebp - 0x70]
call fcn.1000f1c0
push 1
lea eax, [ebp - 0x14]
mov byte [ebp - 0x14], 1
push eax
lea ecx, [ebp - 0x70]
call fcn.1000f1c0
cmp dword [ebp - 0x38], 0xf
lea esi, [ebp - 0x4c]
cmova esi, dword [ebp - 0x4c]
mov ecx, esi
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1007e580
sub ecx, edx
movzx eax, cx
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x84], eax
xor eax, eax
cmp byte [ebp - 0x6c], al
setne al
inc eax
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.1000f1c0
movzx eax, word [ebp - 0x84]
lea ecx, [ebp - 0x70]
push eax
push esi
call fcn.1000f1c0
mov al, byte [edi + 0x18]
lea ecx, [ebp - 0x70]
mov byte [ebp - 0x14], al
lea eax, [ebp - 0x14]
push 1
push eax
call fcn.1000f1c0
mov al, byte [edi + 0x19]
lea ecx, [ebp - 0x70]
mov byte [ebp - 0x14], al
lea eax, [ebp - 0x14]
push 1
push eax
call fcn.1000f1c0
mov al, byte [edi + 0x1a]
lea ecx, [ebp - 0x70]
mov byte [ebp - 0x14], al
lea eax, [ebp - 0x14]
push 1
push eax
call fcn.1000f1c0
mov esi, dword [ebp - 0x58]
lea ecx, [ebp - 0x60]
sub esi, dword [ebp - 0x5c]
push 0
mov dword [ebp - 0x84], esi
call fcn.1000bb70
mov dword [ebp - 0x7c], eax
cmp esi, 0x4000
ja 0x1007e637
mov eax, dword [0x100f5fec]
mov dword [ebp - 0x78], eax
mov ecx, dword ds:[0x100e1890]
mov ecx, dword ds:[ecx]
push dword [ebp - 0x84]
push dword [ebp - 0x7c]
call dword [ebp - 0x78]
mov ecx, edi
call fcn.1007ebc0
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x70], vtable.ByteBuffer.0
call fcn.1000f550
lea ecx, [ebp - 0x50]
call fcn.10002f50
mov eax, dword [ebp - 0x50]
push 8
push eax
mov dword [ebp - 0x50], 0
call fcn.100891b0
add esp, 8
mov al, 1
jmp 0x1007e7fa
mov dl, 0x3d
mov dword [ebp - 0x78], 0x5a5c693d
mov byte [ebp - 0x74], 0
xor ecx, ecx
xor byte [ebp + ecx - 0x77], dl
inc ecx
cmp ecx, 3
jae 0x1007e68f
mov dl, byte [ebp - 0x78]
jmp 0x1007e680
xorps xmm0, xmm0
mov byte [ebp - 0x74], 0
lea ecx, [ebp - 0x77]
mov dword [ebp - 0xc0], 0
movups xmmword [ebp - 0xbc], xmm0
mov dword [ebp - 0xac], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xa8], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1007e6c1
sub ecx, edx
lea eax, [ebp - 0x77]
push ecx
push eax
lea ecx, [ebp - 0xc0]
call fcn.10003370
mov byte [ebp - 4], 0xc
xor ecx, ecx
movaps xmm0, xmmword [0x100e9a50]
movups xmmword [ebp - 0xa4], xmm0
mov dword [ebp - 0x94], 0x792d3637
mov dword [ebp - 0x90], 0x36353538
mov dword [ebp - 0x8c], 0x773d3c2e
mov word [ebp - 0x88], 0x78
nop word [eax + eax]
mov al, byte [ebp + ecx - 0xa3]
xor al, byte [ebp - 0xa4]
mov byte [ebp + ecx - 0xa3], al
inc ecx
cmp ecx, 0x1c
jb 0x1007e720
xorps xmm0, xmm0
mov byte [ebp - 0x87], 0
lea ecx, [ebp - 0xa3]
mov dword [ebp - 0x30], 0
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x1c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x18], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1007e766
sub ecx, edx
lea eax, [ebp - 0xa3]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.10003370
mov byte [ebp - 4], 0xd
push 0
push 0
lea edx, [ebp - 0xc0]
lea ecx, [ebp - 0x30]
call fcn.1002afd0
add esp, 8
lea ecx, [ebp - 0x30]
call fcn.10002f50
mov eax, dword [ebp - 0x30]
push 8
push eax
mov dword [ebp - 0x30], 0
call fcn.100891b0
add esp, 8
lea ecx, [ebp - 0xc0]
call fcn.10002f50
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xc0], 0
push 8
push eax
call fcn.100891b0
add esp, 8
lea ecx, [ebp - 0x50]
call fcn.10002f50
mov eax, dword [ebp - 0x50]
push 8
push eax
mov dword [ebp - 0x50], 0
call fcn.100891b0
add esp, 8
xor al, al
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.10089100
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x1007e8fb
cmp eax, ecx
jne 0x1007e8fb
xorps xmm0, xmm0
mov byte [ebp - 0x14], 0xa1
push 0x1000
lea ecx, [ebp - 0x34]
movups xmmword [ebp - 0x34], xmm0
movups xmmword [ebp - 0x24], xmm0
call fcn.1000f000
push 1
lea eax, [ebp - 0x14]
mov dword [ebp - 4], 0x10
push eax
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x34], vtable.Packet.0
call fcn.1000f1c0
push 1
lea eax, [ebp - 0x14]
mov dword [ebp - 4], 0x11
push eax
lea ecx, [ebp - 0x34]
mov byte [ebp - 0x14], 0xa6
call fcn.1000f1c0
push 1
lea eax, [ebp - 0x14]
mov byte [ebp - 0x14], 0xf
push eax
lea ecx, [ebp - 0x34]
call fcn.1000f1c0
push 1
lea eax, [ebp - 0x14]
mov byte [ebp - 0x14], 2
push eax
lea ecx, [ebp - 0x34]
call fcn.1000f1c0
mov esi, dword [ebp - 0x1c]
lea ecx, [ebp - 0x24]
sub esi, dword [ebp - 0x20]
push 0
mov dword [ebp - 0x78], esi
call fcn.1000bb70
mov dword [ebp - 0x7c], eax
cmp esi, 0x4000
ja 0x1007e8de
mov eax, dword [0x100f5fec]
mov dword [ebp - 0x84], eax
mov ecx, dword ds:[0x100e1890]
mov ecx, dword ds:[ecx]
push dword [ebp - 0x78]
push dword [ebp - 0x7c]
call dword [ebp - 0x84]
mov ecx, edi
call fcn.1007ebc0
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x34], vtable.ByteBuffer.0
call fcn.1000f550
mov al, 1
jmp 0x1007e7fa
mov ecx, dword [edi + 0x10]
test ecx, ecx
je 0x1007e90d
cmp eax, ecx
jne 0x1007e90d
mov ecx, edi
call fcn.1007ebc0
mov al, 1
jmp 0x1007e7fa