Function at 0x40ebf1
Capabilities:
Encode data using xor
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
push ebx
push esi
push edi
mov esi, str.UW_EZBK
lea edi, [ebp - 0x30]
xor ebx, ebx
mov dword [ebp - 8], ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cmp byte [0x43d1ab], bl
je 0x40ec2b
push 0x32
mov ecx, ebx
pop ebx
xor edx, edx
mov eax, ecx
div ebx
add dl, bl
xor byte [ebp + ecx - 0x30], dl
inc ecx
cmp ecx, 0xc
jl 0x40ec17
xor ebx, ebx
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ecx, eax
mov dword [ebp - 4], ecx
test ecx, ecx
je 0x40eeec
mov esi, 0x43d1ac
lea edi, [ebp - 0x18]
push 0x32
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov esi, ebx
pop ebx
xor edx, edx
mov eax, esi
div ebx
add dl, bl
xor byte [ebp + esi - 0x18], dl
inc esi
cmp esi, 0xf
jl 0x40ec55
lea eax, [ebp - 0x18]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp byte [0x43d193], 0
lea edi, [ebp - 0x1c]
mov esi, str.uW_EZBKjRNHYQH.A_VXPWD_y_
mov dword [0x444860], eax
push 0
pop ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
je 0x40eca8
push 0x32
mov ecx, ebx
pop ebx
xor edx, edx
mov eax, ecx
div ebx
add dl, bl
xor byte [ebp + ecx - 0x1c], dl
inc ecx
cmp ecx, 0x10
jl 0x40ec94
xor ebx, ebx
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp byte [0x43d279], 0
lea edi, [ebp - 0x20]
push 5
pop ecx
mov esi, str.uW_EeVN_sV_Z_k_
mov dword [0x444864], eax
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
je 0x40eceb
push 0x32
mov ecx, ebx
pop ebx
xor edx, edx
mov eax, ecx
div ebx
add dl, bl
xor byte [ebp + ecx - 0x20], dl
inc ecx
cmp ecx, 0x16
jl 0x40ecd7
xor ebx, ebx
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 6
pop ecx
mov esi, str.uW_EqRLpWZ_XQ.66
mov dword [0x444858], eax
lea edi, [ebp - 0x24]
rep movsd dword es:[edi], dword [esi]
push 0x32
pop ecx
movsb byte es:[edi], byte [esi]
mov esi, ebx
xor edx, edx
mov eax, esi
div ecx
add dl, cl
xor byte [ebp + esi - 0x24], dl
inc esi
cmp esi, 0x19
jl 0x40ed10
lea eax, [ebp - 0x24]
push eax
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 5
pop ecx
mov esi, str.uW_EqRLpWZ_XQ.66F
mov dword [0x444854], eax
lea edi, [ebp - 0x20]
rep movsd dword es:[edi], dword [esi]
push 0x32
mov ecx, ebx
pop ebx
movsb byte es:[edi], byte [esi]
xor edx, edx
mov eax, ecx
div ebx
add dl, bl
xor byte [ebp + ecx - 0x20], dl
inc ecx
cmp ecx, 0x15
jl 0x40ed47
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, str.uW_Eu_WW_rQYZ_
mov dword [0x44486c], eax
lea edi, [ebp - 0x18]
xor ebx, ebx
push 0x32
mov ecx, ebx
movsd dword es:[edi], dword [esi]
pop ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
xor edx, edx
mov eax, ecx
div ebx
add dl, bl
xor byte [ebp + ecx - 0x18], dl
inc ecx
cmp ecx, 0xf
jl 0x40ed80
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp byte [0x43d181], 0
lea edi, [ebp - 0x14]
mov esi, str.uW_Ew_TVY_
mov dword [0x444850], eax
push 0
pop ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
je 0x40edd5
push 0x32
mov ecx, ebx
pop ebx
xor edx, edx
mov eax, ecx
div ebx
add dl, bl
xor byte [ebp + ecx - 0x14], dl
inc ecx
cmp ecx, 0xa
jl 0x40edc1
xor ebx, ebx
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, str.uW_EpE_:
mov dword [0x44484c], eax
lea edi, [ebp - 0x14]
push 0x32
pop ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov esi, ebx
xor edx, edx
mov eax, esi
div ecx
add dl, cl
xor byte [ebp + esi - 0x14], dl
inc esi
cmp esi, 9
jl 0x40edf7
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 6
pop ecx
mov esi, str.uW_EuE_XNTJR_1
mov dword [0x444848], eax
lea edi, [ebp - 0x24]
rep movsd dword es:[edi], dword [esi]
push 0x32
mov ecx, ebx
pop ebx
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
xor edx, edx
mov eax, ecx
div ebx
add dl, bl
xor byte [ebp + ecx - 0x24], dl
inc ecx
cmp ecx, 0x1b
jl 0x40ee30
lea eax, [ebp - 0x24]
push eax
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebx, dword [ebp - 8]
lea edi, [ebp - 0x1c]
mov esi, str.uW_ErKIUHYtS_B
mov dword [0x44485c], eax
push 0x32
pop ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
xor edx, edx
mov eax, ebx
div ecx
add dl, cl
xor byte [ebp + ebx - 0x1c], dl
inc ebx
cmp ebx, 0x11
jl 0x40ee67
mov ebx, dword [ebp - 4]
lea eax, [ebp - 0x1c]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp dword [0x444860], 0
mov dword [0x444868], eax
je 0x40eee5
cmp dword [0x444864], 0
je 0x40eee5
cmp dword [0x444858], 0
je 0x40eee5
cmp dword [0x444854], 0
je 0x40eee5
cmp dword [0x44486c], 0
je 0x40eee5
cmp dword [0x444850], 0
je 0x40eee5
cmp dword [0x44484c], 0
je 0x40eee5
cmp dword [0x444848], 0
je 0x40eee5
cmp dword [0x44485c], 0
je 0x40eee5
test eax, eax
je 0x40eee5
mov al, 1
jmp 0x40eeee
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
xor al, al
pop edi
pop esi
pop ebx
leave
ret