Function at 0x52b610
Capabilities:
Encode data using xor

Disassembly:
push ecx
call ebx
add esp, 0xc
xor eax, eax
lea edx, [eax + 1]
imul edx, edx, 0x5c2e
xor dx, word [eax*2 + 0x5de644]
inc eax
mov word [ebp + eax*2 - 0x20a], dx
cmp eax, 2
jl 0x445fd0
push edi
lea eax, [ebp - 0x208]
push eax
lea ecx, [ebp - 0x108]
jmp 0x50c646
push edx
lea eax, [ebp - 0x208]
push eax
lea ecx, [ebp - 0x108]
push ecx
call dword [sym.imp.msvcrt.dll_sscanf]
add esp, 0xc
xor eax, eax
lea esp, [esp]
lea edx, [eax + 1]
imul edx, edx, 0x777d
xor dx, word [eax*2 + 0x5de67c]
inc eax
mov word [ebp + eax*2 - 0x20a], dx
cmp eax, 9
jl 0x47b0d8
lea eax, [ebp - 0x208]
push eax
lea ecx, [ebp - 0x108]
push ecx
call dword [sym.imp.msvcrt.dll_strstr]
add esp, 8
test eax, eax
je 0x56f79d
jmp dword [0x47b120]
call dword [sym.imp.msvcrt.dll_strstr]
add esp, 8
test eax, eax
je 0x5ab463
push esi
lea ecx, [ebp - 0x108]
push 0x100
push ecx
call ebx
add esp, 0xc
xor eax, eax
mov edi, edi
lea edx, [eax + 1]
imul edx, edx, 0x39ca
xor dx, word [eax*2 + 0x5de6b8]
inc eax
mov word [ebp + eax*2 - 0x20a], dx
cmp eax, 2
jl 0x49b8b5
jmp 0x5ab448
push edx
call ebx
add esp, 0xc
xor eax, eax
mov edi, edi
lea ecx, [eax + 1]
imul ecx, ecx, 0x1da0
xor cx, word [eax*2 + 0x5de674]
inc eax
mov word [ebp + eax*2 - 0x20a], cx
cmp eax, 2
jl 0x4a1eca
lea edx, [edi + 8]
jmp 0x47b0ba
push ecx
call dword [sym.imp.msvcrt.dll_sscanf]
add esp, 0xc
xor eax, eax
lea esp, [esp]
lea edx, [eax + 1]
imul edx, edx, 0xb19
xor dx, word [eax*2 + 0x5de64c]
inc eax
mov word [ebp + eax*2 - 0x20a], dx
cmp eax, 6
jl 0x50c659
lea eax, [ebp - 0x208]
push eax
lea ecx, [ebp - 0x108]
push ecx
call dword [sym.imp.msvcrt.dll_strstr]
add esp, 8
test eax, eax
je 0x58e77f
push esi
lea edx, [ebp - 0x108]
jmp 0x58e732
test eax, eax
je 0x5ab47d
jmp 0x524afd
xor eax, eax
lea ecx, [eax + 1]
imul ecx, ecx, 0x10d3
xor cx, word [eax*2 + 0x5de628]
inc eax
mov word [ebp + eax*2 - 0x20a], cx
cmp eax, 0xc
jl 0x524aff
lea edx, [ebp - 0x208]
push edx
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.msvcrt.dll_strstr]
add esp, 8
test eax, eax
je 0x50c650
push esi
lea ecx, [ebp - 0x108]
push 0x100
jmp 0x445fc8
push ebp
mov ebp, esp
sub esp, 0x308
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
xor eax, eax
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], eax
jmp 0x593fb6
xor eax, eax
lea esp, [esp]
lea ecx, [eax + 1]
imul ecx, ecx, 0x6247
xor cx, word [eax*2 + 0x5de698]
inc eax
mov word [ebp + eax*2 - 0x20a], cx
cmp eax, 0xe
jl 0x56f7a3
lea edx, [ebp - 0x208]
push edx
lea eax, [ebp - 0x108]
push eax
jmp 0x49b88e
xor dx, word [eax*2 + 0x5de664]
inc eax
mov word [ebp + eax*2 - 0x20a], dx
cmp eax, 7
jl 0x58e785
lea eax, [ebp - 0x208]
push eax
lea ecx, [ebp - 0x108]
push ecx
call dword [sym.imp.msvcrt.dll_strstr]
add esp, 8
test eax, eax
je 0x47b0d2
push esi
lea edx, [ebp - 0x108]
push 0x100
jmp 0x4a1ec0
push 0x100
push edx
call ebx
add esp, 0xc
xor eax, eax
mov edi, edi
lea ecx, [eax + 1]
imul ecx, ecx, 0x4350
xor cx, word [eax*2 + 0x5de65c]
inc eax
mov word [ebp + eax*2 - 0x20a], cx
cmp eax, 2
jl 0x58e741
lea edx, [edi + 4]
push edx
lea eax, [ebp - 0x208]
push eax
lea ecx, [ebp - 0x108]
push ecx
call dword [sym.imp.msvcrt.dll_sscanf]
add esp, 0xc
xor eax, eax
lea esp, [esp]
lea edx, [eax + 1]
imul edx, edx, 0x23f4
jmp 0x57ae2c
push ebx
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], eax
push esi
lea edx, [ebp - 0x308]
mov dword [edi + 0x18], eax
push edx
mov eax, 0x72
push ecx
mov dword [edi + 0xc], 0xbb8
mov word [ebp - 0x308], ax
call dword [sym.imp.msvcrt.dll_fopen]
mov esi, eax
add esp, 8
test esi, esi
je 0x5ab487
mov ebx, dword [sym.imp.msvcrt.dll_fgets]
push esi
lea eax, [ebp - 0x108]
push 0x100
push eax
call ebx
add esp, 0xc
jmp 0x524af0
lea eax, [edi + 0x14]
push eax
lea ecx, [ebp - 0x208]
push ecx
lea edx, [ebp - 0x108]
push edx
call dword [sym.imp.msvcrt.dll_sscanf]
add esp, 0xc
push esi
lea eax, [ebp - 0x108]
push 0x100
push eax
call ebx
add esp, 0xc
test eax, eax
jne 0x524afd
push esi
call dword [sym.imp.msvcrt.dll_fclose]
add esp, 4
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.004027f4
mov esp, ebp
pop ebp
ret