Function at 0x41a1f0
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, 0xd0a45b72
mov byte [esp + 0x2f], al
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], ecx
mov edx, dword [0x493088]
add edx, 0xbb6eb3fb
mov dword [0x493088], edx
mov edx, dword [0x4941a8]
dec edx
mov dword [0x4941a8], edx
imul edx, edx, 0x61686fef
and edx, 0xb86c62f0
mov edi, dword [0x496da4]
or edi, edx
mov dword [0x496da4], edi
mov bx, word [0x49942e]
movsx edx, bx
sub edx, 0xccebd0d0
cmp esi, edx
mov dword [esp + 0x14], ecx
jge 0x41a2b4
mov eax, 0x2fb9e3af
mov cx, word [0x499516]
mov dx, cx
inc edx
mov cx, dx
mov word [0x499516], cx
movsx edx, cx
mov esi, dword [0x495cd8]
or edx, esi
cmp eax, edx
je 0x41a2af
mov ax, word [0x498516]
movsx ecx, ax
add ecx, 0xabf4066d
mov edx, dword [0x493dd4]
and ecx, edx
mov dword [0x4958d0], ecx
jmp 0x41a2b4
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x2020], eax
mov eax, dword [0x495df4]
imul eax, eax, 0x33bb5365
mov edx, dword [0x493ee8]
mov esi, edx
inc esi
mov dword [0x493ee8], esi
sub eax, edx
mov dword [0x493564], eax
mov eax, dword [0x4938dc]
mov ecx, eax
inc ecx
mov dword [0x4938dc], ecx
xor eax, 0x1143
mov dx, word [0x498034]
mov cx, dx
and ecx, eax
mov dx, cx
mov word [0x498034], dx
call fcn.00418480
mov dword [esp + 0x1c], eax
mov dx, word [0x499664]
movsx eax, dx
add eax, 0xc071bd1c
mov ecx, dword [0x4925cc]
and ecx, eax
mov dword [0x4925cc], ecx
cmp dword [esp + 0x1c], 0
setne al
xor al, 0xff
test al, 1
jne 0x41a2e3
mov eax, dword [0x492ebc]
and eax, 0x50900000
mov dword [0x492ebc], eax
call fcn.00418480
mov dword [esp + 0x20], eax
mov cx, word [0x499a98]
mov ax, cx
add eax, 0x8f3dc068
mov cx, ax
mov word [0x499a98], cx
mov dl, byte [esp + 0x2f]
mov byte [esp + 0x20], dl
mov eax, dword [0x495f10]
shl eax, 9
xor eax, 0x2440
mov cx, word [0x49861a]
mov si, cx
add esi, eax
mov cx, si
mov word [0x49861a], cx
mov eax, dword [esp + 0x1c]
mov esi, esp
mov dword [esi], eax
call fcn.00417c20
mov esi, dword [esp + 0x20]
xor esi, eax
mov dword [esp + 0x20], esi
mov eax, dword [0x492788]
xor eax, 0xd9770c05
mov dword [0x492788], eax
mov eax, dword [0x491b08]
mov esi, dword [esp + 0x14]
mov edi, dword [esi + 0x2020]
mov ebx, esp
lea ebp, [esp + 0x1c]
mov dword [ebx + 4], ebp
mov dword [ebx], edi
mov dword [ebx + 0xc], 0
mov dword [ebx + 8], 8
call eax
sub esp, 0x10
mov dword [esp + 0x18], eax
mov eax, dword [0x4944d0]
xor eax, 0x7d5a7c71
mov dword [0x4944d0], eax
cmp dword [esp + 0x18], 8
je 0x41a4dc
mov eax, 0x1aedf139
mov cx, word [0x498646]
mov dx, cx
inc edx
mov cx, dx
mov word [0x498646], cx
movsx edx, cx
add edx, 0xa2ad8858
xor edx, 0x99bc627a
mov esi, dword [0x4932c0]
sub esi, edx
mov dword [0x4932c0], esi
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x10], eax
call fcn.00408a10
mov eax, dword [0x491d44]
imul eax, eax, 0x6c858b08
mov ecx, dword [esp + 0x10]
cmp ecx, eax
jle 0x41a47a
mov word [0x497ee6], 0x3440
jmp 0x41a4cf
mov eax, 0x18ca6a88
mov ecx, dword [0x496874]
mov edx, dword [0x492204]
imul edx, edx, 0xec3fc9ee
xor ecx, edx
cmp eax, ecx
jne 0x41a4ca
mov eax, 0x5b4c6430
mov ecx, dword [0x495264]
add ecx, 0x91d6382
mov dx, word [0x497a50]
movsx esi, dx
sub ecx, esi
cmp eax, ecx
jl 0x41a4c5
jmp 0x41a4c5
jmp 0x41a4ca
jmp 0x41a4cf
mov dword [esp + 0x30], 0xffffffff
jmp 0x41a6c6
mov eax, dword [0x4960e8]
mov ecx, eax
inc ecx
mov dword [0x4960e8], ecx
mov ecx, 0x336d51c6
sub ecx, eax
xor ecx, 0x2c31548f
mov eax, dword [0x495420]
imul eax, ecx
mov dword [0x495420], eax
mov dl, byte [esp + 0x2f]
movzx eax, dl
mov ecx, esp
mov dword [ecx], eax
mov ecx, dword [esp + 0x14]
call fcn.00425fe0
sub esp, 4
test al, 1
jne 0x41a577
mov eax, dword [0x4959f4]
mov ecx, eax
inc ecx
mov dword [0x4959f4], ecx
mov dx, word [0x4975f8]
mov cx, dx
add ecx, eax
mov dx, cx
mov word [0x4975f8], dx
mov ecx, dword [esp + 0x14]
call fcn.00408a10
mov dx, word [0x497466]
mov ax, dx
imul eax, eax, 0x7fcddb6f
mov dx, ax
mov word [0x497466], dx
mov dword [esp + 0x30], 0xfffffffe
jmp 0x41a6c6
mov ax, word [0x4979a8]
movsx ecx, ax
sar ecx, 4
imul ecx, ecx, 0x8ba0a135
and ecx, 0x79e7ea21
cmp ecx, 0x6c61774f
je 0x41a5e3
mov eax, 0x5c18e961
mov ecx, dword [0x495c44]
and ecx, 0x151d0f0e
cmp eax, ecx
jne 0x41a5de
mov eax, 0xf03b82ff
mov ecx, dword [0x493340]
mov edx, dword [0x494df8]
sub ecx, edx
cmp eax, ecx
jle 0x41a5d4
jmp 0x41a5d9
jmp 0x41a5d9
jmp 0x41a5de
jmp 0x41a5f2
mov eax, dword [0x495238]
add eax, 0x7fa289d3
mov dword [0x495238], eax
mov eax, dword [esp + 0x14]
mov dword [eax], 0
mov word [0x498914], 0x2d8b
mov ecx, dword [esp + 0x1c]
mov dword [eax + 4], ecx
mov ecx, dword [0x4956ec]
add ecx, 0x58ece542
mov dword [0x4956ec], ecx
mov dword [eax + 0x100c], 0
mov ecx, dword [0x493b98]
add ecx, 0x8615719c
mov dword [0x493b98], ecx
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 [0x491ef4]
inc eax
mov dword [0x491ef4], eax
xor eax, 0xa1ce157b
xor eax, 0x70f26c1d
cmp eax, 0x2cb368a7
jge 0x41a683
mov dword [0x493f8c], 0x695abfcb
jmp 0x41a6be
mov eax, dword [0x492d58]
inc eax
mov dword [0x492d58], eax
xor eax, 0x27e24410
mov ecx, dword [0x493c9c]
mov edx, ecx
inc edx
mov dword [0x493c9c], edx
and ecx, 0xf46c20fc
cmp eax, ecx
je 0x41a6b9
mov word [0x499a6c], 0xd069
jmp 0x41a6be
mov dword [esp + 0x30], 1
mov eax, dword [esp + 0x30]
add esp, 0x34
pop esi
pop edi
pop ebx
pop ebp
ret 8