Function at 0x40da30
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
imul eax, dword [0x439960], 0xa076ae96
push ebx
push esi
push edi
xor edi, edi
mov dword [0x439960], eax
mov eax, dword [0x43abfc]
and eax, 0xfc00128b
shl eax, 5
cmp eax, 0x70a016d6
jg 0x40da74
mov ecx, dword [0x437ee0]
mov eax, dword [0x43b7f4]
xor ecx, 0x307de99e
imul eax, ecx
mov dword [0x43b7f4], eax
mov eax, dword [0x43ad28]
sar eax, 4
add eax, 0x2fa91a07
cmp eax, 0x5c968e64
jle 0x40dace
mov eax, dword [0x43c5d8]
mov ecx, dword [0x438920]
imul eax, eax, 0xabb8203
add ecx, eax
cmp ecx, 0xbec556d7
jne 0x40dae0
movsx eax, word [0x436624]
mov ecx, dword [0x43ac5c]
sar eax, 5
and ecx, eax
mov eax, dword [0x438364]
or eax, ecx
or eax, 0x43e0a0
mov dword [0x438364], eax
inc dword [0x43ac5c]
jmp 0x40dae0
movzx eax, word [0x4364f6]
or eax, 0x840008cc
mov word [0x4364f6], ax
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
test ebx, ebx
jle 0x40dd1d
mov eax, dword [0x43aa3c]
movzx ecx, word [0x43322e]
add eax, 0x79cc3aa2
or ecx, eax
mov word [0x43322e], cx
dec dword [0x43aa3c]
movsx eax, word [0x434710]
sub eax, 0x6f486e14
inc word [0x434710]
cmp eax, 0x20b9d9c8
jle 0x40db3f
mov ax, word [0x433074]
movzx ecx, word [0x434aa4]
cwde
and ecx, eax
mov word [0x433074], cx
movsx eax, word [0x435b88]
mov ecx, dword [0x43dbe0]
not eax
or ecx, eax
mov eax, dword [0x4377c0]
not eax
or ecx, 0x4470cb50
xor eax, 0x7d45df3b
cmp eax, ecx
jne 0x40db82
mov eax, dword [0x43944c]
and eax, 0x20032146
or eax, 0x83d8dc39
cmp eax, 0xa70503ee
jg 0x40db82
dec dword [0x43a75c]
push 0
push dword [ebp + 0x14]
mov eax, 0xfffffb40
mov word [0x434cf6], ax
mov eax, dword [ebp + 0xc]
push 0
push dword [eax]
call fcn.0041f9ca
imul ecx, dword [0x43a5c0], 0x7adb0953
add dword [ebp + 0xc], 4
mov dword [ebp + 0x10], edx
lea edx, [eax + edi]
mov dword [0x43a5c0], ecx
movzx ecx, word [0x433296]
and ecx, 0x9f07d916
mov word [0x433296], cx
xor dword [0x43beb4], 0x2eb25a02
mov eax, dword [0x43d258]
xor eax, 0xbfcfadbd
or eax, 0x174ba539
cmp eax, 0x2513fc46
jl 0x40dbf6
and dword [0x4372c8], 0x369bcaa2
cmp edx, edi
mov edi, dword [ebp + 0x10]
sbb eax, eax
neg eax
add edi, eax
dec word [0x435bf2]
mov ax, word [0x435bf2]
cwde
cmp eax, 0x6225238f
je 0x40dc33
mov ecx, dword [0x43ceec]
movzx eax, word [0x436174]
sar ecx, 5
add eax, 0x20170939
add eax, ecx
mov word [0x436174], ax
mov eax, dword [0x439d60]
add edx, dword [esi]
add eax, 0x680a92b
cmp eax, 0xff9be640
jge 0x40dc5a
movzx eax, word [0x434d52]
xor eax, 0x27e32541
mov word [0x434d52], ax
jmp 0x40dc77
mov ecx, dword [0x437c28]
movzx eax, word [0x435b66]
not ecx
or ecx, 0xc75884f5
sub eax, ecx
mov word [0x435b66], ax
cmp edx, dword [esi]
sbb eax, eax
neg eax
add edi, eax
movzx eax, word [0x434c76]
and eax, 0x82188200
mov word [0x434c76], ax
inc dword [0x43e530]
mov eax, dword [0x43e530]
xor eax, 0xfc789f43
mov dword [0x43e39c], eax
mov dword [esi], edx
add esi, 4
mov eax, dword [0x43c7fc]
add eax, 0x1d547e77
dec dword [0x43c7fc]
cmp eax, 0xd91a7e07
je 0x40dcfb
inc dword [0x438be0]
mov eax, dword [0x438be0]
movsx ecx, word [0x436016]
add eax, 0x14799a8e
add ecx, 0x34a4c260
or eax, 0xd37a12be
dec word [0x436016]
cmp ecx, eax
jge 0x40dd05
mov dword [0x43969c], 0xf76d7cd7
jmp 0x40dd05
add dword [0x43a9bc], 0xcff140ca
movzx eax, word [0x434748]
add eax, 0x52429b5a
dec ebx
mov word [0x434748], ax
jmp 0x40dae6
mov eax, dword [0x43c97c]
mov ecx, 0x6dafd8e
or eax, dword [0x43b254]
mov dword [0x43784c], eax
imul eax, dword [0x43e4dc], 0x50f0f800
sub ecx, eax
mov eax, dword [0x43d954]
imul eax, ecx
mov dword [0x43d954], eax
mov eax, dword [0x439450]
not eax
mov dword [0x43e5f4], eax
add dword [esi], edi
mov eax, dword [0x43b588]
not eax
or eax, 0xc192f79e
xor dword [0x4395cc], eax
cmp dword [esi], edi
lea esi, [esi + 4]
sbb edi, edi
or dword [0x43833c], 0xce5bc7db
imul eax, dword [0x43d26c], 0x90506
neg edi
mov dword [0x43d26c], eax
jne 0x40dd4b
movsx eax, word [0x434b86]
movsx ecx, word [0x436456]
imul eax, eax, 0x49abdad
shl ecx, 8
pop edi
pop esi
pop ebx
add ecx, eax
inc word [0x434b86]
cmp ecx, 0x70725de1
jl 0x40ddcb
mov eax, dword [0x43dc64]
imul eax, eax, 0x7cf5c9fc
sub dword [0x437ab8], eax
pop ebp
ret