Function at 0x4111a0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x30
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
mov dword [esp], ecx
add ecx, eax
mov dword [esp + 4], edx
push ebx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x6c]
add edx, ecx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x50]
push ebp
mov ebp, dword [esp + 0x3c]
push esi
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x1c], edx
add edx, eax
mov dword [esp + 0x20], esi
add esi, ecx
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x6c]
mov dword [esp + 0x2c], edx
add edx, eax
mov eax, dword [ebp + 4]
mov dword [esp + 0x30], esi
add esi, ecx
cmp ebx, eax
push edi
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], esi
ja 0x41121a
mov ecx, dword [ebp + ebx*4 + 8]
test ecx, ecx
jne 0x411224
mov dword [esp + 0x4c], 0
jmp 0x41122a
mov ecx, dword [ecx]
mov dword [esp + 0x4c], ecx
cmp ebx, eax
ja 0x411236
mov eax, dword [ebp + ebx*4 + 8]
test eax, eax
jne 0x41123a
xor eax, eax
jmp 0x41123d
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x4c]
push eax
push edx
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.00417790
add esp, 0x14
test eax, eax
je 0x4114a6
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
sub ecx, edi
sub eax, esi
test ecx, ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x5c], eax
je 0x4114a6
test eax, eax
je 0x4114a6
mov eax, dword [esp + 0x54]
mov edx, dword [eax + 4]
mov esi, dword [esp + 0x58]
cmp esi, edx
jbe 0x4112a1
xor esi, esi
jmp 0x4112b5
mov eax, dword [eax + esi*4 + 8]
mov edx, dword [esp + 0x24]
mov eax, dword [eax + edx*4 + 0x14]
mov edx, dword [esp + 0x20]
lea esi, [eax + edx*4 + 8]
mov edi, dword [esp + 0x64]
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x68]
cmp edx, eax
mov dword [esp + 0x50], esi
jbe 0x4112cc
xor edi, edi
jmp 0x4112e0
mov eax, dword [edi + edx*4 + 8]
mov edi, dword [esp + 0x34]
mov eax, dword [eax + edi*4 + 0x14]
mov edi, dword [esp + 0x30]
lea edi, [eax + edi*4 + 8]
cmp ebx, dword [ebp + 4]
mov dword [esp + 0x74], edi
jbe 0x4112ed
xor ebx, ebx
jmp 0x411301
mov eax, dword [ebp + ebx*4 + 8]
mov ebx, dword [esp + 0x14]
mov eax, dword [eax + ebx*4 + 0x14]
mov ebx, dword [esp + 0x10]
lea ebx, [eax + ebx*4 + 8]
mov ebp, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
cmp eax, dword [ebp + 4]
mov dword [esp + 0x78], ebx
ja 0x41131a
mov eax, dword [ebp + eax*4 + 8]
test eax, eax
jne 0x41131e
xor eax, eax
jmp 0x411320
mov eax, dword [eax]
lea eax, [eax*4 + 8]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x64]
cmp edx, dword [eax + 4]
ja 0x41133c
mov eax, dword [eax + edx*4 + 8]
test eax, eax
jne 0x411340
xor eax, eax
jmp 0x411342
mov eax, dword [eax]
lea edx, [eax*4 + 8]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x64], edx
lea edx, [eax*4 + 8]
mov eax, dword [0x13b5300]
test eax, eax
mov dword [esp + 0x4c], edx
je 0x4113ad
mov ebp, dword [esp + 0x5c]
test ebp, ebp
jle 0x4114a6
jmp 0x411377
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x7c]
push eax
push edx
push ecx
push edi
push esi
push ebx
call fcn.00439580
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x64]
add esp, 0x18
add esi, eax
add edi, edx
add ebx, ecx
dec ebp
jne 0x411373
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov eax, dword [esp + 0x5c]
test eax, eax
jle 0x4114a6
mov ebp, dword [esp + 0x7c]
mov dword [esp + 0x5c], eax
test ecx, ecx
jle 0x411479
mov dword [esp + 0x54], ecx
mov eax, dword [esi]
mov edx, dword [edi]
mov ecx, eax
and eax, 0xff00ff
imul eax, ebp
shr ecx, 8
and ecx, 0xff00ff
imul ecx, ebp
mov ebp, dword [esp + 0x80]
shr eax, 8
and eax, 0xff00ff
and ecx, 0xff00ff00
or ecx, eax
mov eax, edx
and edx, 0xff00ff
imul edx, ebp
shr eax, 8
and eax, 0xff00ff
imul eax, ebp
shr edx, 8
and edx, 0xff00ff
and eax, 0xff00ff00
or eax, edx
mov edx, eax
xor edx, ecx
shr edx, 1
mov ebp, eax
and edx, 0x7f7f7f7f
and ebp, ecx
add edx, ebp
and edx, 0x80808080
mov ebp, edx
shr ebp, 7
add edx, edx
sub edx, ebp
mov ebp, dword [esp + 0x7c]
sub eax, edx
add eax, ecx
or eax, edx
mov dword [ebx], eax
mov eax, dword [esp + 0x54]
add esi, 4
add edi, 4
add ebx, 4
dec eax
mov dword [esp + 0x54], eax
jne 0x4113cd
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x64]
add esi, edx
mov edx, dword [esp + 0x4c]
add edi, eax
mov eax, dword [esp + 0x5c]
add ebx, edx
dec eax
mov dword [esp + 0x50], esi
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], ebx
mov dword [esp + 0x5c], eax
jne 0x4113c1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret