Function at 0x4328a0
Capabilities:
Encode data using xor

Disassembly:
push esi
sub esp, 0x10
mov eax, dword [esp + 0x18]
mov ecx, 0xe39a1c1c
mov dword [esp + 0xc], eax
mov eax, dword [0x4a8410]
xor eax, 0xbf592e99
mov dword [0x4a8410], eax
mov eax, dword [0x49d928]
inc eax
mov dword [0x49d928], eax
mov dx, word [0x4955bc]
movsx esi, dx
xor eax, esi
cmp ecx, eax
jle 0x43294a
mov eax, 0x6c97bbfa
mov ecx, dword [0x4a7688]
imul ecx, ecx, 0x427f8685
cmp eax, ecx
jl 0x432925
mov eax, 0xcc23de2b
mov cx, word [0x499988]
movsx edx, cx
add edx, 0xf5543964
xor edx, 0xe0b0e8b8
cmp eax, edx
jle 0x432920
jmp 0x432920
jmp 0x432945
mov eax, dword [0x49f830]
add eax, 0x90e37ec6
mov cx, word [0x4978dc]
mov dx, cx
sub edx, eax
mov cx, dx
mov word [0x4978dc], cx
jmp 0x432966
mov eax, dword [0x4a3f14]
mov ecx, eax
dec ecx
mov dword [0x4a3f14], ecx
mov ecx, dword [0x4a88cc]
xor ecx, eax
mov dword [0x4a88cc], ecx
mov ax, word [0x4951e6]
mov cx, ax
add ecx, 0x5e96faf6
mov ax, cx
mov word [0x4951e6], ax
mov ecx, dword [esp + 0xc]
mov edx, esp
mov dword [edx], ecx
call fcn.00451670
mov dword [esp + 4], eax
mov eax, dword [0x4a7dc8]
add eax, 0xf8a340b4
mov ecx, dword [0x4a12c0]
sub ecx, eax
mov dword [0x4a12c0], ecx
mov eax, dword [esp + 4]
dec eax
mov dword [esp + 4], eax
mov eax, dword [0x49ec48]
shl eax, 2
xor eax, 0xc90c1693
mov ecx, dword [0x49e304]
add ecx, eax
mov dword [0x49e304], ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
movsx eax, byte [ecx + eax]
cmp eax, 0x22
jne 0x432b60
mov eax, 0xf6a26054
mov cx, word [0x49682a]
movsx edx, cx
add edx, 0x7c6c0102
cmp eax, edx
je 0x432a1f
mov eax, dword [0x49dbe0]
mov ecx, eax
dec ecx
mov dword [0x49dbe0], ecx
xor eax, 0x6fedf388
mov ecx, dword [0x4a1b84]
imul ecx, eax
mov dword [0x4a1b84], ecx
mov eax, dword [esp + 0xc]
mov byte [eax], 0x22
mov eax, dword [0x49d86c]
add eax, 0x16725a20
mov dword [0x49d86c], eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
mov byte [ecx + eax], 0
mov dx, word [0x49b44a]
mov ax, dx
add eax, 0x789ebb6f
mov dx, ax
mov word [0x49b44a], dx
mov eax, dword [0x4a083c]
add eax, 0x607a1
mov dword [0x4a083c], eax
mov eax, dword [esp + 4]
dec eax
mov dword [esp + 4], eax
mov eax, dword [0x4a1ce8]
mov cx, word [0x49ab06]
movsx edx, cx
imul eax, edx
mov dx, cx
dec edx
mov cx, dx
mov word [0x49ab06], cx
imul eax, eax, 0x7fba1bee
mov edx, dword [0x4a0fe0]
or edx, eax
mov dword [0x4a0fe0], edx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
movsx eax, byte [ecx + eax]
cmp eax, 0x22
jne 0x432a5a
mov eax, 0x40581001
mov ecx, dword [0x4a04b4]
mov dx, word [0x495a20]
mov si, dx
or ecx, esi
or ecx, 0x4851
mov dx, cx
mov word [0x495a20], dx
mov ecx, dword [esp + 4]
mov esi, dword [esp + 0xc]
lea ecx, [ecx + esi + 1]
mov dword [esp + 8], ecx
mov ecx, dword [0x4a7514]
xor ecx, 0x1751535a
xor ecx, 0x6f8be183
cmp eax, ecx
jle 0x432b3d
mov eax, dword [0x4a2fcc]
inc eax
mov dword [0x4a2fcc], eax
mov ecx, dword [0x4a313c]
shl ecx, 7
or eax, ecx
mov dx, word [0x494d90]
mov cx, dx
add ecx, eax
mov dx, cx
mov word [0x494d90], dx
jmp 0x432b5b
mov ax, word [0x4943b0]
movsx ecx, ax
add ecx, 0xe7cea502
mov edx, dword [0x4a38fc]
imul edx, ecx
mov dword [0x4a38fc], edx
jmp 0x432c16
mov eax, dword [0x4a89e8]
imul eax, eax, 0xdfffe65f
mov dword [0x4a89e8], eax
mov eax, dword [esp + 0xc]
mov byte [eax], 0x20
mov dword [0x4a20c0], 0x681c2c14
mov ax, word [0x496534]
movsx ecx, ax
shl ecx, 5
xor ecx, 0x14fa0dd6
mov edx, dword [0x49ed40]
add edx, ecx
mov dword [0x49ed40], edx
mov ecx, dword [esp + 4]
dec ecx
mov dword [esp + 4], ecx
mov ecx, dword [0x49def4]
not ecx
and ecx, 0x9bc3e428
mov edx, dword [0x4aab20]
xor edx, ecx
mov dword [0x4aab20], edx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
movsx eax, byte [ecx + eax]
cmp eax, 0x20
jne 0x432b81
mov eax, dword [0x4a8004]
or eax, 0x97b7b378
mov dword [0x4a8004], eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
lea eax, [eax + ecx + 1]
mov dword [esp + 8], eax
mov eax, dword [0x4aba58]
xor eax, 0x44018929
mov ecx, dword [0x4aaaf8]
or eax, ecx
or eax, 0xaafe66d0
mov dword [0x4aaaf8], eax
mov ax, word [0x495240]
mov cx, ax
and ecx, 0x6440
mov ax, cx
mov word [0x495240], ax
mov eax, dword [esp + 8]
add esp, 0x10
pop esi
ret