Function at 0x44c680
Capabilities:
Encode data using xor

Disassembly:
push ebx
push edi
push esi
sub esp, 0x34
mov al, byte [esp + 0x48]
mov edx, dword [esp + 0x44]
mov esi, 0x80408032
mov byte [esp + 0x2f], al
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], ecx
mov di, word [0x4a2b6a]
movsx edx, di
imul edx, edx, 0xd197dfbf
and edx, 0x6a9990f1
cmp esi, edx
mov dword [esp + 0x14], ecx
jne 0x44c716
mov eax, 0x8f91df0c
mov ecx, dword [0x4925c4]
dec ecx
mov dword [0x4925c4], ecx
cmp eax, ecx
jne 0x44c711
mov eax, dword [0x49b530]
shl eax, 8
mov cx, word [0x4a7ffe]
mov dx, cx
dec edx
mov cx, dx
mov word [0x4a7ffe], cx
movsx edx, cx
add eax, edx
mov edx, dword [0x4974d8]
dec edx
mov dword [0x4974d8], edx
and eax, edx
mov dword [0x48f028], eax
jmp 0x44c716
mov eax, dword [0x4994b0]
imul eax, eax, 0x76413b24
mov ecx, dword [0x4a00e0]
lea eax, [eax + ecx - 0x225d2e52]
mov dword [0x4a00e0], eax
mov dx, word [0x4a8c6a]
mov ax, dx
mov ecx, eax
inc ecx
mov dx, cx
mov word [0x4a8c6a], dx
mov dx, word [0x4a2ba6]
mov cx, dx
or ecx, eax
mov dx, cx
mov word [0x4a2ba6], dx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x2020], eax
mov eax, dword [0x49cf78]
imul eax, eax, 0x1933d45d
mov dword [0x49cf78], eax
mov eax, dword [0x494ec4]
add eax, 0x5b52cdf9
mov dword [0x494ec4], eax
call fcn.0044bcd0
mov dword [esp + 0x1c], eax
mov eax, dword [0x48f6b0]
xor eax, 0x60
mov cx, word [0x4a1ea2]
mov dx, cx
and edx, eax
mov cx, dx
mov word [0x4a1ea2], cx
cmp dword [esp + 0x1c], 0
setne al
xor al, 0xff
test al, 1
jne 0x44c77e
mov ax, word [0x4a80c4]
movsx ecx, ax
mov ax, word [0x4a347e]
movsx edx, ax
sub ecx, edx
mov edx, dword [0x49e5c4]
xor ecx, edx
mov ax, word [0x4a7d00]
movsx edx, ax
cmp ecx, edx
jl 0x44c85e
mov eax, 0xce9fa631
mov ecx, dword [0x49eae0]
mov edx, ecx
dec edx
mov dword [0x49eae0], edx
add ecx, 0x333d1970
mov edx, dword [0x49876c]
dec edx
mov dword [0x49876c], edx
sub ecx, edx
cmp eax, ecx
jge 0x44c859
mov eax, 0x722c62cd
mov cx, word [0x4a29ca]
mov dx, cx
dec edx
mov cx, dx
mov word [0x4a29ca], cx
movsx edx, cx
imul edx, edx, 0x240d550b
cmp eax, edx
jg 0x44c854
jmp 0x44c854
jmp 0x44c859
jmp 0x44c85e
call fcn.0044bcd0
mov dword [esp + 0x20], eax
mov eax, dword [0x4954f4]
and eax, 0x8f5bfabc
or eax, 0xd113d9c5
cmp eax, 0x9d80f50b
jg 0x44c8e4
mov eax, 0xe09f3911
mov ecx, dword [0x493940]
dec ecx
mov dword [0x493940], ecx
mov edx, dword [0x494748]
xor edx, 0xffffffff
imul edx, edx, 0x5ede6149
add ecx, edx
cmp eax, ecx
jne 0x44c8d0
mov eax, dword [0x498a30]
inc eax
mov dword [0x498a30], eax
or eax, 0x88f5f9c1
mov ecx, dword [0x49eca4]
imul ecx, eax
mov dword [0x49eca4], ecx
jmp 0x44c8df
mov eax, dword [0x4984ac]
xor eax, 0x6ee12b11
mov dword [0x4984ac], eax
jmp 0x44c8e4
mov eax, 0x5afffeff
mov cl, byte [esp + 0x2f]
mov byte [esp + 0x20], cl
mov edx, dword [0x496a84]
or edx, 0x1a12
mov si, dx
mov word [0x4a16c2], si
mov edx, dword [esp + 0x1c]
mov edi, esp
mov dword [edi], edx
mov dword [esp + 0x10], eax
call fcn.00439d60
mov edx, dword [esp + 0x20]
xor edx, eax
mov dword [esp + 0x20], edx
mov eax, dword [0x49cb88]
xor eax, 0x98e3e17e
mov edx, dword [esp + 0x10]
cmp edx, eax
jl 0x44c963
mov eax, 0x14e91958
mov cx, word [0x4a4546]
movsx edx, cx
cmp eax, edx
jne 0x44c95e
mov eax, dword [0x4956a8]
and eax, 0xaafddfbf
mov dword [0x4956a8], eax
jmp 0x44c963
mov eax, dword [0x48e8a8]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x2020]
mov esi, esp
lea edi, [esp + 0x1c]
mov dword [esi + 4], edi
mov dword [esi], edx
mov dword [esi + 0xc], 0
mov dword [esi + 8], 8
call eax
sub esp, 0x10
mov dword [esp + 0x18], eax
mov eax, dword [0x49c6b4]
or eax, 0x9964c7cb
mov dword [0x49c6b4], eax
cmp dword [esp + 0x18], 8
je 0x44c9fc
mov eax, dword [0x493e70]
not eax
mov ecx, dword [0x49c02c]
imul ecx, eax
mov dword [0x49c02c], ecx
mov ecx, dword [esp + 0x14]
call fcn.00425770
mov dx, word [0x4a73ae]
movsx eax, dx
add eax, 0xcc22e94c
and eax, 0xefa43a69
mov ecx, dword [0x49c0b0]
xor ecx, eax
mov dword [0x49c0b0], ecx
mov dword [esp + 0x30], 0xffffffff
jmp 0x44cc09
mov eax, dword [0x49fc64]
or eax, 0x8566
mov cx, word [0x4a59b2]
mov dx, cx
imul edx, eax
mov cx, dx
mov word [0x4a59b2], cx
mov bl, byte [esp + 0x2f]
movzx eax, bl
mov edx, esp
mov dword [edx], eax
mov ecx, dword [esp + 0x14]
call fcn.004122e0
sub esp, 4
test al, 1
jne 0x44cace
mov eax, 0x1c772d36
mov ecx, dword [0x492d64]
shl ecx, 3
and ecx, 0x19780d27
cmp eax, ecx
jl 0x44ca88
mov eax, dword [0x49b1a8]
shl eax, 6
mov ecx, 0x9c40d315
sub ecx, eax
xor ecx, 0xe8a4
mov dx, word [0x4a9f02]
mov ax, dx
or eax, ecx
mov dx, ax
mov word [0x4a9f02], dx
jmp 0x44ca92
mov dword [0x4a0744], 0x869c7b58
mov ecx, dword [esp + 0x14]
call fcn.00425770
mov ecx, dword [0x49fe38]
mov eax, ecx
inc eax
mov dword [0x49fe38], eax
mov eax, dword [0x49a5b4]
imul ecx, eax
xor ecx, 0x280
mov dx, cx
mov word [0x4a3f3a], dx
mov dword [esp + 0x30], 0xfffffffe
jmp 0x44cc09
mov eax, dword [0x49435c]
or eax, 0x2a8705a
mov ecx, dword [0x492488]
sub ecx, eax
mov dword [0x492488], ecx
mov eax, dword [esp + 0x14]
mov dword [eax], 0
mov ecx, dword [0x48ed54]
mov edx, ecx
inc edx
mov dword [0x48ed54], edx
mov edx, dword [0x495c28]
lea ecx, [ecx + edx - 0x2eef8b49]
mov dword [0x495c28], ecx
mov ecx, dword [esp + 0x1c]
mov dword [eax + 4], ecx
mov ecx, dword [0x49527c]
mov edx, ecx
inc edx
mov dword [0x49527c], edx
mov si, word [0x4a7912]
mov dx, si
imul edx, ecx
mov si, dx
mov word [0x4a7912], si
mov dword [eax + 0x100c], 0
mov ecx, dword [0x498258]
cmp ecx, 0xd2da83ff
jge 0x44cb76
mov ax, word [0x4a5600]
movsx ecx, ax
shr ecx, 3
imul ecx, ecx, 0xa485082f
mov ax, cx
mov word [0x4a8ee0], ax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x201c]
mov edx, dword [esp + 0x1c]
mov esi, esp
mov dword [esi], edx
call ecx
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x1010], eax
mov eax, dword [0x4919c4]
mov edx, eax
inc edx
mov dword [0x4919c4], edx
add eax, 0xb8f037c5
mov di, word [0x4aa490]
movsx edx, di
shl edx, 0xa
xor eax, edx
cmp eax, 0xb624d1e9
jne 0x44cc01
mov eax, 0x5f1e8a48
mov cx, word [0x4a1400]
movsx edx, cx
xor edx, 0x70f4fb5a
cmp eax, edx
je 0x44cbf2
mov eax, dword [0x49b37c]
add eax, 0x97bf3400
mov dword [0x49b37c], eax
jmp 0x44cbfc
mov dword [0x499894], 0xf7630f48
jmp 0x44cc01
mov dword [esp + 0x30], 1
mov eax, dword [esp + 0x30]
add esp, 0x34
pop esi
pop edi
pop ebx
ret 8