Function at 0x424980
Capabilities:
Encode data using xor

Disassembly:
push ebx
push edi
push esi
sub esp, 0x30
mov al, byte [esp + 0x44]
mov edx, dword [esp + 0x40]
mov esi, 0x2409b875
mov byte [esp + 0x2b], al
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], ecx
mov edx, ecx
mov edi, dword [0x48a574]
add edi, 0xe839bd3d
mov dword [0x48a574], edi
mov edi, dword [0x4851cc]
add edi, 0xe58eab02
mov dword [0x4851cc], edi
mov edi, dword [0x4897f0]
or edi, 0x6a54a20a
and edi, 0x6bffeacf
mov dword [0x489130], edi
mov edi, dword [esp + 0x24]
mov dword [ecx + 0x2020], edi
mov bx, word [0x482902]
movsx ecx, bx
mov edi, dword [0x48afbc]
and ecx, edi
or ecx, 0xdf3ffe60
cmp esi, ecx
mov dword [esp + 0x10], edx
jne 0x424a55
mov eax, 0xb0ddefa7
mov ecx, dword [0x48ae00]
cmp eax, ecx
je 0x424a40
mov eax, dword [0x487d04]
add eax, 0xd40da364
xor eax, 0x8757df08
mov ecx, dword [0x48cf64]
add ecx, eax
mov dword [0x48cf64], ecx
jmp 0x424a50
mov eax, dword [0x489110]
imul eax, eax, 0xb0d5119
mov dword [0x489110], eax
jmp 0x424a5f
mov dword [0x4868b8], 0xc0bce285
jmp 0x424a64
mov eax, dword [0x485100]
inc eax
mov dword [0x485100], eax
imul eax, eax, 0x3cf67ee6
and eax, 0xd1937c4c
mov ecx, dword [0x4868b0]
sub ecx, eax
mov dword [0x4868b0], ecx
call fcn.00406b20
mov dword [esp + 0x18], eax
mov eax, dword [0x48e544]
imul eax, eax, 0x4cc91a4
mov dword [0x48e544], eax
cmp dword [esp + 0x18], 0
setne al
xor al, 0xff
test al, 1
jne 0x424a64
mov ax, word [0x4840f8]
mov cx, ax
add ecx, 0x87312016
mov ax, cx
mov word [0x4840f8], ax
call fcn.00406b20
mov dword [esp + 0x1c], eax
mov eax, dword [0x48a1d4]
mov ecx, dword [0x484f78]
xor ecx, 0x8b733917
or eax, ecx
cmp eax, 0xf656c1ac
jne 0x424b1d
mov eax, 0xf8adeba9
mov ecx, dword [0x4883d8]
mov edx, ecx
inc edx
mov dword [0x4883d8], edx
cmp eax, ecx
jne 0x424b18
mov dword [0x48da64], 0x1b84be91
jmp 0x424b1d
mov al, byte [esp + 0x2b]
mov byte [esp + 0x1c], al
mov cx, word [0x482220]
mov dx, cx
add edx, 0x6c55f2bf
mov cx, dx
mov word [0x482220], cx
mov edx, dword [esp + 0x18]
mov esi, esp
mov dword [esi], edx
call fcn.00416070
mov edx, dword [esp + 0x1c]
xor edx, eax
mov dword [esp + 0x1c], edx
mov eax, dword [0x48a550]
mov edx, dword [0x4862f4]
imul eax, edx
shl eax, 9
mov dword [0x4862f4], eax
mov eax, dword [0x47f7c8]
mov edx, dword [esp + 0x10]
mov esi, dword [edx + 0x2020]
mov edi, esp
lea ebx, [esp + 0x18]
mov dword [edi + 4], ebx
mov dword [edi], esi
mov dword [edi + 0xc], 0
mov dword [edi + 8], 8
call eax
sub esp, 0x10
mov dword [esp + 0x14], eax
mov eax, dword [0x48ba64]
mov edx, eax
inc edx
mov dword [0x48ba64], edx
mov edx, dword [0x48cf68]
lea eax, [edx + eax + 1]
mov dword [0x48cf68], eax
cmp dword [esp + 0x14], 8
je 0x424c1d
mov ax, word [0x484218]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x484218], ax
movsx ecx, ax
add ecx, 0xf0a438ba
xor ecx, 0x8fac2921
mov edx, dword [0x48c5c4]
or edx, ecx
mov dword [0x48c5c4], edx
mov ecx, dword [esp + 0x10]
call fcn.00433ba0
mov ecx, dword [0x4892b0]
add ecx, 0x43d8585d
mov dword [0x4892b0], ecx
mov dword [esp + 0x2c], 0xffffffff
jmp 0x424d47
mov eax, dword [0x48d8a0]
shl eax, 8
add eax, 0xe35781bc
mov ecx, dword [0x4867f8]
sub ecx, eax
mov dword [0x4867f8], ecx
mov dl, byte [esp + 0x2b]
movzx eax, dl
mov ecx, esp
mov dword [ecx], eax
mov ecx, dword [esp + 0x10]
call fcn.00426cb0
sub esp, 4
test al, 1
jne 0x424ca3
mov ax, word [0x481e4c]
movsx ecx, ax
xor ecx, 0x20012038
or ecx, 0xdffedf43
mov edx, dword [0x48bf14]
imul edx, ecx
mov dword [0x48bf14], edx
mov ecx, dword [esp + 0x10]
call fcn.00433ba0
mov ecx, dword [0x48ad14]
add ecx, 0xdfdfbf7f
mov dword [0x48ad14], ecx
mov dword [esp + 0x2c], 0xfffffffe
jmp 0x424d47
mov eax, dword [0x486a3c]
add eax, 0x9115bf0d
mov dword [0x486a3c], eax
mov eax, dword [esp + 0x10]
mov dword [eax], 0
mov ecx, dword [0x48d2a8]
mov edx, ecx
dec edx
mov dword [0x48d2a8], edx
mov edx, 0xa9934794
sub edx, ecx
mov ecx, dword [0x48bfb4]
add ecx, edx
mov dword [0x48bfb4], ecx
mov ecx, dword [esp + 0x18]
mov dword [eax + 4], ecx
mov si, word [0x483a08]
mov cx, si
and ecx, 0x2f2d
mov si, cx
mov word [0x483a08], si
mov dword [eax + 0x100c], 0
mov dword [0x487c00], 0x83b31687
mov ecx, dword [eax + 0x201c]
mov edx, dword [esp + 0x18]
mov edi, esp
mov dword [edi], edx
call ecx
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x1010], eax
mov eax, dword [0x489920]
imul eax, eax, 0xd3a16da7
mov dword [0x489920], eax
mov dword [esp + 0x2c], 1
mov eax, dword [esp + 0x2c]
add esp, 0x30
pop esi
pop edi
pop ebx
ret 8