Function at 0x441f60
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xcc
mov edi, dword [esp + 0xe0]
mov eax, dword [0x48bd84]
shl eax, 9
xor eax, 0xc78cc6f
and dword [0x482960], eax
mov eax, dword [0x484910]
shl eax, 8
and dword [0x48ccc8], eax
mov ax, word [0x47f23a]
or eax, 0x1843
mov word [0x47f23a], ax
mov eax, dword [0x487f60]
lea ecx, [eax - 1]
mov dword [0x487f60], ecx
cmp eax, 0x36bad483
je 0x441fc2
and dword [0x485300], 0xe49dca3f
mov dword [0x492b14], 0xf4ed1869
mov dword [0x491a50], 0xdfedfbbb
or dword [0x496838], 0xefcec29e
mov eax, dword [0x492880]
imul eax, eax, 0x521d416
mov dword [0x492880], eax
mov eax, dword [0x494f9c]
not eax
imul eax, eax, 0x583feed
mov cx, word [0x47de66]
add ecx, eax
mov word [0x47de66], cx
mov ax, word [0x47a92e]
add dword [0x48b00c], 0x8c28811f
mov ax, word [0x47bc5c]
inc eax
mov word [0x47bc5c], ax
cwde
imul eax, eax, 0xed24b79b
or dword [0x485a74], eax
mov dword [esp + 4], 0xe
mov dword [esp], 0x6594
call fcn.004416a0
mov esi, eax
mov dword [0x48f044], 0x902f0d3d
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.004494b0
mov ax, word [0x47a8fa]
cwde
mov ecx, dword [0x492b10]
lea edx, [ecx + 1]
mov dword [0x492b10], edx
imul eax, ecx
cmp eax, 0x85876fd
jl 0x44208d
mov dword [0x487e14], 0x8ec75d65
mov dword [esp + 4], esi
mov dword [esp], 0xe
call fcn.00414010
mov ax, word [0x47e5c2]
xor eax, 0xc402
mov word [0x47e5c2], ax
call dword [0x477f68]
mov edi, eax
mov eax, dword [0x482e5c]
cmp eax, 0x51ba9f0f
je 0x4420dc
mov eax, dword [0x488464]
lea ecx, [eax + 1]
mov dword [0x488464], ecx
imul eax, eax, 0x3fd3d584
add dword [0x483374], eax
test edi, edi
je 0x44244e
mov eax, dword [0x4904d4]
and eax, 0x91de
mov cx, word [0x47b70e]
xor ecx, eax
xor ecx, 0xb7e7
mov word [0x47b70e], cx
mov dword [esp + 4], 0xd
mov dword [esp], 0x730e
call fcn.004416a0
mov ebx, eax
mov eax, dword [0x486d54]
imul eax, eax, 0xd1f0e1b0
add eax, 0xbd784550
cmp eax, 0x10b9effd
jg 0x442143
mov ax, word [0x47d74e]
cwde
xor eax, 0x3af02d70
or dword [0x4908bc], eax
mov dword [esp], ebx
call dword [0x477fa8]
sub esp, 4
mov esi, eax
mov dword [0x48afd4], 0xb227400
mov dword [esp + 4], ebx
mov dword [esp], 0xd
call fcn.00414010
mov eax, dword [0x48de30]
imul eax, eax, 0xf89aaf2c
mov dword [0x48de30], eax
test esi, esi
je 0x442472
xor dword [0x490f0c], 0x2cd7f966
mov dword [esp + 4], 0x10
mov dword [esp], 0x820f
call fcn.004416a0
mov ebx, eax
mov eax, dword [0x488b20]
mov ecx, dword [0x48d418]
and ecx, eax
and ecx, 0xaf240e2a
mov dword [0x48d418], ecx
mov dword [esp + 4], ebx
mov dword [esp], esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
sub esp, 8
mov ebp, eax
mov eax, dword [0x494ef4]
cmp eax, 0x18cd3262
je 0x442211
mov eax, dword [0x486754]
dec eax
mov dword [0x486754], eax
mov cx, word [0x47c00e]
movsx ecx, cx
shl ecx, 3
mov edx, dword [0x4928d8]
shl edx, 6
sub ecx, edx
xor ecx, eax
cmp ecx, 0x72972a17
jne 0x442211
add dword [0x493424], 0x74da486
mov dword [esp + 4], ebx
mov dword [esp], 0x10
call fcn.00414010
mov eax, dword [0x49357c]
mov ecx, dword [0x49213c]
imul ecx, eax
mov dword [0x49213c], ecx
test ebp, ebp
je 0x442483
mov dword [esp + 0x14], esi
mov ax, word [0x47a7e2]
lea ecx, [eax - 1]
mov word [0x47a7e2], cx
cwde
mov ecx, dword [0x483d30]
sub ecx, eax
mov dword [0x483d30], ecx
mov dword [esp + 0xc8], 0x288
mov eax, dword [0x4885c0]
dec eax
mov dword [0x4885c0], eax
mov dword [0x485878], eax
mov dword [esp], edi
mov dword [esp + 8], 0x288
mov dword [esp + 4], 0
call dword [0x477f6c]
sub esp, 0xc
mov ebx, eax
mov eax, dword [0x48adb0]
not eax
mov cx, word [0x47944e]
movsx ecx, cx
sar ecx, 1
sub eax, ecx
cmp eax, 0x3fff67fe
jg 0x4422e3
mov eax, dword [0x4935a0]
and eax, 0xeb9ecbc6
mov cx, word [0x478098]
movsx ecx, cx
imul ecx, ecx, 0xf0d012b5
and ecx, 0x571b703e
cmp eax, ecx
jl 0x4422e3
and dword [0x48a684], 0xebe4a250
test ebx, ebx
je 0x4424b2
mov eax, dword [0x48368c]
shl eax, 5
and eax, 0xba20
mov cx, word [0x4824ae]
xor ecx, eax
xor ecx, 0x99f7
mov word [0x4824ae], cx
lea esi, [esp + 0xc8]
mov dword [esp + 4], esi
mov dword [esp], ebx
call ebp
sub esp, 8
mov cx, word [0x4801fa]
lea edx, [ecx - 1]
mov word [0x4801fa], dx
mov dx, word [0x480a44]
and edx, ecx
and edx, 0x8b83
mov word [0x480a44], dx
cmp eax, 0x6f
jne 0x4423ee
mov eax, dword [0x488ebc]
not eax
imul eax, eax, 0xc9b1acdd
and dword [0x4939c8], eax
mov dword [esp + 8], ebx
mov dword [esp], edi
mov dword [esp + 4], 0
call dword [0x477f70]
sub esp, 0xc
mov eax, dword [0x489e30]
imul eax, eax, 0x4addc252
mov dword [0x489e30], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 8], eax
mov dword [esp], edi
mov dword [esp + 4], 0
call dword [0x477f6c]
sub esp, 0xc
mov ebx, eax
or dword [0x496388], 0x94d8bafb
test ebx, ebx
je 0x442763
mov eax, dword [0x494bc8]
add eax, 0x16273bac
or eax, 0xc0144b24
mov ecx, dword [0x490e58]
imul ecx, ecx, 0x4c382159
cmp eax, ecx
jl 0x4423ee
mov eax, dword [0x4863d0]
imul eax, eax, 0x93affbbe
mov dword [0x4863d0], eax
mov eax, dword [0x486394]
imul eax, eax, 0xdf593bf8
mov dword [0x486394], eax
mov dword [esp + 4], esi
mov dword [esp], ebx
call ebp
sub esp, 8
mov cx, word [0x47c206]
movsx ecx, cx
sar ecx, 6
or ecx, 0xf3f4f4d0
mov edx, dword [0x486cd8]
sub edx, ecx
mov dword [0x486cd8], edx
test eax, eax
je 0x4424e3
mov eax, dword [0x48a6ac]
imul eax, eax, 0x3dde29e2
mov dword [0x48a6ac], eax
xor ebp, ebp
mov esi, dword [esp + 0x14]
jmp 0x442a89
mov eax, dword [0x49200c]
lea ecx, [eax - 1]
mov dword [0x49200c], ecx
mov ecx, dword [0x48b2d4]
imul ecx, eax
mov dword [0x48b2d4], ecx
xor ebp, ebp
jmp 0x442afc
add dword [0x48f06c], 0xc4dbeed3
xor ebp, ebp
jmp 0x442afc
mov ax, word [0x4817de]
imul eax, eax, 0xffffb115
mov word [0x4817de], ax
mov dword [esp], esi
call dword [0x477fa4]
sub esp, 4
add dword [0x495ad4], 0xc305f071
xor ebp, ebp
jmp 0x442afc
add dword [0x495654], 0xc4015be1
mov eax, dword [esp + 0x14]
mov dword [esp], eax
call dword [0x477fa4]
sub esp, 4
mov eax, dword [0x492500]
imul eax, eax, 0x751e9f7e
mov dword [0x492500], eax
xor ebp, ebp
jmp 0x442afc
mov dword [esp + 0x10], ebx
dec dword [0x4842d8]
inc dword [0x492b68]
mov eax, dword [0x48c6c4]
inc eax
mov dword [0x48c6c4], eax
xor eax, 0x4e3db274
mov dword [0x491e70], eax
mov dword [esp + 4], 8
mov dword [esp], 0x9af
call fcn.004416a0
mov ebp, eax
add dword [0x485aa0], 0xd3d5ffeb
mov dword [esp + 4], ebp
lea esi, [esp + 0x73]
mov dword [esp], esi
call fcn.004494b0
mov ax, word [0x47d806]
cwde
and dword [0x4933dc], eax
mov dword [esp + 4], ebp
mov dword [esp], 8
call fcn.00414010
mov eax, dword [0x490a48]
cmp eax, 0x59f52211
je 0x442571
mov eax, dword [0x485984]
imul eax, eax, 0x7397a5db
mov dword [0x485984], eax
mov edx, esi
mov eax, dword [0x483a40]
cmp eax, 0x10526f96
jl 0x442595
mov eax, dword [0x491ba0]
shr eax, 7
mov ecx, 0xa081d15c
sub ecx, eax
mov word [0x47ff54], cx
xor ebx, ebx
cmp dword [esp + 0x10], 0
mov ebp, 0
mov esi, dword [esp + 0x14]
je 0x442a45
mov dword [esp + 0xc], edi
mov ebp, dword [esp + 0x10]
lea edi, [ebp + 0x1d8]
mov dword [esp + 0x18], edi
mov eax, dword [0x491944]
lea ecx, [eax - 1]
mov dword [0x491944], ecx
add eax, 0x63c4e8a7
mov ecx, dword [0x486974]
imul ecx, eax
mov dword [0x486974], ecx
mov esi, edx
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.004495b0
mov cx, word [0x47e800]
and ecx, 0xf7ff
mov word [0x47e800], cx
test eax, eax
je 0x44272d
lea edi, [ebp + 0x1b0]
nop
or dword [0x49288c], 0x407007
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.004495b0
mov ecx, dword [0x489084]
test eax, eax
je 0x442723
mov eax, dword [0x495cf0]
inc eax
mov dword [0x495cf0], eax
xor eax, 0xb32e0a77
and dword [0x493d40], eax
mov dword [0x4839c8], 0x3642befd
add dword [0x48f704], 0x8070850b
mov ax, word [0x4786b2]
cwde
sar eax, 3
mov cx, word [0x47ca10]
movsx ecx, cx
sar ecx, 4
mov edx, dword [0x490968]
imul ecx, ecx, 0xa606643d
sub edx, eax
add edx, ecx
mov dword [0x490968], edx
cmp dword [ebp + 0x190], 9
jb 0x442798
mov ax, word [0x480666]
cwde
imul eax, eax, 0x47249b32
xor eax, 0x48e6bc14
mov ecx, dword [0x4929a8]
mov edx, dword [0x4825cc]
dec edx
mov dword [0x4825cc], edx
xor edx, ecx
cmp eax, edx
je 0x4426d3
mov eax, dword [0x483fe8]
imul eax, eax, 0xfc0ee56a
mov dword [0x483fe8], eax
mov eax, dword [0x491944]
lea ecx, [eax - 1]
mov dword [0x491944], ecx
add eax, 0x63c4e8a7
mov ecx, dword [0x486974]
imul ecx, eax
mov dword [0x486974], ecx
mov dword [esp + 4], esi
mov eax, dword [esp + 0x18]
mov dword [esp], eax
call fcn.004495b0
mov cx, word [0x47e800]
and ecx, 0xf7ff
mov word [0x47e800], cx
test eax, eax
jne 0x442610
jmp 0x44272d
add dword [0x48d48c], 0x42220600
mov edx, esi
mov dword [0x493164], 0x97982180
mov ebp, dword [ebp]
mov eax, dword [0x493548]
imul eax, eax, 0xdf644a15
mov dword [0x493548], eax
test ebp, ebp
jne 0x4425b3
xor ebp, ebp
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x14]
jmp 0x442a45
and dword [0x487bc4], 0x5ceafeb7
mov eax, dword [esp + 0x14]
mov dword [esp], eax
call dword [0x477fa4]
sub esp, 4
mov ax, word [0x4794a6]
inc eax
mov word [0x4794a6], ax
cwde
add dword [0x4919f8], eax
xor ebp, ebp
jmp 0x442afc
add dword [0x4883b0], 0xf432e50f
mov dword [esp + 4], 0x11
mov dword [esp], 0x72fb
call fcn.004416a0
mov esi, eax
mov eax, dword [0x48bdd0]
mov ecx, dword [0x4970d4]
imul ecx, eax
mov dword [0x4970d4], ecx
mov dword [esp + 4], esi
lea eax, [esp + 0x1e]
mov dword [esp], eax
call fcn.004494b0
or dword [0x48d814], 0xddd8a6ff
mov dword [esp + 4], esi
mov dword [esp], 0x11
call fcn.00414010
mov ax, word [0x47ecd6]
and eax, 0x501
mov cx, word [0x47e80c]
lea eax, [ecx + eax*8 - 0x7c0d]
mov word [0x47e80c], ax
mov eax, dword [0x491624]
dec eax
mov dword [0x491624], eax
mov cx, word [0x4820e2]
movsx ecx, cx
mov dx, word [0x47fef6]
dec edx
mov word [0x47fef6], dx
movsx edx, dx
and edx, eax
and edx, ecx
cmp edx, 0xf0ce1ef2
jg 0x442885
mov eax, dword [0x4929e0]
lea ecx, [eax - 1]
mov dword [0x4929e0], ecx
mov ecx, dword [0x4891a8]
inc ecx
mov dword [0x4891a8], ecx
imul ecx, ecx, 0x736aafa4
add ecx, eax
cmp ecx, 0xccd1b69e
jg 0x442885
mov ax, word [0x47e42a]
imul eax, eax, 0x776b
mov word [0x47e42a], ax
cmp dword [ebp + 0x190], 0
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0xe0]
je 0x442985
xor eax, eax
nop
or dword [0x483c50], 0xffef273b
mov ecx, dword [0x4935d4]
imul ecx, ecx, 0x40495864
add ecx, 0xb636cc2e
or dword [0x48869c], ecx
mov ecx, dword [0x485998]
mov edx, 0xa43a8605
sub edx, ecx
add dword [0x4947c0], edx
movzx ecx, byte [ebp + eax + 0x194]
and dword [0x487a28], 0x8ed69843
mov dword [0x492bbc], 0x9e7c96b1
mov dl, cl
shr dl, 4
add dword [0x48ad2c], 0x45fccd3a
movzx edx, dl
mov dl, byte [esp + edx + 0x1e]
mov byte [esi + eax*2], dl
and dword [0x488898], 0x40197d88
or dword [0x49134c], 0x40002
mov edx, dword [0x489f3c]
imul edx, edx, 0xd497f4c9
add edx, 0x6338
mov word [0x478582], dx
and ecx, 0xf
mov cl, byte [esp + ecx + 0x1e]
mov byte [esi + eax*2 + 1], cl
mov ecx, dword [0x487004]
add ecx, 0x5a3018b4
or dword [0x48b384], ecx
inc eax
mov ecx, dword [0x48ef94]
lea edx, [ecx - 1]
mov dword [0x48ef94], edx
mov edx, 0x390ace62
sub edx, ecx
mov ecx, dword [0x493860]
sub edx, ecx
xor dword [0x483d78], edx
cmp eax, dword [ebp + 0x190]
jne 0x4428a0
or dword [0x494bfc], 0x1c7abe52
mov eax, dword [ebp + 0x190]
mov byte [esi + eax*2], 0
mov eax, dword [0x496428]
mov ecx, 0xe0ebe799
sub ecx, eax
mov ax, word [0x47c986]
imul eax, ecx
mov word [0x47c986], ax
add dword [0x488bc4], 0x2bd693f6
add dword [0x48a4f4], 0xcfef7c45
xor eax, eax
nop
nop
nop
nop
nop
nop
mov byte [esp + eax + 0x1e], 0
inc eax
cmp eax, 0x55
jne 0x4429d0
mov eax, dword [0x492b6c]
lea ecx, [eax + 1]
mov dword [0x492b6c], ecx
mov ecx, dword [0x487198]
add ecx, 0x2a7ac12c
or ecx, eax
cmp ecx, 0x760c1965
mov esi, dword [esp + 0x14]
jl 0x442a36
mov eax, dword [0x491a2c]
lea ecx, [eax - 1]
mov dword [0x491a2c], ecx
add eax, 0x65a1ef49
mov ecx, dword [0x496cb4]
lea edx, [ecx - 1]
mov dword [0x496cb4], edx
xor eax, ecx
mov ecx, dword [0x4954e8]
imul ecx, eax
mov dword [0x4954e8], ecx
and dword [0x4968f0], 0xdb38e3ff
mov ebp, 1
mov ax, word [0x480cb0]
mov eax, dword [0x4961e4]
imul eax, eax, 0xcbd3fb27
and dword [0x4904b8], eax
add dword [0x488bc4], 0x2bd693f6
add dword [0x48a4f4], 0xcfef7c45
mov byte [esp + ebx + 0x73], 0
inc ebx
cmp ebx, 0x55
jne 0x442a70
add dword [0x48c3e4], 0xf539c242
mov ebx, dword [esp + 0x10]
mov eax, dword [0x487f18]
imul eax, eax, 0x550d2bbf
mov dword [0x487f18], eax
test ebx, ebx
je 0x442ad5
or dword [0x491900], 0x2d1e4856
mov dword [esp + 8], ebx
mov dword [esp], edi
mov dword [esp + 4], 0
call dword [0x477f70]
sub esp, 0xc
mov eax, dword [0x493f50]
cmp eax, 0x3f183ed
jg 0x442ad5
mov dword [0x4852fc], 0x48340887
mov ax, word [0x47edda]
add eax, 0x70ef
mov word [0x47edda], ax
mov dword [esp], esi
call dword [0x477fa4]
sub esp, 4
add dword [0x48817c], 0x3820eb55
mov eax, ebp
add esp, 0xcc
pop esi
pop edi
pop ebx
pop ebp
ret