Function at 0x4203a8
Capabilities:
Encode data using add xor sub operations
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffa0
mov ecx, 0x2f39
mov eax, 0x30d5
mov edx, 0xffc7
add ecx, eax
mul eax
sub dword [0x4293f1], 0xb90c
mul dword [0x4293f1]
mov dword [ebp - 0x5c], 0xdf57
mov dword [ebp - 0x18], 0x4006
shr dword [ebp - 0x18], 0x1c
mov dword [ebp - 0x10], 0x5ad7
mov dword [ebp - 0x54], 0xf8d5
sbb dword [ebp - 0x10], edx
add edx, 0x9fec
sub ecx, dword [ebp - 0x18]
shr edx, 0x18
sbb eax, 0x679e
shl edx, 0xa
sub ecx, 0xa227
add dword [0x4293d5], 0xea73
xor dword [0x4293d1], 0xceda
adc dword [ebp - 0x18], 0xca98
mov dword [ebp - 0x4c], 0x3cae
sub dword [ebp - 0x4c], 0xbd9b
sbb ecx, dword [0x4293f1]
sub eax, dword [ebp - 0x4c]
sbb edx, 0x1112
mul edx
adc edx, 0x3f25
and dword [0x4293bd], 0xa6a3
adc eax, 0x5121
xor dword [0x4293b5], 0xa86f
or dword [ebp - 0x5c], 0x3fac
mov dword [ebp - 0x2c], 0xdb1b
mov dword [ebp - 0x50], 0x2524
sub dword [ebp - 0x4c], eax
add ecx, 0x42e8
xor eax, dword [ebp - 0x4c]
sub ecx, 0x5bf2
add eax, edx
sub ecx, 0x3608
sbb dword [0x4293d5], 0x44ca
shl edx, 0xa
and dword [0x4293d1], 0xc343
mov dword [ebp - 0x60], 0x7c09
mov dword [ebp - 0x58], 0x24c8
xor dword [ebp - 0x58], 0xb748
mov dword [ebp - 0x3c], 0xec36
mov dword [ebp - 0x1c], 0xf7ee
mul dword [ebp - 0x4c]
xor ecx, 0x1b41
sub edx, 0xdaf
shr dword [0x4293b9], 0x11
adc dword [0x4293b9], 0x62a3
and dword [ebp - 0x30], 0x2350
mov dword [ebp - 0x38], 0xc21f
mov dword [ebp - 0x14], 0xc3e3
xor dword [ebp - 0x1c], 0x8e63
sbb eax, 0xcbbe
mul eax
adc eax, 0x4d22
sbb edx, ecx
or edx, eax
shl ecx, 0x15
add dword [0x4293cd], 0x6503
and dword [0x4293c1], edx
sbb dword [ebp - 0x18], 0x6503
mov dword [ebp - 0x48], 0x60ee
mov dword [ebp - 0x20], 0x5fd1
adc dword [ebp - 0x28], eax
shl ecx, 0x14
shr edx, 0x15
sbb eax, 0xab7f
adc eax, ecx
or ecx, edx
shr dword [0x4293d5], 4
and eax, 0xb0f6
mul dword [0x4293c1]
mov dword [ebp - 8], 0x3af0
mov dword [ebp - 0xc], 0xa30c
dec dword [0x4293f9]
jne 0x4204d3
mul edx
sub edx, 0xef5b
and dword [0x4293ed], 0xe8b9
adc dword [0x4293b5], eax
shl dword [ebp - 0x50], 0xe
shr dword [ebp - 0x60], 0x15
sub edx, 0xd18f
xor ecx, dword [ebp - 0x50]
add ecx, 0xd3f7
sbb ecx, 0xc25e
or ecx, 0xed99
add eax, 0xb04e
adc dword [0x4293e1], 0x7d08
xor dword [0x4293f5], eax
mov dword [ebp - 4], 0xe9f7
sbb dword [ebp - 0x10], 0x6977
or dword [ebp - 0x4c], eax
add edx, 0x3ff1
sub ecx, 0x194b
and edx, 0xf05a
or ecx, 0x6272
sbb edx, ecx
shr dword [0x4293d1], 3
xor eax, 0x699
sbb dword [0x4293f1], eax
and dword [ebp - 0x50], 0xdd08
mov dword [ebp - 0x40], 0xa295
add dword [ebp - 0x5c], 0xe7a
shl edx, 9
shr ecx, 0x1d
sub ecx, 0x56d9
xor eax, 0x5988
adc edx, ecx
sub dword [0x4293f1], 0xb8c6
shl edx, 0xd
shr dword [0x4293e1], 6
mov ecx, 0
or ecx, 0x422986
push dword [ecx + 2]
pop ecx
push dword [ecx]
pop ecx
mov dword [0x424097], 0
xor dword [0x424097], ecx
and dword [0x424097], 0xffff0000
push dword [0x424097]
pop ecx
or dx, 0xa154
or dx, 0x5eab
mov word [0x42404b], dx
and word [0x42404b], 0x5a4d
mov dx, word [0x42404b]
cmp dx, word [ecx]
je 0x4206b3
push ebx
mov ebx, 0xffff0000
add ecx, ebx
pop ebx
push 0x42069f
ret
mov dword [0x429405], 0
xor dword [0x429405], ecx
shr edx, 0x18
shl eax, 2
sub dword [0x4293dd], 0x8f4
and dword [0x4293e1], 0xe2c6
sbb dword [ebp - 0x54], 0x700b
mov dword [ebp - 0x30], 0xe967
or dword [ebp - 0x1c], eax
and edx, dword [0x4293b5]
xor edx, 0x6e69
or edx, 0x10fe
xor edx, 0xa3b9
sub edx, 0xe580
xor edx, 0x51cf
or dword [0x4293e9], 0xa77e
sub dword [0x4293c5], ecx
xor dword [ebp - 0x54], 0x82c
mov dword [ebp - 0x24], 0x40e8
mul dword [ebp - 0x5c]
shr eax, 5
xor edx, dword [ebp - 0x3c]
sub ecx, 0xeafe
mov dword [0x424063], 0
add dword [0x424063], 0x40900566
neg dword [0x424063]
ror dword [0x424063], 0xe
push dword [0x424063]
push dword [0x429405]
call fcn.004011c3
mov dword [0x429401], 0
add dword [0x429401], eax
push ecx
pop dword [0x4240ff]
push 0x42079a
shl ecx, 0x1f
shl ecx, 1
or ecx, dword [0x429401]
jmp ecx