Function at 0x433230
Capabilities:
Encode data using xor

Disassembly:
push edi
push esi
sub esp, 0x308
mov ax, word [0x4a2ab8]
mov cx, ax
add ecx, 0x566eab00
mov ax, cx
mov word [0x4a2ab8], ax
mov ecx, dword [0x4b341c]
cmp ecx, 0
je 0x433264
jmp 0x4336fa
mov ax, word [0x4a4074]
mov cx, ax
xor ecx, 0x59cd
mov ax, cx
mov word [0x4a4074], ax
mov ax, word [0x4a2950]
mov cx, ax
xor ecx, 0x1480
mov ax, cx
mov word [0x4a2950], ax
mov ecx, dword [0x4a4d18]
mov edx, dword [0x4af284]
mov esi, edx
dec esi
mov dword [0x4af284], esi
or edx, 0xafef9e7f
cmp ecx, edx
jge 0x4332cd
mov eax, dword [0x4a9764]
not eax
add eax, 0xa7542f40
mov cx, ax
mov word [0x4a2522], cx
mov ax, word [0x4a08d4]
movsx ecx, ax
cmp ecx, 0xf7feaff7
jne 0x433337
mov eax, 0xf7f27f3b
mov ecx, dword [0x4ac408]
dec ecx
mov dword [0x4ac408], ecx
add ecx, 0x6fe04ce1
and ecx, 0x7918edef
cmp eax, ecx
jge 0x433332
mov eax, dword [0x4ac564]
mov ecx, dword [0x4a846c]
inc ecx
mov dword [0x4a846c], ecx
sub eax, ecx
mov dx, word [0x4a4848]
mov cx, dx
or ecx, eax
mov dx, cx
mov word [0x4a4848], dx
jmp 0x433337
mov eax, dword [0x4b10a4]
imul eax, eax, 0x10000844
mov dword [0x4b10a4], eax
mov eax, esp
lea ecx, [esp + 0x33]
mov dword [eax + 4], ecx
mov dword [eax], 0x104
mov dword [esp + 0x2c], ecx
call fcn.0041a530
mov dword [0x4b28dc], 0xf5ff7eef
mov eax, esp
mov ecx, dword [esp + 0x2c]
mov dword [eax], ecx
call fcn.00452410
mov dword [esp + 0x1bc], eax
mov eax, dword [0x4a6cec]
imul eax, eax, 0x7e5eeb5d
sub eax, 0x99a3be7a
cmp eax, 0x7effedf6
jg 0x4333a6
mov word [0x49ea0c], 0xeb15
jmp 0x4333b5
mov eax, dword [0x4b2320]
or eax, 0x3aa82e20
mov dword [0x4b2320], eax
mov eax, 0x843220
mov ecx, dword [0x49d904]
mov edx, esp
mov dword [edx], 0x459
mov dword [esp + 0x28], eax
call ecx
sub esp, 4
mov eax, dword [0x4ab2a4]
imul eax, eax, 0x186b3db8
mov dword [0x4ab2a4], eax
mov eax, dword [esp + 0x1bc]
mov byte [esp + eax + 0x33], 0
mov eax, dword [0x4adeec]
imul eax, eax, 0x91003b12
mov dword [0x4adeec], eax
mov eax, dword [0x4b3438]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x33]
mov dword [ecx], eax
call fcn.004554e0
mov ecx, dword [0x4aeca8]
shl ecx, 2
and ecx, 0x770cda43
mov edx, dword [esp + 0x28]
cmp edx, ecx
mov dword [esp + 0x24], eax
jne 0x433445
mov eax, dword [0x4a4c98]
add eax, 0x1e24c7aa
mov dword [0x4a4c98], eax
jmp 0x433455
mov eax, dword [0x4a6fe8]
imul eax, eax, 0x24620ffe
mov dword [0x4a6fe8], eax
mov eax, 0xffffffff
mov ecx, esp
mov dword [ecx + 4], 2
mov dword [ecx], 0x3708
mov dword [esp + 0x20], eax
call fcn.00444b60
mov dword [esp + 0x304], eax
mov word [0x4a3196], 0xcad3
mov eax, dword [esp + 0x304]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x33]
mov dword [ecx], eax
mov dword [esp + 0x1c], eax
call fcn.004554e0
mov ecx, dword [0x4b267c]
mov edx, ecx
dec edx
mov dword [0x4b267c], edx
add ecx, 0xea54c745
and ecx, 0x8ab9d764
mov edx, dword [0x4a7d88]
add edx, ecx
mov dword [0x4a7d88], edx
mov ecx, dword [esp + 0x304]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 2
mov dword [esp + 0x18], eax
call fcn.0044d6d0
mov si, word [0x4a117a]
mov ax, si
imul eax, eax, 0xfed33499
mov si, ax
mov word [0x4a117a], si
mov eax, dword [0x49d864]
mov ecx, esp
lea edx, [esp + 0x1c4]
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x1c]
mov dword [ecx], edx
call eax
sub esp, 8
mov dword [esp + 0x1c0], eax
mov si, word [0x4a45fc]
movsx eax, si
shl eax, 2
mov ecx, dword [0x4b00dc]
mov edx, ecx
dec edx
mov dword [0x4b00dc], edx
mov edx, 0xb24229ab
sub edx, ecx
xor eax, edx
mov ecx, dword [0x4ac470]
or ecx, eax
mov dword [0x4ac470], ecx
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x1c0], eax
je 0x4336bc
mov ax, word [0x49eea4]
movsx ecx, ax
sar ecx, 2
xor ecx, 0xba82f5ac
mov ax, word [0x49ff1a]
mov dx, ax
dec edx
mov si, dx
mov word [0x49ff1a], si
movsx edx, ax
or edx, 0xa132ea27
cmp ecx, edx
jg 0x4335a8
mov eax, dword [0x4aff5c]
xor eax, 0xd922e248
mov dword [0x4aff5c], eax
jmp 0x4335ad
mov eax, dword [0x4adcc8]
mov ecx, eax
dec ecx
mov dword [0x4adcc8], ecx
imul eax, eax, 0xd86edc50
or eax, 0xa0335950
mov ecx, dword [0x4b0c78]
add ecx, eax
mov dword [0x4b0c78], ecx
mov eax, dword [esp + 0x1bc]
mov byte [esp + eax + 0x33], 0
mov eax, dword [0x4a7004]
add eax, 0x2da28729
mov dword [0x4a7004], eax
lea eax, [esp + 0x1f0]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x33]
mov dword [ecx], eax
mov dword [esp + 0x14], eax
call fcn.004554e0
mov ecx, dword [0x4b1f14]
xor ecx, 0xfda3b83c
mov dword [0x4b1f14], ecx
mov ecx, dword [0x49d854]
mov edx, esp
mov esi, dword [esp + 0x14]
mov dword [edx], esi
mov dword [esp + 0x10], eax
call ecx
sub esp, 4
mov ecx, dword [0x4a5978]
or ecx, 0x1b9c
mov di, word [0x49f1b4]
mov dx, di
and edx, ecx
mov di, dx
mov word [0x49f1b4], di
mov dword [esp + 0xc], eax
mov eax, dword [0x49d860]
mov ecx, dword [esp + 0x1c0]
mov edx, esp
lea esi, [esp + 0x1c4]
mov dword [edx + 4], esi
mov dword [edx], ecx
call eax
sub esp, 8
cmp eax, 0
jne 0x4335ad
mov eax, dword [0x4a64c0]
imul eax, eax, 0x62d9a36e
mov dword [0x4a64c0], eax
mov eax, dword [0x49d85c]
mov ecx, dword [esp + 0x1c0]
mov edx, esp
mov dword [edx], ecx
call eax
sub esp, 4
mov ecx, dword [0x4aedbc]
and ecx, 0x7566fa18
mov dword [0x4aedbc], ecx
mov dword [esp + 8], eax
mov ax, word [0x49df48]
mov cx, ax
or ecx, 0x2c06
mov ax, cx
mov word [0x49df48], ax
mov ecx, esp
lea edx, [esp + 0x33]
mov dword [ecx], edx
mov dword [ecx + 4], 0x189
call fcn.004034a0
mov ecx, dword [0x4ae79c]
add ecx, 0x33a711ef
mov dword [0x4ae79c], ecx
add esp, 0x308
pop esi
pop edi
ret