Function at 0x428100
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x40
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov edi, 0xb89aabf4
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], esi
mov eax, dword [0x49551c]
add eax, eax
xor eax, 0xdea5d88
mov ecx, dword [0x48b430]
or ecx, eax
mov dword [0x48b430], ecx
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov bx, word [0x497ff0]
mov ax, bx
dec eax
mov si, ax
mov word [0x497ff0], si
movsx eax, bx
mov ecx, dword [0x48defc]
and ecx, eax
mov dword [0x48defc], ecx
mov eax, dword [0x492ca4]
not eax
mov ecx, dword [0x48bf78]
mov edx, ecx
inc edx
mov dword [0x48bf78], edx
sub eax, ecx
cmp edi, eax
jge 0x4281fa
mov eax, 0x77c43eaf
mov ecx, dword [0x48f708]
cmp eax, ecx
jle 0x4281ce
mov eax, dword [0x48d118]
add eax, 0x40b628ef
mov ecx, dword [0x491a3c]
imul ecx, eax
mov dword [0x491a3c], ecx
jmp 0x4281f5
mov eax, 0x1a396242
mov ecx, dword [0x494128]
sub eax, ecx
sub eax, 0xde902f4d
cmp eax, 0xb4275c4b
jne 0x4281f0
jmp 0x4281f0
jmp 0x4281f5
jmp 0x428209
mov eax, dword [0x48e28c]
add eax, 0xa138b957
mov dword [0x48e28c], eax
jmp 0x42820e
cmp dword [esp + 0x2c], 0
jle 0x428570
mov eax, 0x1d089f48
mov ecx, dword [0x49432c]
imul ecx, ecx, 0x27197ce8
mov edx, dword [0x495758]
add edx, ecx
mov dword [0x495758], edx
mov ecx, dword [0x4929a0]
xor ecx, 0xffffffff
imul ecx, ecx, 0x2a7d9c1b
sub eax, ecx
cmp eax, 0xce8d1742
jg 0x42827c
mov eax, dword [0x48b358]
mov ecx, eax
inc ecx
mov dword [0x48b358], ecx
cmp eax, 0xcf8213b8
jge 0x428277
mov dword [0x48b134], 0x80b1a11b
jmp 0x42827c
mov eax, dword [0x48bd34]
imul eax, eax, 0x3ff8cb0f
mov cx, word [0x498780]
mov dx, cx
lea eax, [eax + edx - 0x2515a987]
mov cx, ax
mov word [0x498780], cx
mov cx, word [0x49854c]
mov ax, cx
dec eax
mov cx, ax
mov word [0x49854c], cx
movsx eax, cx
mov edx, dword [0x48d560]
and edx, eax
mov dword [0x48d560], edx
mov eax, dword [esp + 0x30]
mov edx, eax
add edx, 4
mov dword [esp + 0x30], edx
mov eax, dword [eax]
mov edx, dword [esp + 0x38]
mul edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], eax
mov eax, dword [0x4925d0]
not eax
and eax, 0x16b94999
mov edx, dword [0x48cd60]
inc edx
mov dword [0x48cd60], edx
mov esi, dword [0x492e58]
inc esi
mov dword [0x492e58], esi
add edx, esi
and edx, 0x290099bf
cmp eax, edx
jne 0x428338
mov ax, word [0x49a50e]
movsx ecx, ax
or ecx, 0x6d646b12
mov edx, dword [0x48ca50]
and edx, ecx
mov dword [0x48ca50], edx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x14], eax
mov cx, word [0x496cfc]
mov ax, cx
dec eax
mov cx, ax
mov word [0x496cfc], cx
movsx eax, cx
add eax, 0xaeb4eec4
xor eax, 0x230bc479
mov cx, word [0x4988fe]
mov dx, cx
dec edx
mov cx, dx
mov word [0x4988fe], cx
movsx edx, cx
mov esi, dword [0x48ba9c]
xor edx, esi
cmp eax, edx
jl 0x4283c7
mov eax, 0x1e82aedd
mov cx, word [0x49884a]
movsx edx, cx
add edx, 0xacc972e
cmp eax, edx
jge 0x4283c2
mov eax, dword [0x48ebb8]
shl eax, 0xa
or eax, 0xb7b79f54
mov ecx, dword [0x4927e0]
xor ecx, eax
mov dword [0x4927e0], ecx
jmp 0x4283d6
mov eax, dword [0x491e9c]
xor eax, 0xcbefed6b
mov dword [0x491e9c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
mov eax, dword [0x495b80]
inc eax
mov dword [0x495b80], eax
and eax, 0xfe7c172b
mov ecx, dword [0x493990]
or ecx, eax
mov dword [0x493990], ecx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
add ecx, eax
mov dword [esp + 0x14], ecx
mov eax, dword [0x493eb8]
mov ecx, eax
dec ecx
mov dword [0x493eb8], ecx
mov ecx, dword [0x48e90c]
and ecx, 0xeeb34da7
mov dx, word [0x49995a]
movsx esi, dx
xor ecx, esi
cmp eax, ecx
jl 0x428447
mov eax, dword [0x48c4a8]
xor eax, 0x37cb0ec8
mov dword [0x48c4a8], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
sub eax, ecx
mov ecx, dword [esp + 0x10]
adc ecx, 0
mov dword [esp + 0x10], ecx
mov dx, word [0x49ab82]
mov cx, dx
imul ecx, ecx, 0x857419fc
mov dx, cx
mov word [0x49ab82], dx
mov ecx, dword [esp + 0x34]
mov ecx, dword [ecx]
mov esi, dword [esp + 0x14]
add esi, ecx
mov dword [esp + 0x14], esi
mov ecx, dword [0x48cb08]
mov esi, ecx
inc esi
mov dword [0x48cb08], esi
imul ecx, ecx, 0xc6bc11d5
mov esi, dword [0x48dec4]
or esi, ecx
mov dword [0x48dec4], esi
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x34]
mov esi, dword [esi]
sub ecx, esi
mov esi, dword [esp + 0x10]
adc esi, 0
mov dword [esp + 0x10], esi
mov esi, dword [0x48d014]
add esi, 0x414a7ff6
mov dword [0x48d014], esi
mov esi, dword [esp + 0x10]
mov dword [esp + 0x28], esi
mov esi, dword [0x49308c]
add esi, 0x22c2d85a
mov dword [0x49308c], esi
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x34]
mov ebx, edi
add ebx, 4
mov dword [esp + 0x34], ebx
mov dword [edi], esi
mov esi, dword [0x48c4b0]
imul esi, esi, 0xf5dce6e
and esi, 0x8e010754
mov edi, dword [0x48eed8]
dec edi
mov dword [0x48eed8], edi
cmp esi, edi
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
jg 0x42853d
mov eax, dword [0x492ca8]
add eax, 0x53f29377
mov dword [0x492ca8], eax
mov ax, word [0x49a6aa]
movsx ecx, ax
imul ecx, ecx, 0xba58240e
add ecx, 0x9fefdc2e
mov edx, dword [0x48db64]
xor edx, ecx
mov dword [0x48db64], edx
mov eax, dword [esp + 0x2c]
add eax, 0xffffffff
mov dword [esp + 0x2c], eax
jmp 0x42820e
mov eax, dword [0x48c5e4]
add eax, 0xd3af0289
mov dword [0x48c5e4], eax
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x24], eax
mov eax, dword [0x48b134]
mov ecx, eax
inc ecx
mov dword [0x48b134], ecx
mov ecx, dword [0x4957ec]
not ecx
sub eax, ecx
mov dx, word [0x4973de]
movsx ecx, dx
mov esi, dword [0x49274c]
imul ecx, esi
cmp eax, ecx
jl 0x4285f3
mov eax, 0x5535e0e6
mov ecx, dword [0x48e704]
mov edx, dword [0x4947b4]
sar edx, 6
add edx, 0xc5304cba
and ecx, edx
cmp eax, ecx
jl 0x4285ee
mov eax, dword [0x48c7e4]
add eax, 0x40110400
mov dword [0x48c7e4], eax
jmp 0x4285f3
jmp 0x4285f8
mov ax, word [0x4961dc]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x4961dc], ax
movsx ecx, ax
and ecx, 0x61c45851
mov edx, dword [0x490cf4]
xor edx, ecx
mov dword [0x490cf4], edx
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x34]
mov esi, dword [edx]
add esi, ecx
mov dword [edx], esi
mov ecx, dword [0x493e64]
mov edx, ecx
dec edx
mov dword [0x493e64], edx
mov edx, dword [0x494a9c]
lea ecx, [ecx + edx - 0x8cbe80f]
mov dword [0x494a9c], ecx
mov ecx, dword [esp + 0x34]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x28]
sub ecx, edx
sbb edx, edx
and edx, 1
mov dword [esp + 0x28], edx
mov dword [0x495904], 0xffdcdded
mov edx, dword [esp + 0x34]
add edx, 4
mov dword [esp + 0x34], edx
mov edx, dword [0x48dbfc]
xor edx, 0xd60dd31d
mov dword [0x48dbfc], edx
mov dword [esp + 4], ecx
cmp dword [esp + 0x28], 0
jne 0x4285f8
mov eax, 0x17447925
mov ecx, dword [0x48be1c]
sub ecx, 0x86b27f5e
cmp eax, ecx
je 0x4286c6
mov eax, dword [0x49312c]
imul eax, eax, 0x2180e056
mov dword [0x49312c], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret