Function at 0x41a34d
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
push ebx
push esi
push edi
push ecx
mov eax, esp
mov dword [ebp - 4], ecx
xor ebx, ebx
push ecx
lea ecx, [ebp - 8]
mov dword [eax], ebx
mov eax, esp
mov dword [eax], ebx
call fcn.00420d92
mov edi, dword [sym.imp.system.dll_public:_static_class_Ref_class_String____cdecl_String::create_void_]
lea eax, [ebp - 0x10]
push eax
mov dword [ebp - 0xc], ebx
lea esi, [ebp - 0x28]
mov dword [ebp - 0x28], 0xb7d36cbf
mov dword [ebp - 0x23], 0xfdfd65d4
mov byte [ebp - 0x24], 0x5d
call edi
mov bl, 0x4f
add esp, 0xc
mov bh, 0xf0
mov byte [ebp - 0x14], bl
mov ecx, dword [ebp - 0x10]
lea edx, [ebp - 0x18]
push dword [ebp - 0x14]
push edx
mov eax, dword [ecx]
call dword [eax + 0x2c]
push eax
lea ecx, [ebp - 0x10]
call fcn.00413128
lea ecx, [ebp - 0x18]
call fcn.00401cfa
add bh, bl
inc esi
mov bl, byte [esi]
xor bl, bh
mov byte [ebp - 0x14], bl
jne 0x41a39b
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0xc]
call fcn.00413128
lea ecx, [ebp - 0x10]
call fcn.00401cfa
and dword [ebp - 0x10], 0
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 0x21], 0x51b5049d
lea esi, [ebp - 0x28]
mov dword [ebp - 0x25], 0xef41800c
mov word [ebp - 0x27], 0x87e2
mov byte [ebp - 0x1d], 0xa1
mov byte [ebp - 0x28], 3
call edi
mov bl, 0x44
mov bh, 0x47
pop ecx
mov byte [ebp - 0x18], bl
mov ecx, dword [ebp - 0x14]
lea edx, [ebp - 0x1c]
push dword [ebp - 0x18]
push edx
mov eax, dword [ecx]
call dword [eax + 0x2c]
push eax
lea ecx, [ebp - 0x14]
call fcn.00413128
lea ecx, [ebp - 0x1c]
call fcn.00401cfa
add bh, bl
inc esi
mov bl, byte [esi]
xor bl, bh
mov byte [ebp - 0x18], bl
jne 0x41a40c
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x10]
call fcn.00413128
lea ecx, [ebp - 0x14]
call fcn.00401cfa
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401d12
call fcn.004182a4
pop ecx
test al, al
je 0x41a5e3
mov esi, dword [ebp - 0xc]
lea ecx, [ebp - 0x14]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1c], eax
push ecx
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov ecx, dword [ebp - 0x1c]
lea edx, [ebp - 0x18]
push edx
mov edi, dword [eax]
mov eax, dword [ecx]
mov ebx, dword [edi]
add ebx, 0x90
call dword [eax]
push eax
mov ecx, edi
call dword [ebx]
test al, al
je 0x41a4bd
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401d12
call fcn.004183a6
pop ecx
mov edx, 0x155
mov ecx, eax
call fcn.00418d00
test al, al
je 0x41a4bd
mov bl, 1
jmp 0x41a4bf
xor bl, bl
lea ecx, [ebp - 0x18]
call fcn.00401cfa
lea ecx, [ebp - 0x14]
call fcn.00401cfa
test bl, bl
je 0x41a508
mov ebx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
and dword [ebx], 0
test eax, eax
je 0x41a4f0
mov ecx, dword [eax + 4]
add eax, 4
mov ecx, dword [ecx + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax + 8]
test esi, esi
je 0x41aa1a
mov eax, dword [esi + 4]
mov ecx, dword [eax + 4]
add ecx, 4
add ecx, esi
jmp 0x41aa15
mov edi, dword [ebp - 0x10]
lea ecx, [ebp - 0x10]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1c], eax
push ecx
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov ecx, dword [ebp - 0x1c]
lea edx, [ebp - 0x14]
push edx
mov ebx, dword [eax]
mov eax, dword [ebx]
add eax, 0x90
mov dword [ebp - 0x18], eax
mov eax, dword [ecx]
call dword [eax]
push eax
mov eax, dword [ebp - 0x18]
mov ecx, ebx
call dword [eax]
test al, al
je 0x41a565
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401d12
call fcn.004183a6
pop ecx
mov edx, 0x155
mov ecx, eax
call fcn.00418d00
test al, al
je 0x41a565
xor ebx, ebx
inc ebx
jmp 0x41a567
xor bl, bl
lea ecx, [ebp - 0x14]
call fcn.00401cfa
lea ecx, [ebp - 0x10]
call fcn.00401cfa
test bl, bl
je 0x41a599
mov ebx, dword [ebp - 4]
and dword [ebx], 0
test edi, edi
je 0x41a4f0
mov eax, dword [edi + 4]
mov ecx, dword [eax + 4]
add ecx, 4
add ecx, edi
jmp 0x41a4eb
push 0x2c
call fcn.00417bc2
mov ebx, eax
pop ecx
test ebx, ebx
je 0x41a57b
push ecx
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401d12
mov ecx, ebx
call fcn.0041bc6a
test eax, eax
je 0x41a57b
mov ecx, dword [eax + 4]
mov ebx, dword [ebp - 4]
mov ecx, dword [ecx + 8]
add ecx, 4
add ecx, eax
mov dword [ebx], ecx
je 0x41a581
mov eax, dword [ecx + 4]
mov eax, dword [eax + 4]
add eax, 4
add ecx, eax
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x41a581
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401d12
call fcn.00418fa9
pop ecx
test al, al
je 0x41a676
mov esi, dword [ebp - 0x10]
lea ecx, [ebp - 0x14]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1c], eax
push ecx
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov ecx, dword [ebp - 0x1c]
lea edx, [ebp - 0x18]
push edx
mov edi, dword [eax]
mov eax, dword [ecx]
mov ebx, dword [edi]
call dword [eax]
push eax
mov ecx, edi
call dword [ebx + 0x90]
lea ecx, [ebp - 0x18]
mov bl, al
call fcn.00401cfa
lea ecx, [ebp - 0x14]
call fcn.00401cfa
test bl, bl
jne 0x41a9e9
push 0x3c
call fcn.00417bc2
mov edi, eax
pop ecx
test edi, edi
je 0x41a9e9
push 1
push ecx
lea eax, [ebp + 8]
mov ecx, esp
push eax
call fcn.00401d12
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401d12
mov ecx, edi
call fcn.0041cac8
jmp 0x41a9c1
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401d12
call fcn.004190c2
pop ecx
test al, al
je 0x41a6fc
mov esi, dword [ebp - 0x10]
lea ecx, [ebp - 0x14]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1c], eax
push ecx
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov ecx, dword [ebp - 0x1c]
lea edx, [ebp - 0x18]
push edx
mov edi, dword [eax]
mov eax, dword [ecx]
mov ebx, dword [edi]
call dword [eax]
push eax
mov ecx, edi
call dword [ebx + 0x90]
lea ecx, [ebp - 0x18]
mov bl, al
call fcn.00401cfa
lea ecx, [ebp - 0x14]
call fcn.00401cfa
test bl, bl
jne 0x41a9e9
push 0x20
call fcn.00417bc2
mov edi, eax
pop ecx
test edi, edi
je 0x41a9e9
push ecx
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401d12
mov ecx, edi
call fcn.0041db9e
jmp 0x41a9c1
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401d12
call fcn.0041965a
pop ecx
test al, al
je 0x41a77d
push 0x2c
call fcn.00417bc2
mov esi, eax
pop ecx
test esi, esi
je 0x41a75c
push ecx
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401d12
mov ecx, esi
call fcn.0041af05
test eax, eax
je 0x41a75c
mov ecx, dword [eax + 4]
mov ebx, dword [ebp - 4]
mov ecx, dword [ecx + 8]
add ecx, 4
add ecx, eax
mov dword [ebx], ecx
je 0x41a762
mov eax, dword [ecx + 4]
mov eax, dword [eax + 4]
add eax, 4
add ecx, eax
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x41a762
mov ebx, dword [ebp - 4]
and dword [ebx], 0
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x41aa03
mov ecx, dword [eax + 4]
add eax, 4
mov ecx, dword [ecx + 4]
add ecx, eax
jmp 0x41a9fe
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401d12
call fcn.004191db
pop ecx
test al, al
jne 0x41a95e
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401d12
call fcn.00419456
pop ecx
test al, al
jne 0x41a95e
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401d12
call fcn.00419558
pop ecx
test al, al
jne 0x41a95e
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401d12
call fcn.004192dd
pop ecx
test al, al
je 0x41a851
mov esi, dword [ebp - 0x10]
lea ecx, [ebp - 0x14]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1c], eax
push ecx
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov ecx, dword [ebp - 0x1c]
lea edx, [ebp - 0x18]
push edx
mov edi, dword [eax]
mov eax, dword [ecx]
mov ebx, dword [edi]
call dword [eax]
push eax
mov ecx, edi
call dword [ebx + 0x90]
lea ecx, [ebp - 0x18]
mov bl, al
call fcn.00401cfa
lea ecx, [ebp - 0x14]
call fcn.00401cfa
test bl, bl
jne 0x41a9e9
push 0x20
call fcn.00417bc2
mov edi, eax
pop ecx
test edi, edi
je 0x41a9e9
push ecx
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401d12
mov ecx, edi
call fcn.0041da21
jmp 0x41a9c1
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401d12
call fcn.0041a136
pop ecx
test al, al
je 0x41a8d7
mov esi, dword [ebp - 0x10]
lea ecx, [ebp - 0x14]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1c], eax
push ecx
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov ecx, dword [ebp - 0x1c]
lea edx, [ebp - 0x18]
push edx
mov edi, dword [eax]
mov eax, dword [ecx]
mov ebx, dword [edi]
call dword [eax]
push eax
mov ecx, edi
call dword [ebx + 0x90]
lea ecx, [ebp - 0x18]
mov bl, al
call fcn.00401cfa
lea ecx, [ebp - 0x14]
call fcn.00401cfa
test bl, bl
jne 0x41a9e9
push 0x20
call fcn.00417bc2
mov edi, eax
pop ecx
test edi, edi
je 0x41a9e9
push ecx
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401d12
mov ecx, edi
call fcn.0041db1f
jmp 0x41a9c1
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401d12
call fcn.0041a23d
pop ecx
test al, al
je 0x41a75c
mov esi, dword [ebp - 0x10]
lea ecx, [ebp - 0x14]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1c], eax
push ecx
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov ecx, dword [ebp - 0x1c]
lea edx, [ebp - 0x18]
push edx
mov edi, dword [eax]
mov eax, dword [ecx]
mov ebx, dword [edi]
call dword [eax]
push eax
mov ecx, edi
call dword [ebx + 0x90]
lea ecx, [ebp - 0x18]
mov bl, al
call fcn.00401cfa
lea ecx, [ebp - 0x14]
call fcn.00401cfa
test bl, bl
jne 0x41a9e9
push 0x20
call fcn.00417bc2
mov edi, eax
pop ecx
test edi, edi
je 0x41a9e9
push ecx
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401d12
mov ecx, edi
call fcn.0041daa0
jmp 0x41a9c1
mov esi, dword [ebp - 0x10]
lea ecx, [ebp - 0x14]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1c], eax
push ecx
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov ecx, dword [ebp - 0x1c]
lea edx, [ebp - 0x18]
push edx
mov edi, dword [eax]
mov eax, dword [ecx]
mov ebx, dword [edi]
call dword [eax]
push eax
mov ecx, edi
call dword [ebx + 0x90]
lea ecx, [ebp - 0x18]
mov bl, al
call fcn.00401cfa
lea ecx, [ebp - 0x14]
call fcn.00401cfa
test bl, bl
jne 0x41a9e9
push 0x20
call fcn.00417bc2
mov edi, eax
pop ecx
test edi, edi
je 0x41a9e9
push ecx
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401d12
mov ecx, edi
call fcn.0041d80c
test eax, eax
je 0x41a9e9
mov ecx, dword [eax + 4]
mov ebx, dword [ebp - 4]
mov ecx, dword [ecx + 8]
add ecx, 4
add ecx, eax
mov dword [ebx], ecx
je 0x41a9ef
mov eax, dword [ecx + 4]
mov eax, dword [eax + 4]
add eax, 4
add ecx, eax
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x41a9ef
mov ebx, dword [ebp - 4]
and dword [ebx], 0
test esi, esi
je 0x41aa03
mov eax, dword [esi + 4]
mov ecx, dword [eax + 4]
add ecx, 4
add ecx, esi
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x41aa1a
mov ecx, dword [eax + 4]
add eax, 4
mov ecx, dword [ecx + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax + 8]
lea ecx, [ebp - 8]
call fcn.00401cfa
lea ecx, [ebp + 8]
call fcn.00401cfa
pop edi
pop esi
mov eax, ebx
pop ebx
leave
ret