Function at 0x446102
Capabilities:
Encode data using xor
Read file via mapping

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
mov esi, ecx
push edi
push dword [esi + 8]
lea ecx, [esi + 0x448]
call fcn.00447d43
test al, al
je 0x446147
mov ecx, dword [esi + 0xc]
test ecx, ecx
jne 0x44614f
mov eax, dword [esi + 8]
xor ebx, ebx
mov byte [eax + 0x1c], 1
inc esi
or byte [ebx], dh
fcmovnb st(0), st(6)
inc eax
sbb al, 1
mov dword [eax + 0x18], 0x16
push dword [esi + 8]
push ebx
push ebx
push ebx
push ebx
push ebx
call fcn.004433b2
add esp, 0x18
or eax, 0xffffffff
pop edi
pop esi
pop ebx
leave
ret
mov eax, dword [esi + 0x450]
inc eax
mov dword [esi + 0x450], eax
cmp eax, 2
je 0x44639b
xor ebx, ebx
mov dword [esi + 0x34], ebx
pushal
pushfd
call fcn.00412ce5
mov edx, eax
test edi, eax
jb 0x446128
mov edx, eax
xor esi, eax
and esi, edi
mov ecx, 0x272d41ae
not edx
mov edx, dword [0x4e0d96]
neg esi
shl eax, 0xe
rol esi, 9
and esi, edi
mov ecx, ebx
ror eax, 7
dec edx
xchg eax, esi
ror esi, 0x15
call fcn.00411898
add edi, 0x5be090
neg eax
mov esi, eax
call fcn.0040a494
mov edi, esp
neg esi
mov edx, ecx
rol edi, 0x12
mov ecx, 0xc94e10
inc eax
test esi, ebx
jb 0x446155
xor dword [0x4e76b7], edi
inc esi
or dword [0x4e79d2], edi
call fcn.0041ed84
neg eax
mov dword [0x4e75c6], edi
call fcn.00411898
xchg edx, eax
or edx, dword [0x4e1610]
shr eax, 1
call fcn.0040a494
loop 0x4461c1
mov ecx, 0xc698f0
rol edx, 0x12
xchg eax, edx
inc edx
dec esi
inc edi
call fcn.00412ce5
neg edi
xor dword [0x4e74ca], edi
dec edx
neg esi
sub dword [0x4e791a], ecx
not eax
loop 0x4461fc
and esi, edi
shl edx, 0x19
mov ecx, 0xf123ad
call fcn.004040b4
shr esi, 2
call fcn.00412ce5
shr eax, 0xb
xchg edx, edx
inc esi
xchg eax, eax
xor edx, dword [0x4e451b]
call fcn.00401df8
xchg esi, esi
ror edx, 7
or dword [0x4e7735], 0x1b883600
inc esi
shr eax, 0x1a
neg eax
loop 0x446228
and esi, dword [0x4e2b4f]
rol edx, 0xe
mov eax, edx
mov ebx, dword [0x4e03da]
push 0
add esi, eax
sub dword [0x4e76ad], 0x1f93629
call fcn.00411898
ror esi, 8
xor eax, esp
call fcn.00407306
dec esi
rol esi, 0x14
sub edx, dword [0x4e3e64]
sub ebx, esp
call fcn.00403403
call fcn.00406c6a
add dword [0x4e74e8], 0x1b4d8f
mov ebx, 0x899
xor edi, eax
xchg esi, esi
not esi
xor eax, ebx
dec esi
sub ebx, eax
xor edx, esi
xor edi, esp
xor edi, dword [0x4e7bc3]
dec eax
neg edi
rol eax, 0x1c
xchg esi, edx
mov dword [0x4e7872], 0x6dc615
dec esi
or dword [0x4e7593], esi
not esi
not esi
and dword [0x4e75b8], edx
inc esi
xchg esi, edx
ror eax, 0x1c
neg edi
inc eax
xor edi, esp
xor edx, esi
add ebx, eax
inc esi
xor eax, ebx
not esi
xchg esi, esi
xor edi, eax
push ebx
add dword [0x4e7496], 0x8719eb9
sub esi, eax
neg eax
sub ebx, dword [0x4e7e98]
neg eax
inc eax
xor ebx, 0xacdafb9
sub ecx, dword [0x4e7cf2]
dec esi
xor ecx, 0x19043260
xor ecx, 0x19043260
inc esi
xor ebx, 0xacdafb9
dec eax
neg eax
neg eax
add esi, eax
sub dword [0x4e774d], 0x963e864
push 0
inc esi
add edx, dword [0x4e7cc2]
xor ebx, eax
xchg edi, edx
sub ecx, dword [0x4e7cac]
neg eax
xchg eax, esi
rol eax, 0x14
dec esi
xor esi, eax
xor esi, eax
or dword [0x4e76e0], 0xe793f28
not esi
dec edx
add edx, eax
ror edx, 5
rol edx, 5
sub edx, eax
inc edx
not esi
xor esi, eax
xor esi, eax
inc esi
ror eax, 0x14
xchg eax, esi
neg eax
xchg edi, edx
xor ebx, eax
dec esi
push 0x40
xor esi, eax
call fcn.00401ae1
mov dword [0x4e75a4], ebx
sub esi, eax
call fcn.00408bfe
xor edx, 0x327f3f0
ror edx, 0x1e
xor edi, eax
add esi, eax
and dword [0x4e7536], 0x76d1b70
call fcn.00401df8
sub esi, dword [0x4e7a8b]
sub dword [0x4e79b4], 0x128112f8
adc dh, bh
rol cl, 1
into
sbb eax, ebp
xor eax, 0x2bfffbc1
or eax, 0x4e7d1b
mov bh, 0xfb
dec dword [ecx + 0x4e75a41d]
add byte [ebx], ch
invalid