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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x41f138
sub esp, 0x68
mov ebx, dword [0x4c0ec0]
xor ebp, ebp
cmp ebx, ebp
jne 0x41ed5a
mov dword [esp], 0xafc7c
mov ebx, 0x4d28a0
mov dword [esp + 4], ebx
add dword [esp + 4], 0x90
call fcn.00410200
mov ebx, dword [esp + 8]
cmp byte [0x4d1078], 0
jne 0x41f122
mov dword [0x4c0ec0], ebx
mov ebx, dword [0x4c0ec0]
xor ebp, ebp
cmp ebx, ebp
jne 0x41ed5a
mov ebx, 0x487f15
mov dword [esp], ebx
mov dword [esp + 4], 0x1f
call fcn.004251e0
xor edi, edi
mov ebp, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
xor esi, esi
mov dword [esp + 0x2c], ecx
mov ecx, ebp
mov ebp, dword [esp + 0x2c]
cmp esi, ebp
jge 0x41eda6
mov ebp, dword [ecx]
mov dword [esp + 0x28], ebp
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x1c], ebx
add edi, dword [esp + 0x1c]
mov ebx, edi
shl ebx, 0xa
add ebx, edi
mov edi, ebx
shr ebx, 6
xor ebx, edi
mov edi, ebx
add ecx, 4
inc esi
mov ebp, dword [esp + 0x2c]
cmp esi, ebp
jl 0x41ed78
add edi, dword [esp + 0x70]
mov ebp, edi
shl edi, 0xa
add edi, ebp
mov ebp, edi
shr edi, 6
xor edi, ebp
mov ebp, edi
shl edi, 3
add edi, ebp
mov ebp, edi
shr edi, 0xb
xor edi, ebp
mov eax, 0xba6a1fbd
mul edi
mov ebx, edx
shr ebx, 0x11
imul ebx, ebx, 0x2bf1f
mov ebp, edi
mov dword [esp + 0x24], edi
sub ebp, ebx
mov esi, dword [0x4c0ec0]
cmp esi, 0
je 0x41f11b
mov dword [esp + 0x20], ebp
cmp ebp, 0x2bf1f
jae 0x41f114
shl ebp, 2
add esi, ebp
mov eax, dword [esi]
xor ebp, ebp
cmp eax, ebp
je 0x41eec5
mov ebp, dword [eax + 8]
mov ebx, dword [esp + 0x6c]
cmp ebp, ebx
jne 0x41eeb9
mov ebp, dword [eax + 0xc]
cmp ebp, edi
jne 0x41eeb9
mov ebp, dword [eax + 0x10]
mov ebx, dword [esp + 0x70]
cmp ebp, ebx
jne 0x41eeb9
mov dword [esp + 0x34], eax
xor ebx, ebx
mov ecx, 0x18
mov edx, eax
add edx, ecx
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0x14]
cmp eax, 0x20
ja 0x41f10d
cmp ecx, eax
ja 0x41f10d
cmp edx, 0
je 0x41f106
mov dword [esp + 0x44], edx
mov dword [esp], edx
mov dword [esp + 0x48], ecx
mov dword [esp + 4], ecx
mov dword [esp + 0x4c], eax
mov dword [esp + 8], eax
mov ebx, dword [esp + 0x74]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x78]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x14], ebx
call fcn.0041f150
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x34]
movzx ebx, byte [esp + 0x18]
cmp bl, 0
je 0x41eeb9
mov dword [esp + 0x84], eax
add esp, 0x68
ret
mov eax, dword [eax]
xor ebp, ebp
cmp eax, ebp
jne 0x41ee10
cmp byte [esp + 0x80], 0
jne 0x41eede
mov dword [esp + 0x84], 0
add esp, 0x68
ret
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x6c]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0041eb60
mov edx, dword [esp + 8]
mov dword [esp + 0x30], edx
xor ebx, ebx
mov ecx, 0x18
mov eax, edx
add edx, ecx
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0x14]
cmp eax, 0x20
ja 0x41f0ff
cmp ecx, eax
ja 0x41f0ff
cmp edx, 0
je 0x41f0f8
mov dword [esp + 0x38], edx
mov esi, edx
mov dword [esp + 0x3c], ecx
mov edx, ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x64], eax
mov ebp, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x60], edx
mov eax, edx
mov dword [esp + 0x54], ecx
cmp ecx, edx
jge 0x41ef59
mov eax, ecx
mov dword [esp + 0x5c], esi
mov dword [esp], esi
mov dword [esp + 0x50], ebp
mov dword [esp + 4], ebp
mov ebx, eax
shl ebx, 2
mov dword [esp + 8], ebx
call fcn.0044b0e0
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x24]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x70]
mov dword [ecx + 0x10], eax
mov esi, dword [0x4c0ec0]
cmp esi, 0
je 0x41f0f1
mov ebp, dword [esp + 0x20]
cmp ebp, 0x2bf1f
jae 0x41f0ea
shl ebp, 2
add esi, ebp
mov eax, dword [esi]
cmp byte [0x4d1078], 0
jne 0x41f0d5
mov dword [ecx], eax
mov esi, dword [0x4c0ec0]
cmp esi, 0
je 0x41f0ce
mov ebp, dword [esp + 0x20]
cmp ebp, 0x2bf1f
jae 0x41f0c7
shl ebp, 2
add esi, ebp
cmp byte [0x4d1078], 0
jne 0x41f0b2
mov dword [esi], ecx
mov ebx, dword [esp + 0x6c]
cmp ebx, 1
jne 0x41f05a
mov eax, dword [0x4c0ee4]
cmp ecx, 0
je 0x41f056
cmp byte [0x4d1078], 0
jne 0x41f041
mov dword [ecx + 4], eax
cmp byte [0x4d1078], 0
jne 0x41f02a
mov dword [0x4c0ee4], ecx
mov dword [esp + 0x84], ecx
add esp, 0x68
ret
mov ebp, 0x4c0ee4
mov dword [esp], ebp
mov dword [esp + 4], ecx
call fcn.0040c4e0
mov ecx, dword [esp + 0x30]
jmp 0x41f01f
lea esi, [ecx + 4]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.0040c4e0
mov ecx, dword [esp + 0x30]
jmp 0x41f010
mov dword [ecx], eax
jmp 0x41f004
mov eax, dword [0x4c0ebc]
cmp ecx, 0
je 0x41f0ae
cmp byte [0x4d1078], 0
jne 0x41f099
mov dword [ecx + 4], eax
cmp byte [0x4d1078], 0
jne 0x41f082
mov dword [0x4c0ebc], ecx
jmp 0x41f01f
mov ebp, 0x4c0ebc
mov dword [esp], ebp
mov dword [esp + 4], ecx
call fcn.0040c4e0
mov ecx, dword [esp + 0x30]
jmp 0x41f01f
lea esi, [ecx + 4]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.0040c4e0
mov ecx, dword [esp + 0x30]
jmp 0x41f071
mov dword [ecx], eax
jmp 0x41f065
mov dword [esp], esi
mov dword [esp + 4], ecx
call fcn.0040c4e0
mov ecx, dword [esp + 0x30]
jmp 0x41eff0
call fcn.00423570
ud2
mov dword [esi], eax
jmp 0x41efcc
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0040c4e0
mov ecx, dword [esp + 0x30]
jmp 0x41efbd
call fcn.00423570
ud2
mov dword [esi], eax
jmp 0x41ef97
mov dword [edx], eax
jmp 0x41ef25
call fcn.004235e0
ud2
mov dword [edx], eax
jmp 0x41ee68
call fcn.004235e0
ud2
call fcn.00423570
ud2
mov dword [esi], eax
jmp 0x41edef
mov ebp, 0x4c0ec0
mov dword [esp], ebp
mov dword [esp + 4], ebx
call fcn.0040c4e0
jmp 0x41ed39
call fcn.004489b0
jmp fcn.0041ece0