Function at 0x4430e0
Capabilities:
Encode data using xor

Disassembly:
push edi
push esi
sub esp, 0x2ec
mov eax, dword [0x49b58c]
xor eax, 0xffffbbbd
mov dword [0x49b58c], eax
mov eax, dword [0x4a15f0]
cmp eax, 0
je 0x44310a
jmp 0x4435f2
mov eax, 0xb1f354f5
mov ecx, dword [0x497c6c]
add ecx, 0xb8e22223
mov dword [0x497c6c], ecx
mov dx, word [0x4a057c]
mov cx, dx
inc ecx
mov dx, cx
mov word [0x4a057c], dx
movsx ecx, dx
imul ecx, ecx, 0x4d44be77
cmp eax, ecx
je 0x443156
mov eax, dword [0x49bc14]
add eax, 0x87e5da81
mov dword [0x49bc14], eax
mov eax, 0x6d8e40e2
mov ecx, dword [0x49c3cc]
and ecx, 0xde87325c
mov dword [0x49c3cc], ecx
mov ecx, dword [0x49bef4]
mov edx, dword [0x49c07c]
xor edx, ecx
mov dword [0x49c07c], edx
mov ecx, dword [0x496554]
dec ecx
mov dword [0x496554], ecx
xor ecx, 0x3ca4cb8
cmp eax, ecx
jge 0x4431ab
mov eax, dword [0x497044]
or eax, 0xcbf15b0b
mov dword [0x497044], eax
mov eax, esp
lea ecx, [esp + 0x28]
mov dword [eax + 4], ecx
mov dword [eax], 0x104
mov dword [esp + 0x24], ecx
call fcn.00435b10
mov dx, word [0x49db70]
movsx eax, dx
imul eax, eax, 0x872fdcf8
add eax, 0x7249d455
mov ecx, dword [0x49a7bc]
sub ecx, eax
mov dword [0x49a7bc], ecx
mov eax, esp
mov ecx, dword [esp + 0x24]
mov dword [eax], ecx
call fcn.004529f0
mov dword [esp + 0x1a0], eax
mov eax, dword [0x49c090]
dec eax
mov dword [0x49c090], eax
mov ecx, dword [0x498d2c]
and ecx, eax
mov dword [0x498d2c], ecx
mov eax, dword [0x495904]
mov ecx, esp
mov dword [ecx], 0x448
call eax
sub esp, 4
mov eax, dword [0x49741c]
inc eax
mov dword [0x49741c], eax
mov dx, word [0x4a0be2]
mov cx, dx
inc ecx
mov si, cx
mov word [0x4a0be2], si
movsx ecx, dx
imul eax, ecx
mov ecx, dword [0x495f1c]
or eax, ecx
or eax, 0xc56abf9a
mov dword [0x495f1c], eax
mov eax, dword [esp + 0x1a0]
mov byte [esp + eax + 0x28], 0
mov eax, dword [0x49b0c8]
sar eax, 5
add eax, 0x29ce2cee
xor eax, 0xbc88cf49
mov ecx, dword [0x49aebc]
sub ecx, eax
mov dword [0x49aebc], ecx
mov eax, dword [0x4a1610]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x24]
mov dword [ecx], eax
call fcn.00455d30
mov ecx, dword [0x49a30c]
inc ecx
mov dword [0x49a30c], ecx
and ecx, 0xf236990b
mov dx, word [0x49f2ec]
mov di, dx
inc edi
mov si, di
mov word [0x49f2ec], si
movsx edi, dx
xor ecx, edi
mov edi, dword [0x499380]
xor edi, ecx
mov dword [0x499380], edi
mov ecx, esp
mov dword [ecx + 4], 2
mov dword [ecx], 0x3213
mov dword [esp + 0x20], eax
call fcn.0043b390
mov dword [esp + 0x2e8], eax
mov dx, word [0x49e196]
movsx eax, dx
add eax, 0xe05653ea
mov dx, word [0x4a0258]
mov cx, dx
inc ecx
mov dx, cx
mov word [0x4a0258], dx
movsx ecx, dx
and ecx, 0xe5ff476d
cmp eax, ecx
jge 0x443345
mov ax, word [0x49d4d8]
mov cx, ax
imul ecx, ecx, 0xcf4e0fd2
mov ax, cx
mov word [0x49d4d8], ax
mov eax, dword [esp + 0x2e8]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x28]
mov dword [ecx], eax
call fcn.00455d30
mov dword [0x49ba14], 0xfdbf5beb
mov ecx, dword [esp + 0x2e8]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 2
mov dword [esp + 0x1c], eax
call fcn.00403dd0
mov eax, dword [0x497c28]
mov ecx, eax
inc ecx
mov dword [0x497c28], ecx
sub eax, 0x3b808ee4
xor eax, 0x3d20c004
cmp eax, 0x8dbb37a0
je 0x4433b3
mov eax, dword [0x49b680]
add eax, 0xf952fe8a
mov dword [0x49b680], eax
mov eax, 0xffffffff
mov ecx, dword [0x495864]
mov edx, esp
lea esi, [esp + 0x1a8]
mov dword [edx + 4], esi
lea esi, [esp + 0x28]
mov dword [edx], esi
mov dword [esp + 0x18], eax
call ecx
sub esp, 8
mov dword [esp + 0x1a4], eax
mov eax, dword [0x4997f0]
or eax, 0xf0100
mov dword [0x4997f0], eax
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x1a4], eax
je 0x4435c0
mov eax, dword [0x495d0c]
dec eax
mov dword [0x495d0c], eax
mov cx, word [0x49d650]
mov dx, cx
inc edx
mov cx, dx
movsx edx, cx
or eax, edx
mov word [0x49d650], cx
or eax, 0x8774c4bd
mov edx, dword [0x49c5a8]
mov esi, edx
inc esi
mov dword [0x49c5a8], esi
imul edx, edx, 0xc6eed574
and edx, 0xa9a6bc8e
cmp eax, edx
jne 0x443483
mov eax, 0x6bc4cc8b
mov ecx, dword [0x49b534]
dec ecx
mov dword [0x49b534], ecx
mov edx, dword [0x49b044]
and ecx, edx
cmp eax, ecx
jg 0x44347e
mov eax, dword [0x4987f0]
xor eax, 0xd32265e2
mov dword [0x4987f0], eax
jmp 0x443492
mov eax, dword [0x49c2d4]
add eax, 0xc8699449
mov dword [0x49c2d4], eax
jmp 0x443497
mov eax, dword [0x49bcd8]
mov ecx, eax
inc ecx
mov dword [0x49bcd8], ecx
add eax, 0x52a6d1d0
xor eax, 0xfe0ed208
mov ecx, dword [0x49c1e0]
imul ecx, eax
mov dword [0x49c1e0], ecx
mov eax, dword [esp + 0x1a0]
mov byte [esp + eax + 0x28], 0
mov eax, dword [0x496f00]
shr eax, 3
add eax, 0xe2adbba0
or eax, 0xf946
mov dx, word [0x49f694]
mov cx, dx
imul ecx, eax
mov dx, cx
mov word [0x49f694], dx
lea eax, [esp + 0x1d4]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x28]
mov dword [ecx], eax
mov dword [esp + 0x14], eax
call fcn.00455d30
mov ecx, dword [0x49d084]
mov esi, 0xf36d4d61
sub esi, ecx
mov ecx, dword [0x499c9c]
sub ecx, esi
mov dword [0x499c9c], ecx
mov ecx, dword [0x495854]
mov esi, esp
mov edi, dword [esp + 0x14]
mov dword [esi], edi
mov dword [esp + 0x10], eax
call ecx
sub esp, 4
mov dword [0x4962d8], 0x706a2f3e
mov dword [esp + 0xc], eax
mov eax, dword [0x495860]
mov ecx, dword [esp + 0x1a4]
mov edx, esp
lea esi, [esp + 0x1a8]
mov dword [edx + 4], esi
mov dword [edx], ecx
call eax
sub esp, 8
cmp eax, 0
jne 0x443497
mov eax, dword [0x4981d8]
sar eax, 0xa
xor eax, 0x62101200
mov ecx, dword [0x496d14]
or eax, ecx
or eax, 0x144fa5e7
mov dword [0x496d14], eax
mov eax, dword [0x49585c]
mov ecx, dword [esp + 0x1a4]
mov edx, esp
mov dword [edx], ecx
call eax
sub esp, 4
mov ecx, dword [0x49b444]
imul ecx, ecx, 0x7d068f44
mov dword [0x49b444], ecx
mov dword [esp + 8], eax
mov eax, dword [0x499e00]
add eax, 0xc6630de
mov dword [0x499e00], eax
mov eax, esp
lea ecx, [esp + 0x28]
mov dword [eax], ecx
mov dword [eax + 4], 0x178
call fcn.004030c0
mov eax, dword [0x49bc60]
and eax, 0x10e7640f
mov dword [0x49bc60], eax
add esp, 0x2ec
pop esi
pop edi
ret