Function at 0x42f170
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x43ff44]
sar eax, 6
xor dword [0x43cefc], eax
movzx eax, word [0x43856a]
and eax, 0x1f80d19
mov word [0x43856a], ax
movsx eax, word [0x43910e]
imul ecx, eax, 0x480e87a7
mov eax, dword [0x43a564]
push ebx
push esi
push edi
add eax, ecx
mov ecx, dword [ebp + 0xc]
or dword [0x43d900], eax
add dword [0x439f58], 0xfbfbffcf
mov dword [0x4403ac], 0x97766f5c
mov eax, dword [0x4411fc]
movzx edx, word [0x437a9a]
add eax, 0x540b178a
xor edx, eax
mov word [0x437a9a], dx
inc dword [0x4411fc]
cmp dword [ebp + 0x14], 0
je 0x42f265
movsx eax, word [0x437bbc]
mov edx, 0x5edf8d1
sub edx, eax
or edx, 0xf18aab4c
and dword [0x43d4cc], edx
inc word [0x437bbc]
mov byte [ecx], 0x2d
inc ecx
mov edx, dword [0x43df88]
mov eax, dword [0x43c954]
xor edx, eax
mov eax, dword [0x43c5c4]
inc dword [0x43c5c4]
cmp edx, eax
jl 0x42f249
movsx eax, word [0x437296]
mov edx, 0xe8d8be02
sub edx, eax
mov eax, dword [0x43f7b4]
imul eax, edx
mov dword [0x43f7b4], eax
mov eax, dword [0x441b2c]
mov edi, dword [ebp + 8]
and eax, 0x44536b99
neg edi
mov dword [0x4419d0], eax
inc dword [0x441b2c]
jmp 0x42f268
mov edi, dword [ebp + 8]
movsx eax, word [0x4388e6]
mov ebx, ecx
sar eax, 2
add dword [0x439d2c], eax
mov esi, dword [0x43f12c]
mov edx, dword [0x439ce8]
shl esi, 7
sub esi, edx
lea edx, [esi - 0x269314f]
and dword [0x43f088], edx
jmp 0x42f2a0
mov eax, edi
and dword [0x44075c], 0x69ca4b24
xor edx, edx
mov esi, 0xf232c6c7
div dword [ebp + 0x10]
mov edi, eax
movzx eax, word [0x4365fe]
xor eax, 0x1833
mov word [0x4365fe], ax
movsx eax, word [0x437584]
imul eax, eax, 0x77938eae
sub esi, eax
and dword [0x43debc], esi
cmp edx, 9
jbe 0x42f300
or dword [0x43e470], 0x5f77fb7e
add dl, 0x57
mov byte [ecx], dl
inc ecx
and dword [0x43ab78], 0x53a3cc83
jmp 0x42f338
movsx eax, word [0x435722]
shl eax, 5
sub eax, 0x4c93f253
cmp eax, 0xc9304162
jg 0x42f320
or dword [0x43af18], 0xdce46e60
add dl, 0x30
mov byte [ecx], dl
inc ecx
movzx eax, word [0x435b84]
sub eax, 0x2fe7ffff
mov word [0x435b84], ax
movsx eax, word [0x43756a]
sar eax, 4
add eax, 0x5e3dfacb
or eax, 0x58037e48
cmp eax, 0x38dbb2e4
je 0x42f365
movzx eax, word [0x43893a]
and eax, 0x2bb29dda
mov word [0x43893a], ax
test edi, edi
jne 0x42f2a0
inc dword [0x441188]
mov eax, dword [0x441188]
or eax, 0xde228
cmp eax, 0x5a6a3792
jle 0x42f3a9
mov eax, dword [0x43e240]
shl eax, 8
sub eax, 0x29087592
cmp eax, 0x225c8292
jg 0x42f3a9
inc dword [0x440304]
mov eax, dword [0x43bbb8]
mov ax, word [0x4368c4]
mov byte [ecx], 0
dec ecx
or dword [0x43d35c], 0x458d731
jmp 0x42f3c0
add dword [0x440b10], 0xc934fa01
mov eax, dword [0x440bb4]
xor eax, dword [0x43b150]
mov dl, byte [ecx]
mov dword [0x43b150], eax
inc dword [0x440bb4]
mov al, byte [ebx]
mov byte [ecx], al
dec ecx
dec word [0x437554]
movzx eax, word [0x437554]
cwde
add eax, dword [0x441b04]
mov dword [0x441b04], eax
mov byte [ebx], dl
inc ebx
dec dword [0x43c6a0]
mov edx, dword [0x43c6a0]
movzx eax, word [0x4371de]
add edx, 0x1a57c994
imul edx, eax
mov word [0x4371de], dx
and dword [0x439fcc], 0xa01650fa
mov edx, dword [0x43e7e4]
mov eax, dword [0x439744]
shl edx, 7
not eax
add eax, edx
mov dword [0x43b6dc], eax
cmp ebx, ecx
jb 0x42f3c0
mov eax, dword [0x43fc4c]
add eax, dword [0x43e174]
pop edi
pop esi
mov dword [0x43e174], eax
pop ebx
pop ebp
ret