Function at 0x41fa92
Capabilities:
Encode data using xor

Disassembly:
or bl, al
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov ecx, eax
or ecx, edx
je 0x41fa5d
lea esi, [esp + 0x10]
mov ecx, edi
push 0
push 0
push 0x40
push esi
push edx
push eax
call fcn.0043b47f
test eax, eax
js 0x41fa5d
lea edx, [esp + 0x10]
mov ecx, edi
push dword [esp + 8]
push dword [ebp + 8]
call fcn.0041f99f
add esp, 8
or bl, al
test bl, bl
je 0x41fa72
push dword [esp + 0xc]
push dword [ebp + 8]
call fcn.004074af
add esp, 8
jmp 0x41fa7e
push dword [esp + 0xc]
call 0xf14065ef
loopne 0x41facb
mov bh, 0x83
les eax, [ecx + ecx*4]
fmul dword [ebp + 0x5f5ef465]
add esp, 4
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xe
add al, 0xeb
js 0x41fa20
in al, dx
push eax
add dword [eax], eax
add byte [ebx - 0x3fcef7b3], cl
cmp byte [ebp + 0x18], 0
add al, ah
dec esi
mov bh, 0x95
ror byte [ebp + 0x120c504], 0
add byte [ebp + 0x6a242454], cl
add byte [edx], ch
push eax
push edx
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.0043b488
xor ebx, ebx
test eax, eax
js 0x41ffe4
mov ecx, 0x310001b9
fild dword [ebp + 0xb880fc0]
add eax, 0x4c70000
and al, 0x1a
push 0x44c65a23
and al, 4
mov ah, 0xc7
inc esp
and al, 5
add byte [eax], al
add byte [eax], al
mov dword [esp], 0x5a23681a
mov byte [esp + 4], 0xb4
mov dword [esp + 5], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
add al, ah
dec esi
mov bh, 0xb6
or al, 0x1c
lea edx, [ebx + 0xde]
mov eax, 0x21
sub eax, ebx
xor eax, edx
and eax, ecx
xor eax, edx
add al, 0xaa
mov byte [esp + ebx], al
mov eax, ebx
and eax, 1
or ebx, 0xbfb96691
add ebx, eax
mov eax, ebx
not eax
and eax, 0x10
and ebx, 0x2f
sub ebx, eax
cmp ebx, 9
jb 0x41fafb
cmp byte [esp + 0x43], 0
js 0x41fb53
lea eax, [esp + 0x2c]
mov ecx, esp
push eax
push ecx
push dword [ebp + 0x14]
call 0x82057aab
cmp bl, dh
inc dword [ebx + 0x1b30cc4]
jmp 0x41fba7
add ebx, ebp
push ecx
mov esi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x30]
mov eax, esi
or eax, ebx
je 0x41fba5
mov edi, dword [esp + 0x34]
inc edi
push esp
cmp byte [ebx], dl
lodsd eax, dword [esi]
call fcn.0040e471
add esp, 4
mov ecx, dword [ebp + 8]
push 0
push 0
push edi
mov edi, eax
push eax
push ebx
push esi
call fcn.0043b491
test eax, eax
setns bl
js 0x41fb9d
mov eax, esp
push edi
push eax
push dword [ebp + 0x14]
call 0x82057ab1
cmp bl, dh
inc dword [ebx - 0x17a8f33c]
fsubp st(0)
ret
add esp, 0xc
push edi
call 0x8205e484
cmp bl, dh
inc dword [ebx + 0x2eb04c4]
xor ebx, ebx
cmp dword [edx], 0xc483ffde
add al, 0xeb
add dh, byte [ecx]
fisttp dword [edi]
mov dh, 0x45
sbb byte [ecx - 0x72ebdbbc], cl
add al, 0xc5
call 0xc741fbc0
fdivp st(7)
add esp, 4
jmp 0x41fbb0
movzx eax, byte [ebp + 0x18]
mov dword [esp + 0x14], eax
lea eax, [eax*8 + 0xe8]
mov dword [esp], 0x4e46504e
add al, 0x24
dec esi
push eax
inc esi
dec esi
mov dword [esp + 4], 0xfd51
mov byte [esp + 8], 0
mov ecx, 0x2e145154
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0x2e145154]
xor edx, ecx
mov esi, edx
cmp byte [eax], 0x13
lodsd eax, dword [esi]
out 0x5b, al
xor edx, 0x5b
lea edx, [edx + esi*2]
inc dl
mov byte [esp + ecx - 0x2e145154], dl
inc ecx
cmp ecx, 0x2e14515d
jne 0x41fbea
or al, 0xac
scasb al, byte es:[edi]
jmp 0x41fbc0
lea ecx, [esp + eax]
add ecx, 0x24
cmp byte [esp + eax + 0x3b], 0
js 0x41fc31
mov eax, esp
push ecx
push eax
push dword [ebp + 0x14]
call 0x82057aba
cmp bl, dh
inc dword [ebx + 0x1b00cc4]
jmp 0x41fc91
add ebx, ebp
pop ebp
mov dword [esp + 0x10], ebx
mov esi, dword [ecx]
mov ebx, dword [ecx + 4]
mov eax, esi
or eax, ebx
je 0x41fc8b
mov edi, dword [ecx + 8]
inc edi
push esp
cmp byte [ebx], dl
lodsd eax, dword [esi]
call fcn.0040e480
add esp, 4
mov ecx, dword [ebp + 8]
push 0
push 0
push edi
mov edi, eax
push eax
push ebx
push esi
call fcn.0043b4a0
test eax, eax
setns al
mov esi, eax
js 0x41fc7d
mov eax, esp
push edi
push eax
push dword [ebp + 0x14]
call fcn.00407ac0
add esp, 0xc
push esp
cmp byte [ebx], dl
lodsd eax, dword [esi]
call fcn.0040e493
add esp, 4
mov ebx, dword [esp + 0x10]
and al, 0x10
mov eax, esi
jmp 0x41fc97
xor eax, eax
mov ebx, dword [esp + 0x10]
and bl, al
mov dword [esp + 0x10], ebx
mov dword [esp], 0x97919e98
mov dword [esp + 4], 0xae839e8b
mov byte [esp + 8], 0x38
mov dword [esp + 9], 0
mov byte [esp + 0xd], 0
xor eax, eax
xor ecx, ecx
nop
add al, ah
dec esi
mov bh, 0xb6
adc al, 0xc
mov esi, eax
and esi, 0xa
mov edi, ecx
xor edi, 0xe0a04e45
dec esi
mov bh, 0xb6
add edi, esi
add edi, 0x8ef5583
xor edi, edx
mov edx, edi
mov esi, 0xbe1932e8
sub esi, edi
add edi, 0x17
mov ebx, esi
cmp byte [eax], 0x13
lodsd eax, dword [esi]
out 0x73, al
and edi, 0x8c
or edi, esi
not ebx
and ebx, 1
or ebx, edi
not edx
and edx, 1
xor ebx, 0x72
add ebx, edx
mov byte [esp + ecx], bl
inc ecx
add eax, 2
or dword [esi], 4
jmp 0x41fd96
ret
mov al, 0xe0
dec esi
mov bh, 0xae