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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc4
push ebx
push esi
push edi
mov esi, str.G_QG
mov dword [ebp - 0x2c], ecx
lea edi, [ebp - 0x3c]
mov dword [ebp - 0x10], edx
push 0x32
pop ecx
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 esi, esi
xor edx, edx
mov eax, esi
div ecx
add dl, cl
xor byte [ebp + esi - 0x3c], dl
inc esi
cmp esi, 0xb
jl 0x40e782
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea eax, [ebp - 0x3c]
push eax
call ebx
cmp byte [0x43d1cd], 0
lea edi, [ebp - 0x6c]
mov esi, 0x43d1c4
mov dword [ebp - 8], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
je 0x40e7d5
push 0x32
xor ecx, ecx
pop ebx
xor edx, edx
mov eax, ecx
div ebx
add dl, bl
xor byte [ebp + ecx - 0x6c], dl
inc ecx
cmp ecx, 0xa
jl 0x40e7bd
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea eax, [ebp - 0x6c]
push eax
call ebx
cmp dword [ebp - 8], 0
mov dword [ebp - 4], eax
je 0x40eb4d
test eax, eax
je 0x40eb4d
mov esi, str.uV_qSDSMUKkTP__6B
lea edi, [ebp - 0x60]
push 0x32
xor ecx, ecx
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]
movsb byte es:[edi], byte [esi]
xor edx, edx
mov eax, ecx
div ebx
add dl, bl
xor byte [ebp + ecx - 0x60], dl
inc ecx
cmp ecx, 0x11
jl 0x40e802
mov ebx, dword [ebp - 8]
lea eax, [ebp - 0x60]
push eax
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
call ebx
test eax, eax
je 0x40eb4d
call eax
mov dword [ebp - 0xc], eax
test eax, eax
je 0x40eb4d
mov ecx, dword [str.uV_qu7]
mov dword [ebp - 0x1c], ecx
mov cx, word [0x43d280]
mov word [ebp - 0x18], cx
test ch, ch
je 0x40e86e
push 0x32
xor ecx, ecx
pop ebx
xor edx, edx
mov eax, ecx
div ebx
add dl, bl
xor byte [ebp + ecx - 0x1c], dl
inc ecx
cmp ecx, 6
jl 0x40e856
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 8]
call ebx
cmp byte [0x43d19d], 0
lea edi, [ebp - 0x78]
mov esi, 0x43d194
mov dword [ebp - 0x48], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
je 0x40e8ac
push 0x32
xor ecx, ecx
pop ebx
xor edx, edx
mov eax, ecx
div ebx
add dl, bl
xor byte [ebp + ecx - 0x78], dl
inc ecx
cmp ecx, 0xa
jl 0x40e894
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea eax, [ebp - 0x78]
push eax
push dword [ebp - 8]
call ebx
mov esi, str.qAQTBRVWK_IW___
mov dword [ebp - 8], eax
lea edi, [ebp - 0xac]
xor ecx, ecx
push 0x32
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]
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 - 0xac], dl
inc ecx
cmp ecx, 0x13
jl 0x40e8cf
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea eax, [ebp - 0xac]
push eax
push dword [ebp - 4]
call ebx
push 5
pop ecx
mov esi, 0x43d138
mov dword [ebp - 0x4c], eax
lea edi, [ebp - 0xc4]
rep movsd dword es:[edi], dword [esi]
push 0x32
xor ecx, ecx
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 - 0xc4], dl
inc ecx
cmp ecx, 0x17
jl 0x40e911
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea eax, [ebp - 0xc4]
push eax
push dword [ebp - 4]
call ebx
mov esi, str.aVXPUCw_P_I_
mov dword [ebp - 0x20], eax
lea edi, [ebp - 0x88]
xor ecx, ecx
push 0x32
pop ebx
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, ecx
div ebx
add dl, bl
xor byte [ebp + ecx - 0x88], dl
inc ecx
cmp ecx, 0xd
jl 0x40e94f
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea eax, [ebp - 0x88]
push eax
push dword [ebp - 4]
call ebx
mov esi, str.pZ_wZC8
mov dword [ebp - 0x24], eax
lea edi, [ebp - 0x44]
xor ecx, ecx
push 0x32
pop ebx
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 - 0x44], dl
inc ecx
cmp ecx, 7
jl 0x40e98a
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea eax, [ebp - 0x44]
push eax
push dword [ebp - 4]
call ebx
cmp byte [0x43d15d], 0
lea edi, [ebp - 0x60]
mov esi, str.uV_w_CUXJyUIM_
mov dword [ebp - 0x28], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
je 0x40e9e1
push 0x32
xor ecx, ecx
pop ebx
xor edx, edx
mov eax, ecx
div ebx
add dl, bl
xor byte [ebp + ecx - 0x60], dl
inc ecx
cmp ecx, 0xe
jl 0x40e9c9
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea eax, [ebp - 0x60]
push eax
push dword [ebp - 4]
call ebx
mov esi, str.vVXPBRw_P_I_
mov dword [ebp - 0x30], eax
lea edi, [ebp - 0x98]
xor ecx, ecx
push 0x32
pop ebx
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, ecx
div ebx
add dl, bl
xor byte [ebp + ecx - 0x98], dl
inc ecx
cmp ecx, 0xd
jl 0x40ea01
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea eax, [ebp - 0x98]
push eax
push dword [ebp - 4]
call ebx
mov esi, str.vVXPBRz:
mov dword [ebp - 0x14], eax
lea edi, [ebp - 0x3c]
xor ecx, ecx
push 0x32
pop ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
xor edx, edx
mov eax, ecx
div ebx
add dl, bl
xor byte [ebp + ecx - 0x3c], dl
inc ecx
cmp ecx, 9
jl 0x40ea3b
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea eax, [ebp - 0x3c]
push eax
push dword [ebp - 4]
call ebx
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 4], eax
test ecx, ecx
je 0x40eb4d
cmp dword [ebp - 8], 0
je 0x40eb4d
mov edi, dword [ebp - 0x4c]
test edi, edi
je 0x40eb4d
cmp dword [ebp - 0x20], 0
je 0x40eb4d
cmp dword [ebp - 0x24], 0
je 0x40eb4d
cmp dword [ebp - 0x28], 0
je 0x40eb4d
cmp dword [ebp - 0x30], 0
je 0x40eb4d
cmp dword [ebp - 0x14], 0
je 0x40eb4d
test eax, eax
je 0x40eb4d
mov ebx, dword [ebp - 0xc]
push ebx
call ecx
mov esi, eax
test esi, esi
je 0x40eb4d
push esi
call edi
mov edi, eax
test edi, edi
jne 0x40ead6
push esi
push ebx
jmp 0x40eb4a
push dword [ebp + 8]
push dword [ebp - 0x10]
push esi
call dword [ebp - 0x20]
mov ebx, eax
test ebx, ebx
je 0x40eb42
push ebx
push edi
call dword [ebp - 0x24]
push 0xcc0020
xor eax, eax
push eax
push eax
push esi
push dword [ebp + 8]
push dword [ebp - 0x10]
push eax
push eax
push edi
call dword [ebp - 0x28]
test eax, eax
je 0x40eb3e
mov eax, dword [ebp - 0x10]
imul eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x2c]
shl eax, 2
push eax
call fcn.0040f2a6
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx + 4]
push dword [ecx]
sub eax, dword [ecx]
push eax
push ebx
call dword [ebp - 0x30]
test eax, eax
je 0x40eb3e
push ebx
call dword [ebp - 0x14]
push edi
call dword [ebp - 4]
push esi
push dword [ebp - 0xc]
call dword [ebp - 8]
mov al, 1
jmp 0x40eb4f
push ebx
call dword [ebp - 0x14]
push edi
call dword [ebp - 4]
push esi
push dword [ebp - 0xc]
call dword [ebp - 8]
xor al, al
pop edi
pop esi
pop ebx
leave
ret