Function at 0x413c70
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x4483a8]
and eax, 0xbd2d20de
or dword [0x445c8c], eax
mov eax, dword [0x43f0e0]
sar eax, 3
or eax, 0x3cf35d7e
sub esp, 0x48
mov edx, 1
cmp eax, 0x108000c
je 0x413cab
and dword [0x43ce3c], 0x97c98919
jmp 0x413cd4
add dword [0x438398], edx
mov cx, word [0x451290]
mov eax, dword [0x438398]
movsx ecx, cx
and eax, ecx
or eax, 0xc7cbcfe7
xor dword [0x443b7c], eax
add word [0x451290], dx
mov eax, dword [0x43d310]
cmp eax, 0x12188bd2
jg 0x413cea
add dword [0x442ed0], 0x4210d01
push ebx
push esi
push edi
or edi, 0xffffffff
add word [0x44ebf4], di
add word [0x455506], di
mov cx, word [0x455506]
mov ax, word [0x44ebf4]
cwde
movsx ecx, cx
imul eax, ecx
or eax, 0x57032741
add dword [0x440550], eax
mov eax, dword [0x44d960]
mov ecx, dword [0x43bf68]
sar eax, 1
xor ecx, eax
cmp ecx, 0x404c050d
jg 0x413d54
mov eax, dword [0x446d74]
not eax
cmp eax, 0x716df9b8
jg 0x413d4e
add dword [0x4479ec], 0x20050286
jmp 0x413d54
mov ecx, dword [0x440cfc]
mov eax, dword [0x43e6c4]
mov esi, dword [ebp + 8]
imul eax, eax, 0xffdf2f7f
mov dword [0x43e6c4], eax
mov eax, dword [esi + 4]
mov ecx, dword [esi]
add eax, eax
add eax, eax
shr ecx, 0x1d
add eax, eax
or eax, ecx
mov ecx, dword [0x438b2c]
cmp ecx, 0x73647e81
jl 0x413da4
add dword [0x4415d0], edx
mov edx, dword [0x4415d0]
mov ecx, 0x48c23800
sub ecx, edx
xor ecx, 0x5076e886
mov dword [0x441cd4], ecx
mov edx, dword [esi]
and dword [0x43b918], 0x3a290016
or dword [0x44aeb8], 0x50230311
mov ecx, eax
shr ecx, 0x18
mov byte [ebp - 8], cl
add dword [0x44b898], edi
add dword [0x44c460], edi
mov ecx, dword [0x44c460]
mov ebx, dword [0x44b898]
imul ecx, ebx
mov ebx, dword [0x44afa4]
add edx, edx
add edx, edx
add ebx, ecx
add edx, edx
cmp ebx, 0x18f99fc6
jle 0x413e14
mov ecx, dword [0x443114]
mov ebx, dword [0x444d58]
imul ecx, ebx
imul ecx, ecx, 0xe537bb8f
mov dword [0x443114], ecx
add dword [0x444d58], edi
mov ecx, eax
shr ecx, 0x10
mov byte [ebp - 7], cl
mov ecx, dword [0x44c684]
inc dword [0x44c684]
imul ecx, ecx, 0xca12e313
xor ecx, 0x532277e1
cmp ecx, 0x4c3126e3
jne 0x413e59
add dword [0x43e5e8], edi
mov ecx, dword [0x44cef4]
mov ebx, dword [0x43e5e8]
shl ecx, 0xa
or ebx, ecx
mov dword [0x43f930], ebx
mov ecx, eax
shr ecx, 8
mov byte [ebp - 6], cl
inc dword [0x4370b0]
mov ecx, dword [0x4370b0]
mov ebx, dword [0x43e36c]
xor ecx, ebx
or dword [0x442800], ecx
add dword [0x43e36c], edi
mov byte [ebp - 5], al
and dword [0x436b6c], 0x303090d
mov eax, dword [0x437bb8]
cmp eax, 0x5d64b479
jg 0x413edd
add word [0x44e552], di
mov cx, word [0x44e552]
movsx eax, cx
mov ecx, dword [0x4393e4]
sub eax, 0x367967b2
not ecx
or eax, 0xba39a016
or ecx, 0x7e3fc28b
cmp ecx, eax
je 0x413edd
mov ax, word [0x4585b2]
movsx ecx, ax
mov dword [0x439e98], ecx
inc word [0x4585b2]
mov eax, dword [0x442f6c]
movzx ecx, word [0x4551b0]
sar eax, 8
imul eax, eax, 0x1be39f8a
movsx ecx, cx
add ecx, eax
mov eax, dword [0x43becc]
neg ecx
imul eax, ecx
mov dword [0x43becc], eax
xor dword [0x446ca0], 0x2421a730
mov ecx, edx
shr ecx, 0x18
mov byte [ebp - 4], cl
add dword [0x449b0c], edi
mov eax, dword [0x449b0c]
mov dword [0x43e390], eax
mov ecx, edx
shr ecx, 0x10
mov byte [ebp - 3], cl
or dword [0x44b538], 0x5b0551ef
mov eax, edx
shr eax, 8
mov byte [ebp - 2], al
inc dword [0x446654]
mov eax, dword [0x446654]
imul eax, eax, 0x46456fc4
add eax, 0xd8a61708
or dword [0x43df58], eax
mov eax, dword [0x447e7c]
imul eax, eax, 0x368f2c32
mov byte [ebp - 1], dl
add dword [0x43e2f8], eax
add dword [0x447e7c], edi
movzx ecx, word [0x451d4c]
imul ecx, ecx, 0x96de660b
mov word [0x451d4c], cx
and dword [0x440714], 0xc46bf4d7
mov dx, word [0x4580ee]
mov eax, dword [esi]
movsx ecx, dx
add ecx, 0x3654239
and dword [0x43a498], ecx
add word [0x4580ee], di
and eax, 0x3f
mov ebx, 0x38
cmp eax, 0x38
jb 0x413fc7
mov ebx, 0x78
sub ebx, eax
mov eax, dword [0x4376f4]
imul eax, eax, 0x75b52e5c
cmp eax, 0x62270335
jge 0x414000
add word [0x4553b4], di
mov cx, word [0x4553b4]
mov edx, dword [0x449c1c]
movsx eax, cx
xor edx, eax
xor edx, 0xf56d4eb5
mov dword [0x449c1c], edx
push 0x40
lea eax, [ebp - 0x48]
push 0
push eax
call fcn.0041c1d0
mov eax, dword [0x43dc18]
mov ecx, dword [0x449e40]
imul eax, eax, 0xad7a931b
or ecx, 0x1b1088ee
add esp, 0xc
cmp ecx, eax
jle 0x414043
mov dx, word [0x456c82]
movsx eax, dx
cmp eax, 0xf9ecaf4d
jle 0x414043
mov cx, word [0x457de4]
mov ecx, dword [0x447254]
mov eax, dword [0x43c850]
movzx edx, word [0x44ee44]
not ecx
shl eax, 7
add ecx, 0xb6e9f108
or eax, ecx
add edx, eax
push ebx
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 0x48], 0x80
mov word [0x44ee44], dx
push esi
call fcn.004103b0
movzx ecx, word [0x44e150]
movsx edx, cx
mov ecx, dword [0x43d014]
mov eax, 0xefdddefe
sub eax, edx
xor ecx, eax
and dword [0x43d21c], ecx
push 8
lea eax, [ebp - 8]
push eax
push esi
call fcn.004103b0
add word [0x452496], di
movzx ecx, word [0x452496]
mov edx, dword [0x44189c]
movsx eax, cx
mov ecx, dword [ebp + 0xc]
and eax, 0xdaa10b8d
xor edx, eax
xor edx, 0xb2dd295a
add esp, 0x18
lea eax, [esi + 8]
mov dword [0x44189c], edx
add ecx, 2
mov esi, 8
mov edi, 0x60010216
jmp 0x4140f0
mov edx, dword [0x4423b0]
imul edx, edx, 0x70b97bb2
mov dword [0x4423b0], edx
inc dword [0x4498f8]
mov edx, dword [0x4498f8]
xor edx, 0xf07399c6
add dword [0x436b2c], edx
movzx edx, byte [eax + 3]
mov byte [ecx - 2], dl
or dword [0x4490ac], edi
movzx edx, byte [eax + 2]
mov byte [ecx - 1], dl
mov ebx, dword [0x44c2b0]
mov edx, 0xeb9b5f52
sub edx, ebx
movzx ebx, word [0x452178]
or ebx, edx
mov word [0x452178], bx
mov edx, dword [eax]
shr edx, 8
mov byte [ecx], dl
mov edx, dword [0x43c6a0]
and edx, 0x315375a8
xor dword [0x44a730], edx
movzx edx, byte [eax]
mov byte [ecx + 1], dl
mov edx, dword [0x43e108]
imul edx, edx, 0x917a3753
xor dword [0x43b0f8], edx
movzx edx, word [0x4522b6]
add edx, 0x102ae18
mov word [0x4522b6], dx
movzx edx, word [0x44fa8c]
movzx ebx, word [0x450fa8]
movsx edx, dx
xor ebx, edx
xor ebx, 0xf2229720
add eax, 4
add ecx, 4
sub esi, 1
mov word [0x44fa8c], bx
jne 0x4140f0
mov eax, dword [0x442d60]
pop edi
or eax, 0x2c43e2ef
pop esi
pop ebx
cmp eax, 0x46a271ea
je 0x4141f1
mov cx, word [0x450ff6]
mov edx, dword [0x437fb4]
movsx eax, cx
sar eax, 3
sar edx, 6
sub eax, edx
add dword [0x442174], eax
mov esp, ebp
pop ebp
ret