Function at 0x42c7e0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x44064c]
and eax, 0x25a8bb99
cmp eax, 0x9b1c04d5
jne 0x42c800
and dword [0x442adc], 0x29740
jmp 0x42c820
imul eax, dword [0x444e78], 0x5a298ef1
add eax, 0x96ffac
cmp eax, 0x672b308f
jge 0x42c820
or dword [0x442df0], 0x434746dd
movzx eax, word [0x438614]
push ebx
mov ebx, dword [ebp + 8]
add eax, 0x481a9245
push edi
mov edi, dword [ebp + 0x10]
mov word [0x438614], ax
add dword [0x4408ac], 0xff7eff7f
cmp ebx, edi
jne 0x42c8a0
cmp dword [0x44e51c], 0x7f3f5d78
jge 0x42c86f
mov eax, dword [0x44fcd8]
mov ecx, dword [0x444e50]
not eax
add eax, 0x84a2988c
imul ecx, eax
mov dword [0x444e50], ecx
xor dword [0x444fd8], 0x3c381911
mov ecx, ebx
and dword [0x450860], 0x98e19a7a
mov eax, dword [0x44fff8]
add eax, dword [0x44fe78]
mov edi, dword [ebp + 0xc]
mov dword [0x44fe78], eax
inc dword [0x44fff8]
jmp 0x42c8a3
mov ecx, dword [ebp + 0xc]
movsx eax, word [0x436282]
xor eax, 0x155a937d
cmp eax, 0xb1d606dd
jge 0x42c8d8
dec word [0x43a03c]
mov ax, word [0x43a03c]
cwde
sub eax, 0x6383e4c1
cmp eax, 0xd4011421
je 0x42c8f3
mov ax, word [0x43ddce]
jmp 0x42c8f3
mov eax, dword [0x450d48]
xor eax, 0xf0048a6a
cmp eax, 0xdcbf1b19
jl 0x42c8f3
add dword [0x442270], 0xfa27eafb
cmp ebx, ecx
je 0x42c909
push ecx
push ebx
call fcn.00416fa0
add esp, 8
test eax, eax
jne 0x42cbba
mov eax, dword [0x450114]
shl eax, 0xa
cmp eax, 0xf51a3848
jg 0x42c938
mov eax, dword [0x44a648]
movzx ecx, word [0x438ece]
add eax, 0x7bce4275
and ecx, eax
mov word [0x438ece], cx
inc dword [0x44a648]
push esi
mov esi, dword [edi + 4]
dec esi
js 0x42c950
mov eax, dword [edi + 8]
lea eax, [eax + esi*4]
cmp dword [eax], 0
jne 0x42c950
sub eax, 4
dec esi
jns 0x42c945
inc word [0x437b5a]
mov ax, word [0x437b5a]
cwde
cmp eax, 0x943e4b1c
jge 0x42c982
movsx eax, word [0x439f2e]
not eax
cmp eax, 0x1b356fa2
jg 0x42c97c
mov eax, dword [0x443754]
jmp 0x42c982
inc dword [0x440d2c]
lea eax, [esi + 1]
push eax
push ebx
call fcn.00406930
add esp, 8
mov dword [ebp + 0xc], eax
test eax, eax
jne 0x42cbb9
movsx ecx, word [0x439c9c]
mov edx, dword [0x43f498]
mov eax, dword [0x43fe04]
inc dword [0x43f498]
sub eax, 0x7c880499
sar ecx, 4
xor edx, ecx
cmp eax, edx
jne 0x42c9e3
inc dword [0x44ff3c]
mov eax, dword [0x44ff3c]
imul eax, eax, 0x99a26975
cmp eax, 0x82308c3e
jge 0x42c9e3
mov eax, 0x21de
mov word [0x438d64], ax
movzx eax, word [0x43597c]
mov ecx, dword [edi + 8]
and eax, 0x6c5f6a3e
mov word [0x43597c], ax
xor edi, edi
movzx eax, word [0x435e1c]
mov edx, dword [ebx + 8]
and eax, 0x1eabc840
mov word [0x435e1c], ax
inc dword [0x44f9dc]
mov eax, dword [0x44f9dc]
imul eax, eax, 0xe200a36b
add dword [0x43f1a8], eax
test esi, esi
js 0x42cbac
sub ecx, edx
mov dword [ebp + 0x10], ecx
lea ecx, [esi + 1]
mov ebx, dword [ebp + 0x10]
mov esi, ecx
jmp 0x42ca40
inc word [0x43da62]
mov ax, word [0x43da62]
cwde
imul eax, eax, 0x6b9ab9bf
and eax, 0x9836c4ff
xor eax, dword [0x445ed8]
mov dword [0x445ed8], eax
add dword [edx], edi
mov eax, dword [0x4485bc]
and eax, 0x528555cc
or dword [0x43f878], eax
cmp dword [edx], edi
mov eax, dword [0x442620]
sbb edi, edi
sub eax, dword [0x44af84]
mov dword [0x442620], eax
neg edi
dec dword [0x44af84]
mov eax, dword [ebx + edx]
add dword [edx], eax
mov eax, dword [0x448908]
add eax, 0x63de905a
xor eax, 0x9e7946f1
or dword [0x44a324], eax
mov eax, dword [edx]
cmp eax, dword [ebx + edx]
sbb eax, eax
add dword [0x4464f8], 0xa4820f0b
neg eax
add edx, 4
add edi, eax
dec ecx
jne 0x42ca40
mov ebx, dword [ebp + 8]
test edi, edi
je 0x42cbac
jmp 0x42cae0
inc dword [0x43f2ec]
mov eax, dword [0x43f2ec]
or dword [0x43e95c], eax
cmp esi, dword [ebx + 4]
jl 0x42cb56
mov eax, dword [0x44a2ec]
or eax, 0x5be6b04e
cmp eax, 0x644dd2a
jl 0x42cb28
imul eax, dword [0x442b88], 0xf7ddeca
dec dword [0x442b88]
or eax, 0xdaadb6e4
cmp eax, 0x30e4c334
jne 0x42cb28
mov eax, dword [0x44d9d0]
lea eax, [esi + 1]
push eax
push ebx
call fcn.00406930
add esp, 8
mov dword [ebp + 0xc], eax
test eax, eax
jne 0x42cbb9
mov dword [0x445308], 0xf8af68b
mov eax, dword [ebx + 8]
add dword [0x4413d8], 0x18202097
lea edx, [eax + esi*4]
mov eax, dword [0x44b0c0]
xor eax, dword [0x443d9c]
mov dword [0x443d9c], eax
dec dword [0x44b0c0]
add dword [edx], edi
mov dword [0x444500], 0xd0dc4c9e
cmp dword [edx], edi
sbb edi, edi
or dword [0x43eb10], 0xce6d3013
movsx ecx, word [0x43a138]
inc esi
mov eax, dword [0x442870]
sar ecx, 1
sub ecx, eax
mov eax, dword [0x442874]
sub ecx, eax
add dword [0x44f85c], ecx
neg edi
jne 0x42cae0
mov eax, dword [ebp + 0xc]
mov dword [0x445350], 0xa3207f33
pop esi
pop edi
pop ebx
pop ebp
ret