Function at 0x44c0e0
Capabilities:
Encode data using xor

Disassembly:
push edi
push esi
sub esp, 0x2b8
mov eax, dword [0x49fe94]
and eax, 0x834d4b02
mov dword [0x49fe94], eax
mov eax, dword [0x4b105c]
cmp eax, 0
je 0x44c10a
jmp 0x44c6c3
mov eax, 0x3343938b
mov ecx, dword [0x4a8614]
add ecx, 0xb465bb7
mov dword [0x4a8614], ecx
mov dx, word [0x4911b4]
movsx ecx, dx
not ecx
mov dx, word [0x49af84]
movsx esi, dx
imul ecx, esi
imul ecx, ecx, 0xf2080dcc
cmp eax, ecx
jle 0x44c15c
mov eax, dword [0x49d34c]
add eax, 0xbfeebd5e
mov dword [0x49d34c], eax
jmp 0x44c16b
mov eax, dword [0x4aac3c]
xor eax, 0xf1ef6eb4
mov dword [0x4a2794], eax
mov eax, dword [0x4a14bc]
dec eax
mov dword [0x4a14bc], eax
mov cx, word [0x496406]
movsx edx, cx
cmp eax, edx
jne 0x44c198
mov eax, dword [0x4a5ce8]
imul eax, eax, 0x3027c802
mov dword [0x4a5ce8], eax
mov eax, dword [0x4aad68]
mov ecx, dword [0x4a0690]
imul eax, ecx
imul eax, eax, 0x98a83428
mov dword [0x4a0690], eax
mov eax, dword [0x49f0a8]
or eax, 0x63a9594c
mov dword [0x49f0a8], eax
mov eax, esp
lea ecx, [esp + 0x2c]
mov dword [eax + 4], ecx
mov dword [eax], 0x104
mov dword [esp + 0x28], ecx
call fcn.00435830
mov dword [0x4a6e04], 0x657fac5e
mov eax, esp
mov ecx, dword [esp + 0x28]
mov dword [eax], ecx
call fcn.00452920
mov dword [esp + 0x16c], eax
mov eax, dword [0x4a6ccc]
add eax, 0xa7b18f1
mov dword [0x4a6ccc], eax
mov eax, dword [0x490d44]
mov ecx, esp
mov dword [ecx], 0x410
call eax
sub esp, 4
mov eax, dword [0x4a5c90]
mov ecx, eax
inc ecx
mov dword [0x4a5c90], ecx
add eax, 0xde67b5ff
mov dx, word [0x4931d4]
mov cx, dx
sub ecx, eax
mov dx, cx
mov word [0x4931d4], dx
mov eax, dword [esp + 0x16c]
mov byte [esp + eax + 0x2c], 0
mov dx, word [0x494474]
mov ax, dx
add eax, 0x4e64d5d6
mov dx, ax
mov word [0x494474], dx
mov eax, dword [0x4b1078]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x28]
mov dword [ecx], eax
call fcn.004559f0
mov ecx, dword [0x4aaf64]
add ecx, 0x7f12b1fa
mov dword [0x4aaf64], ecx
mov ecx, esp
mov dword [ecx + 4], 2
mov dword [ecx], 0x21dc
mov dword [esp + 0x24], eax
call fcn.00410180
mov dword [esp + 0x2b4], eax
mov eax, dword [0x4a86f8]
dec eax
mov dword [0x4a86f8], eax
xor eax, 0xa4edd616
cmp eax, 0x7f7cfdff
jne 0x44c308
mov eax, 0x669e8b36
mov cx, word [0x492998]
mov dx, cx
inc edx
mov si, dx
mov word [0x492998], si
movsx edx, cx
mov edi, dword [0x4b0504]
imul edx, edi
cmp eax, edx
je 0x44c303
mov eax, dword [0x4a2948]
xor eax, 0x80deeda0
mov dword [0x4a2948], eax
jmp 0x44c308
mov eax, 0xcb061fd3
mov ecx, dword [esp + 0x2b4]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0x2c]
mov dword [edx], ecx
mov dword [esp + 0x20], eax
call fcn.004559f0
mov si, word [0x49a3f4]
movsx ecx, si
and ecx, 0x37bb4ef4
mov edx, dword [esp + 0x20]
cmp edx, ecx
mov dword [esp + 0x1c], eax
jle 0x44c372
mov ax, word [0x4910b0]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x4910b0], dx
movsx ecx, ax
mov esi, dword [0x4aa038]
sub esi, ecx
mov dword [0x4aa038], esi
jmp 0x44c381
mov eax, dword [0x4ad518]
and eax, 0x600a000
mov dword [0x4ad518], eax
mov eax, dword [esp + 0x2b4]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 2
call fcn.0044f050
mov dx, word [0x4996fc]
movsx eax, dx
mov ecx, dword [0x4a92a4]
not ecx
and eax, ecx
mov ecx, dword [0x49b978]
xor eax, ecx
xor eax, 0xb23932b7
mov dword [0x49b978], eax
mov eax, dword [0x490ca4]
mov ecx, esp
lea esi, [esp + 0x174]
mov dword [ecx + 4], esi
lea esi, [esp + 0x2c]
mov dword [ecx], esi
call eax
sub esp, 8
mov dword [esp + 0x170], eax
mov eax, dword [0x4a7a14]
dec eax
mov dword [0x4a7a14], eax
imul eax, eax, 0xb59aa1b4
mov ecx, dword [0x4aef88]
inc ecx
mov dword [0x4aef88], ecx
add ecx, 0x6211fd44
cmp eax, ecx
jl 0x44c434
mov eax, 0x34b8f20f
mov ecx, dword [0x4a6d6c]
cmp eax, ecx
je 0x44c42f
mov eax, dword [0x4a3148]
or eax, 0x7e43a92a
mov dword [0x4a3148], eax
jmp 0x44c4c1
mov eax, 0xc135ce2f
mov cx, word [0x498854]
movsx edx, cx
xor edx, 0xffffffff
cmp eax, edx
jl 0x44c47b
mov eax, 0x2faf5f9
mov ecx, dword [0x49be48]
not ecx
and ecx, 0xca9998b
mov edx, dword [0x4a1560]
sub eax, edx
cmp ecx, eax
jge 0x44c476
jmp 0x44c476
jmp 0x44c4bc
mov eax, dword [0x49cad8]
not eax
mov ecx, dword [0x4a17cc]
inc ecx
mov dword [0x4a17cc], ecx
sub eax, ecx
mov ecx, dword [0x49cd24]
mov edx, ecx
inc edx
mov dword [0x49cd24], edx
xor eax, ecx
cmp eax, 0x2cce4caa
jle 0x44c4b2
jmp 0x44c4b7
jmp 0x44c4b7
jmp 0x44c4bc
jmp 0x44c4c1
mov eax, 0xffffffff
cmp dword [esp + 0x170], eax
je 0x44c652
mov eax, 0x7537fff3
mov ecx, dword [0x4aeef4]
add ecx, 0x409e5a41
cmp eax, ecx
je 0x44c50d
mov eax, dword [0x4a9ca0]
and eax, 0x5a
shl eax, 8
mov cx, word [0x4997b8]
mov dx, cx
add edx, eax
mov cx, dx
mov word [0x4997b8], cx
jmp 0x44c512
mov eax, dword [0x4a93b4]
mov ecx, eax
dec ecx
mov dword [0x4a93b4], ecx
add eax, 0x4eccd341
xor eax, 0x3927d2ed
mov ecx, dword [0x49fbbc]
sub ecx, eax
mov dword [0x49fbbc], ecx
mov eax, dword [esp + 0x16c]
mov byte [esp + eax + 0x2c], 0
mov eax, dword [0x4aa058]
inc eax
mov dword [0x4aa058], eax
imul eax, eax, 0x63c4642e
mov ecx, dword [0x4a3504]
xor ecx, eax
mov dword [0x4a3504], ecx
lea eax, [esp + 0x1a0]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x2c]
mov dword [ecx], eax
mov dword [esp + 0x18], eax
call fcn.004559f0
mov ecx, dword [0x4a33ac]
add ecx, 0x59c4ec61
mov dword [0x4a33ac], ecx
mov ecx, dword [0x490c94]
mov edx, esp
mov esi, dword [esp + 0x18]
mov dword [edx], esi
mov dword [esp + 0x14], eax
call ecx
sub esp, 4
mov di, word [0x493678]
mov cx, di
imul ecx, ecx, 0x2fdda09c
mov di, cx
mov word [0x493678], di
mov dword [esp + 0x10], eax
mov eax, dword [0x490ca0]
mov ecx, dword [esp + 0x170]
mov edx, esp
lea esi, [esp + 0x174]
mov dword [edx + 4], esi
mov dword [edx], ecx
call eax
sub esp, 8
cmp eax, 0
jne 0x44c512
mov eax, dword [0x4a4f64]
shr eax, 6
xor eax, 0xa58
mov cx, word [0x498644]
mov dx, cx
add edx, eax
mov cx, dx
mov word [0x498644], cx
mov eax, dword [0x490c9c]
mov edx, dword [esp + 0x170]
mov esi, esp
mov dword [esi], edx
call eax
sub esp, 4
mov edx, dword [0x4a558c]
mov esi, edx
dec esi
mov dword [0x4a558c], esi
add edx, 0x4707d148
or edx, 0xb4370bf7
mov esi, dword [0x4abb90]
and esi, edx
mov dword [0x4abb90], esi
mov dword [esp + 0xc], eax
mov eax, 0x18ce95c1
mov ecx, dword [0x49e068]
mov edx, ecx
inc edx
mov dword [0x49e068], edx
or ecx, 0x4b60
mov si, word [0x491230]
mov dx, si
add edx, ecx
mov si, dx
mov word [0x491230], si
mov ecx, esp
lea edx, [esp + 0x2c]
mov dword [ecx], edx
mov dword [ecx + 4], 0x140
mov dword [esp + 8], eax
call fcn.00427ea0
mov eax, dword [0x4a3bf0]
inc eax
mov dword [0x4a3bf0], eax
mov ecx, dword [0x4afbc4]
add eax, ecx
mov ecx, dword [esp + 8]
cmp ecx, eax
jge 0x44c6c3
mov dword [0x4a2e84], 0x8ea43a93
add esp, 0x2b8
pop esi
pop edi
ret