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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
cmp byte [0x537103], 0
push esi
jne 0x43ca78
mov dword [ebp - 0xe], 0x9b839482
xor ecx, ecx
mov dword [ebp - 0xa], 0x92969a8c
mov dword [ebp - 6], 0x939299d2
mov word [ebp - 2], 0x100
lea eax, [ecx - 0xc]
xor byte [ebp + ecx - 0xe], al
inc ecx
cmp ecx, 0xc
jb 0x43c821
lea eax, [ebp - 0xe]
mov byte [ebp - 1], 0
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edx, eax
mov dword [0x5370e8], edx
test edx, edx
je 0x43ca78
mov dword [ebp - 0x39], 0x9b8394a2
xor ecx, ecx
mov dword [ebp - 0x35], 0x8e94bc8c
mov dword [ebp - 0x31], 0x9e8c9891
mov dword [ebp - 0x2d], 0x774b6474
mov dword [ebp - 0x29], 0x756861
mov byte [ebp - 0x25], 1
lea eax, [ecx - 0xc]
xor byte [ebp + ecx - 0x39], al
inc ecx
cmp ecx, 0x13
jb 0x43c875
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 [0x537104], eax
xor ecx, ecx
mov dword [ebp - 0x24], 0x9b8394a2
mov dword [ebp - 0x20], 0x8e94bc8c
mov dword [ebp - 0x1c], 0x9e8c9891
mov dword [ebp - 0x18], 0x62546474
mov dword [ebp - 0x14], 0x74726971
mov word [ebp - 0x10], 0x100
lea eax, [ecx - 0xc]
xor byte [ebp + ecx - 0x24], al
inc ecx
cmp ecx, 0x14
jb 0x43c8c3
lea eax, [ebp - 0x24]
mov byte [ebp - 0xf], 0
push eax
push dword [0x5370e8]
call esi
mov dword [0x5370fc], eax
xor ecx, ecx
mov dword [ebp - 0xb], 0x9b8394a2
mov dword [ebp - 7], 0x9e88bf8c
mov word [ebp - 3], 0x99
mov byte [ebp - 1], 1
nop
lea eax, [ecx - 0xc]
xor byte [ebp + ecx - 0xb], al
inc ecx
cmp ecx, 9
jb 0x43c900
lea eax, [ebp - 0xb]
mov byte [ebp - 1], 0
push eax
push dword [0x5370e8]
call esi
mov dword [0x5370f4], eax
xor ecx, ecx
mov dword [ebp - 0x1e], 0x9b8394a2
mov dword [ebp - 0x1a], 0x9e8ab68c
mov dword [ebp - 0x16], 0x8a9fab92
mov dword [ebp - 0x12], 0x100756c
lea eax, [ecx - 0xc]
xor byte [ebp + ecx - 0x1e], al
inc ecx
cmp ecx, 0xe
jb 0x43c940
lea eax, [ebp - 0x1e]
mov byte [ebp - 0xf], 0
push eax
push dword [0x5370e8]
call esi
mov dword [0x5370e4], eax
xor ecx, ecx
mov dword [ebp - 0x35], 0x9b8394a2
mov dword [ebp - 0x31], 0x9496ba8c
mov dword [ebp - 0x2d], 0x9ea8988f
mov dword [ebp - 0x29], 0x766d75
mov byte [ebp - 0x25], 1
lea eax, [ecx - 0xc]
xor byte [ebp + ecx - 0x35], al
inc ecx
cmp ecx, 0xf
jb 0x43c984
lea eax, [ebp - 0x35]
mov byte [ebp - 0x25], 0
push eax
push dword [0x5370e8]
call esi
mov dword [0x5370f8], eax
xor ecx, ecx
mov dword [ebp - 0xe], 0x9b8394a2
mov dword [ebp - 0xa], 0x8f9fbe8c
mov dword [ebp - 6], 0x929b89b5
mov word [ebp - 2], 0x100
lea eax, [ecx - 0xc]
xor byte [ebp + ecx - 0xe], al
inc ecx
cmp ecx, 0xc
jb 0x43c9c3
lea eax, [ebp - 0xe]
mov byte [ebp - 1], 0
push eax
push dword [0x5370e8]
call esi
mov dword [0x5370f0], eax
xor ecx, ecx
mov dword [ebp - 0x1c], 0x9b8394a2
mov dword [ebp - 0x18], 0x8f9fbe8c
mov dword [ebp - 0x14], 0x929b89b5
mov word [ebp - 0x10], 0x100
lea eax, [ecx - 0xc]
xor byte [ebp + ecx - 0x1c], al
inc ecx
cmp ecx, 0xc
jb 0x43ca02
lea eax, [ebp - 0x1c]
mov byte [ebp - 0xf], 0
push eax
push dword [0x5370e8]
call esi
cmp dword [0x537104], 0
mov dword [0x537110], eax
je 0x43ca6c
cmp dword [0x5370fc], 0
je 0x43ca6c
cmp dword [0x5370f4], 0
je 0x43ca6c
cmp dword [0x5370e4], 0
je 0x43ca6c
cmp dword [0x5370f8], 0
je 0x43ca6c
cmp dword [0x5370f0], 0
je 0x43ca6c
test eax, eax
je 0x43ca6c
mov byte [0x537103], 1
mov al, 1
pop esi
mov esp, ebp
pop ebp
ret
push dword [0x5370e8]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
xor al, al
pop esi
mov esp, ebp
pop ebp
ret