Function at 0x41b4f9
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.00421e57
pop ecx
pop ecx
lea edx, [ebp - 0x28]
mov dword [ebp - 0xc], ebx
lea ecx, [ebp - 0x18]
mov word [ebp - 0x21], 0xc727
mov dword [ebp - 0x28], 0xf91d5af5
mov word [ebp - 0x24], 0x1e6b
mov byte [ebp - 0x22], 0x93
call fcn.0041f6a6
push eax
lea ecx, [ebp - 0xc]
call fcn.00413c02
lea ecx, [ebp - 0x18]
call fcn.00401dc6
lea eax, [ebp - 0x14]
mov dword [ebp - 0x10], ebx
push eax
mov word [ebp - 0x23], 0x77c9
lea esi, [ebp - 0x28]
mov dword [ebp - 0x28], 0x840f7a8b
mov dword [ebp - 0x20], 0x29a93d8c
mov byte [ebp - 0x21], 5
mov byte [ebp - 0x24], 8
call dword [sym.imp.system.dll_public:_static_class_Ref_class_String____cdecl_String::create_void_]
mov bl, 0x44
mov bh, 0xcf
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.00413c02
lea ecx, [ebp - 0x1c]
call fcn.00401dc6
add bh, bl
inc esi
mov bl, byte [esi]
xor bl, bh
mov byte [ebp - 0x18], bl
jne 0x41b585
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x10]
call fcn.00413c02
lea ecx, [ebp - 0x14]
call fcn.00401dc6
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401dde
call fcn.0041948d
pop ecx
test al, al
je 0x41b75c
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 0x41b636
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401dde
call fcn.00419591
pop ecx
mov edx, 0x155
mov ecx, eax
call fcn.00419f08
test al, al
je 0x41b636
mov bl, 1
jmp 0x41b638
xor bl, bl
lea ecx, [ebp - 0x18]
call fcn.00401dc6
lea ecx, [ebp - 0x14]
call fcn.00401dc6
test bl, bl
je 0x41b681
mov ebx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
and dword [ebx], 0
test eax, eax
je 0x41b669
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 0x41bb93
mov eax, dword [esi + 4]
mov ecx, dword [eax + 4]
add ecx, 4
add ecx, esi
jmp 0x41bb8e
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 0x41b6de
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401dde
call fcn.00419591
pop ecx
mov edx, 0x155
mov ecx, eax
call fcn.00419f08
test al, al
je 0x41b6de
xor ebx, ebx
inc ebx
jmp 0x41b6e0
xor bl, bl
lea ecx, [ebp - 0x14]
call fcn.00401dc6
lea ecx, [ebp - 0x10]
call fcn.00401dc6
test bl, bl
je 0x41b712
mov ebx, dword [ebp - 4]
and dword [ebx], 0
test edi, edi
je 0x41b669
mov eax, dword [edi + 4]
mov ecx, dword [eax + 4]
add ecx, 4
add ecx, edi
jmp 0x41b664
push 0x2c
call fcn.00418dab
mov ebx, eax
pop ecx
test ebx, ebx
je 0x41b6f4
push ecx
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401dde
mov ecx, ebx
call fcn.0041cde0
test eax, eax
je 0x41b6f4
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 0x41b6fa
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 0x41b6fa
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401dde
call fcn.0041a1b1
pop ecx
test al, al
je 0x41b7ef
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.00401dc6
lea ecx, [ebp - 0x14]
call fcn.00401dc6
test bl, bl
jne 0x41bb62
push 0x3c
call fcn.00418dab
mov edi, eax
pop ecx
test edi, edi
je 0x41bb62
push 1
push ecx
lea eax, [ebp + 8]
mov ecx, esp
push eax
call fcn.00401dde
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401dde
mov ecx, edi
call fcn.0041dc30
jmp 0x41bb3a
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401dde
call fcn.0041a2cd
pop ecx
test al, al
je 0x41b875
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.00401dc6
lea ecx, [ebp - 0x14]
call fcn.00401dc6
test bl, bl
jne 0x41bb62
push 0x20
call fcn.00418dab
mov edi, eax
pop ecx
test edi, edi
je 0x41bb62
push ecx
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401dde
mov ecx, edi
call fcn.0041eca8
jmp 0x41bb3a
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401dde
call fcn.0041a7f0
pop ecx
test al, al
je 0x41b8f6
push 0x2c
call fcn.00418dab
mov esi, eax
pop ecx
test esi, esi
je 0x41b8d5
push ecx
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401dde
mov ecx, esi
call fcn.0041c07e
test eax, eax
je 0x41b8d5
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 0x41b8db
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 0x41b8db
mov ebx, dword [ebp - 4]
and dword [ebx], 0
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x41bb7c
mov ecx, dword [eax + 4]
add eax, 4
mov ecx, dword [ecx + 4]
add ecx, eax
jmp 0x41bb77
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401dde
call fcn.0041a3e9
pop ecx
test al, al
jne 0x41bad7
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401dde
call fcn.0041a5ef
pop ecx
test al, al
jne 0x41bad7
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401dde
call fcn.0041a6ec
pop ecx
test al, al
jne 0x41bad7
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401dde
call fcn.0041a4e6
pop ecx
test al, al
je 0x41b9ca
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.00401dc6
lea ecx, [ebp - 0x14]
call fcn.00401dc6
test bl, bl
jne 0x41bb62
push 0x20
call fcn.00418dab
mov edi, eax
pop ecx
test edi, edi
je 0x41bb62
push ecx
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401dde
mov ecx, edi
call fcn.0041eb2b
jmp 0x41bb3a
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401dde
call fcn.0041b2dc
pop ecx
test al, al
je 0x41ba50
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.00401dc6
lea ecx, [ebp - 0x14]
call fcn.00401dc6
test bl, bl
jne 0x41bb62
push 0x20
call fcn.00418dab
mov edi, eax
pop ecx
test edi, edi
je 0x41bb62
push ecx
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401dde
mov ecx, edi
call fcn.0041ec29
jmp 0x41bb3a
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401dde
call fcn.0041b3f1
pop ecx
test al, al
je 0x41b8d5
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.00401dc6
lea ecx, [ebp - 0x14]
call fcn.00401dc6
test bl, bl
jne 0x41bb62
push 0x20
call fcn.00418dab
mov edi, eax
pop ecx
test edi, edi
je 0x41bb62
push ecx
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401dde
mov ecx, edi
call fcn.0041ebaa
jmp 0x41bb3a
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.00401dc6
lea ecx, [ebp - 0x14]
call fcn.00401dc6
test bl, bl
jne 0x41bb62
push 0x20
call fcn.00418dab
mov edi, eax
pop ecx
test edi, edi
je 0x41bb62
push ecx
push ecx
lea eax, [ebp - 8]
mov ecx, esp
push eax
call fcn.00401dde
mov ecx, edi
call fcn.0041e916
test eax, eax
je 0x41bb62
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 0x41bb68
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 0x41bb68
mov ebx, dword [ebp - 4]
and dword [ebx], 0
test esi, esi
je 0x41bb7c
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 0x41bb93
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.00401dc6
lea ecx, [ebp + 8]
call fcn.00401dc6
pop edi
pop esi
mov eax, ebx
pop ebx
leave
ret