Function at 0x4416f0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x6c
mov dword [ebp - 0x40], 0
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
movzx eax, byte [0x48b400]
test al, al
jne 0x44173d
mov dword [esp], 0x48b400
call fcn.00418ae0
test eax, eax
jne 0x441940
mov eax, dword [esi]
mov edx, dword [esi + 4]
lea ecx, [ebp - 0x40]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x48c860
mov dword [esp + 8], ecx
add edx, eax
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0046cfa0
test al, al
mov edx, dword [ebp - 0x40]
je 0x441793
mov ecx, dword [ebp - 0x3c]
mov eax, ecx
sub eax, edx
sar eax, 2
imul eax, eax, 0xaaaaaaab
sub eax, 3
cmp edx, ecx
je 0x441804
cmp eax, 1
jbe 0x441804
lea eax, [edx + 0xc]
cmp byte [eax + 8], 0
jne 0x441810
lea esi, [ebp - 0x28]
lea eax, [ebp - 0x30]
mov dword [ebp - 0x2c], 0
mov byte [ebp - 0x28], 0
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x4c], eax
test edx, edx
je 0x4417b6
mov dword [esp], edx
call fcn.00418b30
mov eax, dword [ebp - 0x4c]
mov ecx, edi
add edi, 4
mov dword [esp], eax
call fcn.0045c220
sub esp, 4
cmp eax, edi
je 0x441840
lea edx, [ebx + 8]
mov dword [ebx], edx
mov edx, dword [eax + 0x28]
mov ecx, dword [eax + 0x2c]
mov dword [esp], edx
add ecx, edx
mov dword [esp + 4], ecx
mov ecx, ebx
call fcn.00402410
sub esp, 8
mov eax, dword [ebp - 0x30]
cmp eax, esi
je 0x4417fa
mov dword [esp], eax
call fcn.00418b30
lea esp, [ebp - 0xc]
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
lea eax, [eax + eax*2]
lea eax, [edx + eax*4]
cmp byte [eax + 8], 0
je 0x441793
mov edx, dword [eax]
lea esi, [ebp - 0x30]
mov eax, dword [eax + 4]
mov ecx, esi
mov dword [ebp - 0x4c], esi
lea esi, [ebp - 0x28]
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [ebp - 0x30], esi
call fcn.004024a0
sub esp, 8
mov edx, dword [ebp - 0x40]
jmp 0x4417aa
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x30]
test ecx, ecx
je 0x441c80
add ecx, edx
xor eax, eax
mov edi, eax
add edx, 1
shl edi, 5
add eax, edi
movzx edi, byte [edx - 1]
and eax, 0x3ffffff
xor eax, edi
cmp edx, ecx
jne 0x441852
cmp eax, 0x1e692
je 0x441c5b
jbe 0x4418d1
cmp eax, 0x3af938
je 0x441d50
jbe 0x4419c0
cmp eax, 0x409771
je 0x441d3d
ja 0x441a50
cmp eax, 0x3e2ddd
je 0x441b4a
ja 0x441b5d
cmp eax, 0x3dad1f
je 0x441cf1
cmp eax, 0x3daddb
jne 0x441c80
mov dword [esp], 0x48e800
mov ecx, ebx
call fcn.00402720
jmp 0x441930
cmp eax, 0x1d0f2
je 0x441d2a
jbe 0x441a10
cmp eax, 0x1de2e
je 0x441d17
jbe 0x441ad0
cmp eax, 0x1e147
je 0x441d89
ja 0x441b86
cmp eax, 0x1dee6
je 0x441c35
cmp eax, 0x1e078
jne 0x441c80
mov dword [esp], 0x48e0a6
mov ecx, ebx
call fcn.00402720
nop
lea esi, [esi]
sub esp, 4
jmp 0x4417eb
lea ecx, [ebp - 0x44]
call fcn.00418c88
lea eax, [ebp - 0x44]
mov ecx, 0x48c864
mov dword [0x48c860], 0x10
mov dword [esp], eax
call fcn.00418c90
mov eax, dword [0x48c860]
sub esp, 4
mov dword [esp + 0xc], 0x48c864
mov dword [esp + 8], 0x48e730
mov dword [esp + 4], 0x48e71f
mov dword [esp], 0x48c868
mov dword [esp + 0x10], eax
call fcn.0046b410
lea ecx, [ebp - 0x44]
call fcn.00418c80
mov dword [esp], 0x48b400
call fcn.00418ad8
mov dword [esp], 0x402620
call fcn.004014c0
jmp 0x44173d
cmp eax, 0x20a43
je 0x441cde
jbe 0x441a90
cmp eax, 0x372b57
je 0x441c22
ja 0x441bab
cmp eax, 0x371b38
je 0x441c48
cmp eax, 0x372318
jne 0x441c80
mov dword [esp], 0x48e771
mov ecx, ebx
call fcn.00402720
jmp 0x441930
cmp eax, 0x1a2c6
je 0x441dd5
jbe 0x441b10
cmp eax, 0x1b288
je 0x441de8
ja 0x441bfd
cmp eax, 0x1a6df
jne 0x441c6e
mov dword [esp], 0x48e77c
mov ecx, ebx
call fcn.00402720
jmp 0x441930
cmp eax, 0x40c278
je 0x441daf
ja 0x441bd4
cmp eax, 0x40977d
je 0x441ca5
cmp eax, 0x40a648
jne 0x441c80
mov dword [esp], 0x48e91c
mov ecx, ebx
call fcn.00402720
jmp 0x441930
cmp eax, 0x1f1d9
je 0x441d76
jbe 0x441dfb
cmp eax, 0x1f580
je 0x441d63
cmp eax, 0x1f7f6
jne 0x441c80
mov dword [esp], 0x48e75d
mov ecx, ebx
call fcn.00402720
jmp 0x441930
cmp eax, 0x1d5fd
je 0x441ccb
jbe 0x441e19
cmp eax, 0x1db34
je 0x441cb8
cmp eax, 0x1de29
jne 0x441c80
mov dword [esp], 0x48e7d6
mov ecx, ebx
call fcn.00402720
jmp 0x441930
cmp eax, 0xd3d
je 0x441d04
jbe 0x441e37
cmp eax, 0xdd9
je 0x441cb8
cmp eax, 0x1a2c3
jne 0x441c80
mov dword [esp], 0x48e731
mov ecx, ebx
call fcn.00402720
jmp 0x441930
mov dword [esp], 0x48e7c0
mov ecx, ebx
call fcn.00402720
jmp 0x441930
cmp eax, 0x3ff093
je 0x441d9c
cmp eax, 0x409760
jne 0x441c80
mov dword [esp], 0x48e7a8
mov ecx, ebx
call fcn.00402720
jmp 0x441930
cmp eax, 0x1e25b
je 0x441b4a
cmp eax, 0x1e322
jne 0x441c80
mov dword [esp], 0x48e79a
mov ecx, ebx
call fcn.00402720
jmp 0x441930
cmp eax, 0x37cf7d
je 0x441dc2
cmp eax, 0x3adb38
jne 0x441c80
mov dword [esp], 0x48e889
mov ecx, ebx
call fcn.00402720
jmp 0x441930
cmp eax, 0x43cec5
je 0x441e06
cmp eax, 0x59114a
jne 0x441c80
mov dword [esp], 0x48e83d
mov ecx, ebx
call fcn.00402720
jmp 0x441930
cmp eax, 0x1c97d
je 0x441d50
cmp eax, 0x1cb45
jne 0x441c80
mov dword [esp], 0x48e7b3
mov ecx, ebx
call fcn.00402720
jmp 0x441930
mov dword [esp], 0x48e864
mov ecx, ebx
call fcn.00402720
jmp 0x441930
mov dword [esp], 0x48e82a
mov ecx, ebx
call fcn.00402720
jmp 0x441930
mov dword [esp], 0x48e766
mov ecx, ebx
call fcn.00402720
jmp 0x441930
mov dword [esp], 0x48e89a
mov ecx, ebx
call fcn.00402720
jmp 0x441930
cmp eax, 0x1b0f1
je 0x441dc2
lea esi, [esi]
lea eax, [ebx + 8]
mov ecx, dword [ebp + 0x14]
mov dword [ebx], eax
mov eax, dword [ebp + 0x14]
mov edx, dword [ecx + 4]
mov ecx, ebx
mov eax, dword [eax]
add edx, eax
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00402410
jmp 0x4417e8
mov dword [esp], 0x48e7eb
mov ecx, ebx
call fcn.00402720
jmp 0x441930
mov dword [esp], 0x48e74d
mov ecx, ebx
call fcn.00402720
jmp 0x441930
mov dword [esp], 0x48e821
mov ecx, ebx
call fcn.00402720
jmp 0x441930
mov dword [esp], 0x48e90c
mov ecx, ebx
call fcn.00402720
jmp 0x441930
mov dword [esp], 0x48e7e0
mov ecx, ebx
call fcn.00402720
jmp 0x441930
mov dword [esp], 0x48e8fb
mov ecx, ebx
call fcn.00402720
jmp 0x441930
mov dword [esp], 0x48e7f6
mov ecx, ebx
call fcn.00402720
jmp 0x441930
mov dword [esp], 0x48e879
mov ecx, ebx
call fcn.00402720
jmp 0x441930
mov dword [esp], 0x48e80b
mov ecx, ebx
call fcn.00402720
jmp 0x441930
mov dword [esp], 0x48e7cb
mov ecx, ebx
call fcn.00402720
jmp 0x441930
mov dword [esp], 0x48e816
mov ecx, ebx
call fcn.00402720
jmp 0x441930
mov dword [esp], 0x48e8eb
mov ecx, ebx
call fcn.00402720
jmp 0x441930
mov dword [esp], 0x48e8ae
mov ecx, ebx
call fcn.00402720
jmp 0x441930
mov dword [esp], 0x48e8d6
mov ecx, ebx
call fcn.00402720
jmp 0x441930
mov dword [esp], 0x48e833
mov ecx, ebx
call fcn.00402720
jmp 0x441930
mov dword [esp], 0x48e743
mov ecx, ebx
call fcn.00402720
jmp 0x441930
mov dword [esp], 0x48e73a
mov ecx, ebx
call fcn.00402720
jmp 0x441930
mov dword [esp], 0x48e786
mov ecx, ebx
call fcn.00402720
jmp 0x441930
cmp eax, 0x1f164
jne 0x441c80
mov dword [esp], 0x48e8c0
mov ecx, ebx
call fcn.00402720
jmp 0x441930
cmp eax, 0x1d1b9
jne 0x441c80
mov dword [esp], 0x48e790
mov ecx, ebx
call fcn.00402720
jmp 0x441930
cmp eax, 0x76d
jne 0x441c80
mov dword [esp], 0x48e848
mov ecx, ebx
call fcn.00402720
jmp 0x441930