Function at 0x4023e1
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov byte [0x4104d3], al
xor eax, eax
mov edi, 0x410108
mov ecx, 0xf2
rep stosd dword es:[edi], eax
mov cl, 3
rep stosb byte es:[edi], al
mov edi, section..bss
stosb byte es:[edi], al
inc al
jne 0x4023fd
mov esi, 0x410061
mov edi, 0x410041
mov ecx, 0x1a
rep movsb byte es:[edi], byte [esi]
mov edi, section..bss
mov esi, 0x411497
mov cl, 6
lodsb al, byte [esi]
mov byte [edi + eax], 0x20
loop 0x40241f
mov esi, 0x41149d
mov cl, 0x19
lodsb al, byte [esi]
mov byte [edi + eax], 0
loop 0x40242d
mov esi, 0x4114b6
xor ecx, ecx
call fcn.0040123d
mov ecx, eax
call fcn.004010ad
mov dword [0x410128], eax
mov edi, eax
call fcn.0040123d
mov cl, 0xa
call fcn.0040e9bd
mov dword [0x41014c], ebx
mov cl, 0xc
call fcn.0040e9bd
mov dword [0x410150], ebx
mov cl, 0xa
call fcn.0040e9bd
mov dword [0x410154], ebx
mov cl, 7
call fcn.0040e9bd
mov dword [0x4101d0], ebx
mov ecx, 0x90
call fcn.00401b15
mov dword [0x41015c], eax
call fcn.004032b7
mov dword [0x410160], eax
mov ecx, pe_nt_image_headers32
call fcn.00401b15
mov byte [eax], 1
mov byte [eax + 1], 2
mov dword [0x410168], eax
add eax, 0x20
mov byte [eax], 2
mov byte [eax + 1], 2
mov dword [0x41016c], eax
add eax, 0x20
mov byte [eax], 1
mov byte [eax + 1], 2
mov dword [0x410170], eax
add eax, 0x20
mov dword [0x4101d4], eax
mov ecx, 0x190
call fcn.004010ad
mov dword [0x410260], eax
add eax, ecx
mov dword [0x410264], eax
mov ecx, 0xfa0
call fcn.004010ad
mov dword [0x410178], eax
mov dword [0x41017c], ecx
mov ecx, 0x3e8
call fcn.004010ad
mov dword [0x410228], eax
mov dword [0x41022c], ecx
mov ecx, 0x3e8
call fcn.004010ad
mov dword [0x4102a0], eax
mov dword [0x4102a4], ecx
mov ecx, 0x3e8
call fcn.004010ad
mov dword [0x4102ac], eax
mov dword [0x4102b0], ecx
mov ecx, 0x900
call fcn.004010ad
mov dword [0x410340], eax
mov dword [0x410344], eax
mov ecx, 0x60
call fcn.004010ad
mov dword [0x410348], eax
mov ecx, 0x190
call fcn.004010ad
mov dword [0x4101b4], eax
mov edi, eax
add eax, ecx
mov dword [0x4101b8], eax
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov dword [0x410230], eax
mov dword [0x4101cc], eax
mov ecx, 0x3e8
call fcn.004010ad
mov dword [0x410198], eax
add eax, ecx
mov dword [0x41019c], eax
mov ecx, 0x3e8
call fcn.004010ad
mov dword [0x4101a4], eax
add eax, ecx
mov dword [0x4101a8], eax
mov ecx, 0x190
call fcn.004010ad
mov dword [0x41032c], eax
add eax, ecx
mov dword [0x410330], eax
mov ecx, 0x190
call fcn.004010ad
mov dword [0x41037c], eax
add eax, ecx
mov dword [0x410380], eax
mov ecx, 0x190
call fcn.004010ad
mov dword [0x410390], eax
add eax, ecx
mov dword [0x410394], eax
mov edx, 0x4101e8
call fcn.004031d0
mov edx, 0x4101f0
call fcn.004031d0
mov edx, 0x4101f8
call fcn.004031d0
mov edx, 0x410218
call fcn.004031d0
mov edx, 0x410200
call fcn.004031d0
mov edx, 0x410208
call fcn.004031d0
mov edx, 0x410210
call fcn.004031d0
mov edx, 0x4102d4
call fcn.004031d0
mov edx, 0x4102e0
call fcn.004031d0
mov edx, 0x4102ec
call fcn.004031d0
mov ecx, 0x400
call fcn.004010ad
mov dword [0x410158], eax
mov edi, eax
mov ecx, 0x100
xor eax, eax
rep stosd dword es:[edi], eax
mov esi, 0x4114be
lodsb al, byte [esi]
test al, al
je 0x4026b9
movzx ebx, al
shl ebx, 2
add ebx, dword [0x410158]
mov ecx, 0x20
call fcn.00401b15
mov edx, eax
xchg dword [ebx], eax
mov dword [edx + 0x18], eax
inc dword [edx + 0x14]
lodsb al, byte [esi]
mov byte [edx], al
lodsb al, byte [esi]
mov byte [edx + 1], al
lodsb al, byte [esi]
mov byte [edx + 2], al
lodsd eax, dword [esi]
mov dword [edx + 8], eax
jmp 0x402683
xor eax, eax
mov byte [0x4104a1], al
mov dword [0x41024c], eax
mov byte [0x4104a0], 1
or byte [0x4104a3], 1
or byte [0x4104a4], 1
mov eax, dword [0x41015c]
mov dword [0x410184], eax
mov esi, 0x4114ef
lodsb al, byte [esi]
test al, al
jne 0x4026fe
lodsb al, byte [esi]
test al, al
je 0x40279c
and dword [0x410184], 0
movzx ecx, al
xor ebx, ebx
mov edx, 0x811c9dc5
movzx eax, byte [esi + ebx]
xor dl, byte [eax + section..bss]
imul edx, edx, 0x1000193
inc ebx
cmp ebx, ecx
jb 0x402708
mov ebx, dword [0x410184]
test ebx, ebx
je 0x40275f
mov al, byte [esi + ecx]
mov byte [0x4104a2], al
push esi
call fcn.00401884
pop esi
add esi, ecx
mov ecx, 0x20
call fcn.00401b15
mov edx, eax
xchg dword [ebx + 4], eax
mov dword [edx + 0x18], eax
inc dword [edx + 0x14]
lodsb al, byte [esi]
lodsb al, byte [esi]
mov byte [edx], al
lodsb al, byte [esi]
mov byte [edx + 1], al
lodsb al, byte [esi]
mov byte [edx + 2], al
lodsd eax, dword [esi]
mov dword [edx + 8], eax
jmp 0x4026e9
mov byte [0x4104a2], 0
mov ebx, dword [0x41015c]
push esi
call fcn.00401884
pop esi
add esi, ecx
mov ecx, 0x20
call fcn.00401b15
mov dword [ebx + 4], eax
inc dword [eax + 0x14]
mov byte [eax], 0
mov byte [eax + 1], 1
call fcn.00401bf0
mov dword [0x410184], ebx
jmp 0x4026e9
ret