Function at 0x42da20
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
movsx eax, word [0x438606]
sub esp, 0x10
mov ecx, dword [0x44aa48]
sar eax, 8
add eax, 0x236886d5
xor ecx, eax
add dword [0x43ebdc], ecx
dec dword [0x44aa48]
imul eax, dword [0x44f168], 0x90e9e077
mov dword [0x44f168], eax
mov eax, dword [0x4425ec]
or eax, 0xd1667fc8
cmp eax, 0x6bffb7fd
jl 0x42da78
imul eax, dword [0x447c4c], 0x31e6f460
mov dword [0x447c4c], eax
movzx eax, word [0x437c1e]
add eax, 0x27ea63c1
mov word [0x437c1e], ax
mov eax, dword [0x44a148]
shl eax, 7
xor eax, 0x27fae64c
cmp eax, 0x5bb67898
je 0x42daa8
mov dword [0x44daa8], 0xc588088e
mov eax, dword [0x43fad8]
sar eax, 3
push ebx
and eax, 0xa7ff5d46
add dword [0x449e8c], eax
movzx eax, word [0x437e76]
push esi
push edi
xor eax, 0x243fda24
mov word [0x437e76], ax
lea eax, [ebp - 0x10]
push 0xf
push 0
push eax
call fcn.0041f650
mov ecx, dword [0x449c68]
mov eax, 0xcf21188c
mov ebx, dword [ebp + 0x14]
add esp, 0xc
shl ecx, 3
xor edx, edx
sub eax, ecx
and dword [0x44c5f4], eax
or dword [0x43fcf8], 0x7fc4f58b
test ebx, ebx
je 0x42dbd9
mov esi, dword [ebp + 0x10]
imul eax, dword [0x44b818], 0x40a5266f
mov dword [0x44b818], eax
cmp edx, 0xf
je 0x42dba3
mov eax, dword [0x445d60]
sar eax, 7
and eax, 0x871f5b94
cmp eax, 0x56517923
jge 0x42db5c
movsx eax, word [0x43e5d0]
dec word [0x43e5d0]
sub eax, 0x70f3559b
cmp eax, 0xc4015c73
jne 0x42db5c
mov dword [0x44cbb0], 0xbd96780a
movzx eax, word [esi + edx*2 + 0x300]
mov cl, bl
and cl, 1
inc edx
mov byte [ebp + eax - 0x10], cl
movzx eax, word [0x43c17c]
sub eax, 0x678ac2e9
mov word [0x43c17c], ax
or dword [0x43fbe0], 0x3124a234
imul eax, dword [0x444174], 0xf37a6b4a
shr ebx, 1
mov dword [0x444174], eax
jne 0x42db10
jmp 0x42dbd9
movsx eax, word [0x437f38]
dec word [0x437f38]
imul eax, eax, 0xbfc12bae
cmp eax, 0xfb57fad3
je 0x42dbd9
imul eax, dword [0x4457e8], 0x16569b43
add eax, 0xbf2fb972
xor dword [0x44a210], eax
dec dword [0x4457e8]
or dword [0x450278], 0xfe8e1ac
xor edi, edi
mov ax, word [0x43ce48]
xor edx, edx
mov ecx, dword [0x444118]
xor esi, esi
cwde
add ecx, eax
mov word [0x43ce48], cx
mov eax, dword [0x44e934]
not eax
or eax, 0xd7eff9ff
mov word [0x43d324], ax
xor dword [0x4491a8], 0x9362543b
jmp 0x42dc20
movzx eax, word [0x4372f4]
add edi, edi
and eax, 0xbe7bd65c
add edx, edx
mov word [0x4372f4], ax
xor dword [0x450b58], 0x11224309
or dword [0x44e6e8], 0xab842800
imul eax, dword [0x44ad28], 0x40ef7f92
movsx ecx, byte [ebp + esi - 0x10]
or edi, ecx
mov dword [0x44ad28], eax
movsx eax, byte [ebp + esi - 9]
inc esi
add dword [0x449e64], 0x8e7b0d75
or edx, eax
xor dword [0x44f694], 0xb3040048
cmp esi, 7
jne 0x42dc20
or dword [0x43fe98], 0xb3d99896
lea ebx, [edx + edx]
movzx eax, word [0x439148]
or eax, 0xfb27f9fc
mov word [0x439148], ax
movsx eax, byte [ebp - 2]
or ebx, eax
mov eax, dword [0x445b1c]
sar eax, 8
xor eax, 0x5b59ef64
cmp eax, 0xbac2d6a2
je 0x42dcf0
movsx eax, word [0x4376d4]
add eax, 0x7d084988
xor eax, 0xd1654124
cmp eax, 0xa4e5cfc
jle 0x42dce4
mov eax, dword [0x44a7e0]
sub eax, dword [0x440dd8]
mov dword [0x44a7e0], eax
jmp 0x42dd06
and dword [0x44a484], 0xbb558207
jmp 0x42dd06
cmp dword [0x444d98], 0xc8db7b8f
jl 0x42dd06
or dword [0x44f0e0], 0xe9ffedff
movzx eax, word [0x43bbf2]
movsx ecx, ax
mov eax, dword [0x44cad0]
sub ecx, eax
mov eax, dword [ebp + 0x10]
mov word [0x43bbf2], cx
movzx eax, word [eax + edi*2]
add eax, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
push eax
push edi
call fcn.00420140
movzx eax, word [0x43c286]
mov ecx, dword [0x4417dc]
cwde
or ecx, eax
movzx eax, word [0x435596]
and eax, ecx
mov word [0x435596], ax
mov eax, dword [ebp + 0x10]
movzx eax, word [eax + ebx*2 + 0x100]
add eax, dword [ebp + 0xc]
push eax
push edi
call fcn.00410610
xor dword [0x45127c], 0x52208189
push 5
push 0x816
call fcn.00411510
or dword [0x4489fc], 0x2449975f
mov esi, eax
push esi
push edi
call fcn.00410610
dec dword [0x441c1c]
mov ecx, dword [0x441c1c]
imul ecx, ecx, 0xd5264345
push esi
push 5
xor ecx, dword [0x4465e4]
xor ecx, 0xab5c913f
mov dword [0x4465e4], ecx
call fcn.00421a00
movsx eax, word [0x43c6ae]
add esp, 0x28
sar eax, 0xa
pop edi
pop esi
pop ebx
cmp eax, 0xa288e200
je 0x42dde0
add dword [0x44fe58], 0x9520380
mov esp, ebp
pop ebp
ret
mov eax, dword [0x43f5b8]
lea eax, [eax*8 + 0x2326cb97]
cmp eax, 0x70ccd691
jle 0x42ddfd
mov dword [0x449590], 0x85b8f62
mov esp, ebp
pop ebp
ret