Function at 0x10003c70
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x74
mov eax, dword [0x10015018]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
xor ebx, ebx
push 0x63
lea eax, [ebp - 0x6f]
push ebx
push eax
mov byte [ebp - 0x70], bl
call sub.MSVCR100.dll_memset
add esp, 0xc
xor eax, eax
jmp 0x10003ca0
mov cl, byte [eax + 0x10011ab8]
not cl
xor cl, 0xd3
mov byte [ebp + eax - 0x70], cl
inc eax
cmp eax, 0x1b
jl 0x10003ca0
mov ecx, dword [0x1001a188]
mov edx, dword [ecx]
mov edx, dword [edx + 8]
lea eax, [ebp - 0x70]
push eax
mov eax, dword [0x1001a190]
add eax, 0x64
push eax
mov eax, dword [0x1001a180]
push ebx
push ebx
push ebx
add eax, 0xe4
push eax
call edx
mov eax, dword [0x1001a180]
mov ecx, dword [eax + 0xd4]
push ecx
call fcn.10001510
add esp, 4
test al, al
je 0x10003d4d
push 0x63
lea edx, [ebp - 0x6f]
push ebx
push edx
mov byte [ebp - 0x70], bl
call sub.MSVCR100.dll_memset
add esp, 0xc
xor eax, eax
lea esp, [esp]
mov cl, byte [eax + 0x10011ad4]
not cl
xor cl, 0xd3
mov byte [ebp + eax - 0x70], cl
inc eax
cmp eax, 0x1b
jl 0x10003d10
mov ecx, dword [0x1001a188]
mov edx, dword [ecx]
mov edx, dword [edx + 8]
lea eax, [ebp - 0x70]
push eax
mov eax, dword [0x1001a190]
add eax, 0x64
push eax
mov eax, dword [0x1001a180]
push ebx
push ebx
push ebx
add eax, 0xd4
push eax
call edx
mov eax, dword [0x1001a180]
mov ecx, dword [eax + 0xd0]
push ecx
call fcn.10001510
add esp, 4
test al, al
je 0x10003dbd
push 0x63
lea edx, [ebp - 0x6f]
push ebx
push edx
mov byte [ebp - 0x70], bl
call sub.MSVCR100.dll_memset
add esp, 0xc
xor eax, eax
lea esp, [esp]
mov cl, byte [eax + 0x10011af0]
not cl
xor cl, 0xd3
mov byte [ebp + eax - 0x70], cl
inc eax
cmp eax, 0x20
jl 0x10003d80
mov ecx, dword [0x1001a188]
mov edx, dword [ecx]
mov edx, dword [edx + 8]
lea eax, [ebp - 0x70]
push eax
mov eax, dword [0x1001a190]
add eax, 0x64
push eax
mov eax, dword [0x1001a180]
push ebx
push ebx
push ebx
add eax, 0xd0
push eax
call edx
mov edx, dword [0x1001a190]
mov ecx, dword [0x1001a188]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
push str.83_C1____E9_____________80_B9
add edx, 0x64
push edx
mov edx, dword [0x1001a180]
push ebx
push 3
push 3
add edx, 0x128
push edx
call eax
mov ecx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
mov eax, dword [0x1001a180]
add dword [eax + 0x128], 0xd
mov eax, dword [eax + 0x128]
mov edx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push ecx
push ecx
push 0x10010fa0
push eax
push 0x10001060
push 0x10001040
push str.___Throw_______:___0x
push edx
call fcn.1000d300
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base_____cdecl___class_std::ios_base___]
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base_____cdecl___class_std::ios_base___]
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_int_]
push eax
call fcn.1000d300
add esp, 0xc
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push 0x63
lea eax, [ebp - 0x6f]
push ebx
push eax
mov byte [ebp - 0x70], bl
call sub.MSVCR100.dll_memset
add esp, 0xc
xor eax, eax
jmp 0x10003e70
mov cl, byte [eax + 0x10011b4c]
not cl
xor cl, 0xd3
mov byte [ebp + eax - 0x70], cl
inc eax
cmp eax, 0x1b
jl 0x10003e70
mov ecx, dword [0x1001a188]
mov edx, dword [ecx]
mov edx, dword [edx + 8]
lea eax, [ebp - 0x70]
push eax
mov eax, dword [0x1001a190]
add eax, 0x64
push eax
mov eax, dword [0x1001a180]
push ebx
push 3
push 3
add eax, 0x144
push eax
call edx
mov ecx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
mov eax, dword [0x1001a180]
add dword [eax + 0x144], 0xd
mov eax, dword [eax + 0x144]
mov edx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push ecx
push ecx
push 0x10010fa0
push eax
push 0x10001060
push 0x10001040
push str.___Explosion_______:___0x
push edx
call fcn.1000d300
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base_____cdecl___class_std::ios_base___]
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base_____cdecl___class_std::ios_base___]
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_int_]
push eax
call fcn.1000d300
add esp, 0xc
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov eax, dword [0x1001a180]
mov ecx, dword [eax + 0x12c]
push ecx
call fcn.10001510
add esp, 4
test al, al
je 0x10003f7f
push 0x63
lea edx, [ebp - 0x6f]
push ebx
push edx
mov byte [ebp - 0x70], bl
call sub.MSVCR100.dll_memset
add esp, 0xc
xor eax, eax
mov cl, byte [eax + 0x10011b84]
not cl
xor cl, 0xd3
mov byte [ebp + eax - 0x70], cl
inc eax
cmp eax, 0x18
jl 0x10003f42
mov ecx, dword [0x1001a188]
mov edx, dword [ecx]
mov edx, dword [edx + 8]
lea eax, [ebp - 0x70]
push eax
mov eax, dword [0x1001a190]
add eax, 0x64
push eax
mov eax, dword [0x1001a180]
push ebx
push ebx
push ebx
add eax, 0x12c
push eax
call edx
mov eax, dword [0x1001a180]
add dword [eax + 0x12c], 0xffffffdc
mov ecx, dword [eax + 0x12c]
add ecx, 0x11
mov dword [0x100198e8], ecx
mov ecx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
mov edx, dword [eax + 0x12c]
mov eax, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push ecx
push ecx
push 0x10010fa0
push edx
push 0x10001060
push 0x10001040
push str.___TeleK400_______:___0x
push eax
call fcn.1000d300
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base_____cdecl___class_std::ios_base___]
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base_____cdecl___class_std::ios_base___]
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_int_]
push eax
call fcn.1000d300
add esp, 0xc
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, dword [0x1001a180]
mov edx, dword [ecx + 0x130]
push edx
call fcn.10001510
add esp, 4
test al, al
je 0x1000405e
push 0x63
lea eax, [ebp - 0x6f]
push ebx
push eax
mov byte [ebp - 0x70], bl
call sub.MSVCR100.dll_memset
add esp, 0xc
xor eax, eax
mov cl, byte [eax + 0x10011bbc]
not cl
xor cl, 0xd3
mov byte [ebp + eax - 0x70], cl
inc eax
cmp eax, 0x3c
jl 0x10004021
mov ecx, dword [0x1001a188]
mov edx, dword [ecx]
mov edx, dword [edx + 8]
lea eax, [ebp - 0x70]
push eax
mov eax, dword [0x1001a190]
add eax, 0x64
push eax
mov eax, dword [0x1001a180]
push ebx
push ebx
push ebx
add eax, 0x130
push eax
call edx
mov eax, dword [0x1001a180]
mov ecx, dword [eax + 0x130]
mov edx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
push edx
add ecx, 0x11
push ecx
push 0x10010fa0
mov dword [0x100194e0], ecx
mov eax, dword [eax + 0x130]
mov ecx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push eax
push 0x10001060
push 0x10001040
push str.___TeleKnife_______:___0x
push ecx
call fcn.1000d300
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base_____cdecl___class_std::ios_base___]
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base_____cdecl___class_std::ios_base___]
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_int_]
push eax
call fcn.1000d300
add esp, 0xc
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov edx, dword [0x1001a180]
mov eax, dword [edx + 0x160]
push eax
call fcn.10001510
add esp, 4
test al, al
je 0x10004140
push 0x63
lea ecx, [ebp - 0x6f]
push ebx
push ecx
mov byte [ebp - 0x70], bl
call sub.MSVCR100.dll_memset
add esp, 0xc
xor eax, eax
lea ebx, [ebx]
mov dl, byte [eax + 0x10011c18]
not dl
xor dl, 0xd3
mov byte [ebp + eax - 0x70], dl
inc eax
cmp eax, 0x2a
jl 0x10004100
mov ecx, dword [0x1001a188]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
lea edx, [ebp - 0x70]
push edx
mov edx, dword [0x1001a190]
add edx, 0x64
push edx
mov edx, dword [0x1001a180]
push ebx
push ebx
push ebx
add edx, 0x160
push edx
call eax
mov ecx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
mov eax, dword [0x1001a180]
add dword [eax + 0x160], 0xa
mov eax, dword [eax + 0x160]
mov edx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push ecx
push ecx
push 0x10010fa0
push eax
push 0x10001060
push 0x10001040
push str.___Scope_______:___0x
push edx
call fcn.1000d300
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base_____cdecl___class_std::ios_base___]
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base_____cdecl___class_std::ios_base___]
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_int_]
push eax
call fcn.1000d300
add esp, 0xc
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov eax, dword [0x1001a180]
mov ecx, dword [eax + 0x134]
push ecx
call fcn.10001510
add esp, 4
test al, al
je 0x10004210
push 0x63
lea edx, [ebp - 0x6f]
push ebx
push edx
mov byte [ebp - 0x70], bl
call sub.MSVCR100.dll_memset
add esp, 0xc
xor eax, eax
mov cl, byte [eax + 0x10011c5c]
not cl
xor cl, 0xd3
mov byte [ebp + eax - 0x70], cl
inc eax
cmp eax, 0x36
jl 0x100041d3
mov ecx, dword [0x1001a188]
mov edx, dword [ecx]
mov edx, dword [edx + 8]
lea eax, [ebp - 0x70]
push eax
mov eax, dword [0x1001a190]
add eax, 0x64
push eax
mov eax, dword [0x1001a180]
push ebx
push ebx
push ebx
add eax, 0x134
push eax
call edx
mov eax, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
push eax
mov eax, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push ecx
mov ecx, dword [0x1001a180]
mov edx, dword [ecx + 0x134]
push 0x10010fa0
push edx
push 0x10001060
push 0x10001040
push str.___TeleLauncher_______:___0x
push eax
call fcn.1000d300
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base_____cdecl___class_std::ios_base___]
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base_____cdecl___class_std::ios_base___]
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_int_]
push eax
call fcn.1000d300
add esp, 0xc
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov eax, dword [0x1001a180]
mov ecx, dword [eax + 0x134]
add ecx, 0x27
mov dword [0x10018cc0], ecx
mov edx, dword [eax + 0x148]
push edx
call fcn.10001510
add esp, 4
test al, al
je 0x100042ed
push 0x63
lea eax, [ebp - 0x6f]
push ebx
push eax
mov byte [ebp - 0x70], bl
call sub.MSVCR100.dll_memset
add esp, 0xc
xor eax, eax
lea ebx, [ebx]
mov cl, byte [eax + 0x10011cb4]
not cl
xor cl, 0xd3
mov byte [ebp + eax - 0x70], cl
inc eax
cmp eax, 0x21
jl 0x100042b0
mov ecx, dword [0x1001a188]
mov edx, dword [ecx]
mov edx, dword [edx + 8]
lea eax, [ebp - 0x70]
push eax
mov eax, dword [0x1001a190]
add eax, 0x64
push eax
mov eax, dword [0x1001a180]
push ebx
push ebx
push ebx
add eax, 0x148
push eax
call edx
mov eax, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
push eax
mov eax, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push ecx
mov ecx, dword [0x1001a180]
mov edx, dword [ecx + 0x148]
push 0x10010fa0
push edx
push 0x10001060
push 0x10001040
push str.___jump_______:___0x
push eax
call fcn.1000d300
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base_____cdecl___class_std::ios_base___]
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::ios_base_____cdecl___class_std::ios_base___]
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_int_]
push eax
call fcn.1000d300
add esp, 0xc
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop ebx
call fcn.1000d66d
mov esp, ebp
pop ebp
ret