Function at 0x42a8f0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x34
mov al, byte [esp + 0x4c]
mov edx, dword [esp + 0x48]
mov esi, 0x9abf958
mov byte [esp + 0x2f], al
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], ecx
mov edx, ecx
mov edi, dword [0x48caec]
and edi, 0x72c8
mov bx, word [0x497b9c]
mov bp, bx
or ebp, edi
mov bx, bp
mov word [0x497b9c], bx
mov bx, word [0x49a5b0]
mov di, bx
imul edi, edi, 0xe80c011e
mov bx, di
mov word [0x49a5b0], bx
mov edi, dword [0x48f2e0]
mov bx, word [0x49c15e]
mov bp, bx
imul edi, ebp
imul edi, edi, 0xeaaaa74b
mov bx, di
mov word [0x49c15e], bx
mov edi, dword [esp + 0x28]
mov dword [ecx + 0x2020], edi
mov ecx, dword [0x48cc78]
mov bx, word [0x49a078]
movsx edi, bx
add edi, 0x87156e5a
xor ecx, edi
cmp esi, ecx
mov dword [esp + 0x14], edx
jne 0x42aa0a
mov eax, dword [0x48bc00]
imul eax, eax, 0x6dc81949
add eax, 0x29d5a63c
mov ecx, dword [0x492f64]
shl ecx, 8
add ecx, 0x764c613c
cmp eax, ecx
jne 0x42a9f6
mov ax, word [0x49b50a]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x49b50a], dx
movsx ecx, ax
imul ecx, ecx, 0xb3ce3a12
mov esi, dword [0x493750]
or esi, ecx
mov dword [0x493750], esi
jmp 0x42aa05
mov eax, dword [0x495e58]
or eax, 0xba7047bd
mov dword [0x495e58], eax
jmp 0x42aa0a
jmp 0x42aa0f
mov eax, dword [0x491e18]
mov ecx, dword [0x48ab98]
inc ecx
mov dword [0x48ab98], ecx
imul eax, ecx
mov ecx, dword [0x495af8]
xor ecx, eax
mov dword [0x495af8], ecx
call fcn.00437ac0
mov dword [esp + 0x1c], eax
mov dword [0x48dbb8], 0xfb75e4fe
cmp dword [esp + 0x1c], 0
setne al
xor al, 0xff
test al, 1
jne 0x42aa0f
mov eax, 0x638c6c3c
mov ecx, dword [0x48bb00]
or ecx, 0x5768
mov dx, word [0x4973ba]
mov si, dx
imul esi, ecx
mov dx, si
mov word [0x4973ba], dx
mov dword [esp + 0x10], eax
call fcn.00437ac0
mov dword [esp + 0x20], eax
mov eax, dword [0x495f20]
xor eax, 0x7acb78de
mov ecx, dword [esp + 0x10]
cmp ecx, eax
jl 0x42ab0e
mov eax, 0x1ecddfb9
mov ecx, dword [0x48e244]
cmp eax, ecx
jle 0x42aaf1
mov ax, word [0x498fac]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x498fac], ax
movsx ecx, ax
or ecx, 0xef59b328
mov edx, dword [0x48c1e0]
shl edx, 7
cmp ecx, edx
je 0x42aae7
jmp 0x42aaec
jmp 0x42aaec
jmp 0x42ab09
mov ax, word [0x499d60]
mov cx, ax
and ecx, 0xf3cc
mov ax, cx
mov word [0x499d60], ax
jmp 0x42ab0e
mov al, byte [esp + 0x2f]
mov byte [esp + 0x20], al
mov ecx, dword [0x493d68]
mov edx, ecx
dec edx
mov dword [0x493d68], edx
xor ecx, 0x8b2e68fe
mov edx, dword [0x495154]
and edx, ecx
mov dword [0x495154], edx
mov ecx, dword [esp + 0x1c]
mov edx, esp
mov dword [edx], ecx
call fcn.00440c40
mov ecx, dword [esp + 0x20]
xor ecx, eax
mov dword [esp + 0x20], ecx
mov eax, dword [0x496964]
xor eax, 0x3002e31a
mov dword [0x496964], eax
mov eax, dword [0x48a908]
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 dword [0x48c53c], 0x5f1678fa
cmp dword [esp + 0x18], 8
je 0x42abe6
mov eax, dword [0x490fb0]
mov ecx, dword [0x496dc4]
xor ecx, eax
mov dword [0x496dc4], ecx
mov ecx, dword [esp + 0x14]
call fcn.0043ec60
mov eax, dword [0x48cbcc]
xor eax, 0x4158ce58
mov ecx, dword [0x490dfc]
or ecx, eax
mov dword [0x490dfc], ecx
mov dword [esp + 0x30], 0xffffffff
jmp 0x42ad11
mov eax, 0x97edc7de
mov ecx, dword [0x495c00]
shl ecx, 2
cmp eax, ecx
jge 0x42ac0b
mov eax, dword [0x49232c]
add eax, 0x3ed20334
mov dword [0x48d898], eax
mov al, byte [esp + 0x2f]
movzx ecx, al
mov edx, esp
mov dword [edx], ecx
mov ecx, dword [esp + 0x14]
call fcn.00411150
sub esp, 4
test al, 1
jne 0x42ac6a
mov eax, dword [0x49670c]
sar eax, 8
add eax, 0x1f129598
mov ecx, dword [0x496da8]
sub ecx, eax
mov dword [0x496da8], ecx
mov ecx, dword [esp + 0x14]
call fcn.0043ec60
mov eax, dword [0x496be8]
and eax, 0xc25daac9
mov dword [0x496be8], eax
mov dword [esp + 0x30], 0xfffffffe
jmp 0x42ad11
mov eax, dword [0x48c064]
sar eax, 3
mov ecx, 0xe2007ab0
sub ecx, eax
mov eax, dword [0x492b34]
and eax, ecx
mov dword [0x492b34], eax
mov eax, dword [esp + 0x14]
mov dword [eax], 0
mov ecx, dword [0x492d00]
and ecx, 0x54058622
mov dword [0x492d00], ecx
mov ecx, dword [esp + 0x1c]
mov dword [eax + 4], ecx
mov ecx, dword [0x49409c]
or ecx, 0xa51dd4ef
mov dword [0x49409c], ecx
mov dword [eax + 0x100c], 0
mov ecx, dword [0x494698]
not ecx
or ecx, 0xfe7ffe31
mov edx, dword [0x4914b8]
and edx, ecx
mov dword [0x4914b8], edx
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 [0x4917c0]
or eax, 0x52f5fe54
mov dword [0x4917c0], eax
mov dword [esp + 0x30], 1
mov eax, dword [esp + 0x30]
add esp, 0x34
pop esi
pop edi
pop ebx
pop ebp
ret 8