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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
mov eax, dword [0x1004a650]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
xor ebx, ebx
push edi
mov ecx, 0xdc
xor eax, eax
lea esp, [esp]
mov dl, byte [eax + 0x10043b8c]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x20], dl
inc eax
and ecx, 0xff
cmp eax, 0x18
jb 0x100086e0
mov ecx, 0x10043ba8
sub ecx, 0x477f543b
lea eax, [ebp - 0x2c]
mov byte [ebp - 8], bl
mov dword [ebp - 0x40], ecx
call fcn.1001d1e0
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea ecx, [ebp - 0x20]
push ecx
push eax
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call edi
mov ecx, dword [0x10acfa44]
mov dword [ecx*4 + 0x10acfa48], eax
inc ecx
mov dword [0x10acfa44], ecx
mov ecx, 0x31
xor eax, eax
mov dl, byte [eax + str.tJZ_eDX_IH]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x2c], dl
inc eax
and ecx, 0xff
cmp eax, 0xb
jb 0x10008743
mov byte [ebp - 0x21], bl
mov ecx, 0xf3
xor eax, eax
mov dl, byte [eax + 0x10043bc0]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x14], dl
inc eax
and ecx, 0xff
cmp eax, 0xc
jb 0x10008766
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x14]
push ecx
mov byte [ebp - 8], bl
call esi
push eax
call edi
mov ecx, dword [0x10acfa44]
mov dword [ecx*4 + 0x10acfa48], eax
inc ecx
mov dword [0x10acfa44], ecx
mov ecx, 0xc8
xor eax, eax
lea ebx, [ebx]
mov dl, byte [eax + 0x10043bd0]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x14], dl
inc eax
and ecx, 0xff
cmp eax, 0xc
jb 0x100087b0
mov byte [ebp - 8], bl
mov ecx, 0xf3
xor eax, eax
mov dl, byte [eax + 0x10043bc0]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x30], dl
inc eax
and ecx, 0xff
cmp eax, 0xc
jb 0x100087d3
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x30]
push ecx
mov byte [ebp - 0x24], bl
call esi
push eax
call edi
mov ecx, dword [0x10acfa44]
mov dword [ecx*4 + 0x10acfa48], eax
inc ecx
mov dword [0x10acfa44], ecx
mov ecx, 0x98
xor eax, eax
mov dl, byte [eax + 0x10043be0]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x38], dl
inc eax
and ecx, 0xff
cmp eax, 0x17
jb 0x10008817
mov byte [ebp - 0x21], bl
mov ecx, 0xf3
xor eax, eax
lea ebx, [ebx]
mov dl, byte [eax + 0x10043bc0]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x14], dl
inc eax
and ecx, 0xff
cmp eax, 0xc
jb 0x10008840
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x14]
push ecx
mov byte [ebp - 8], bl
call esi
push eax
call edi
mov ecx, dword [0x10acfa44]
mov dword [ecx*4 + 0x10acfa48], eax
inc ecx
mov dword [0x10acfa44], ecx
mov ecx, 0xa
xor eax, eax
mov dl, byte [eax + 0x10043bf8]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x3c], dl
inc eax
and ecx, 0xff
cmp eax, 0x19
jb 0x10008884
mov byte [ebp - 0x23], bl
mov ecx, 0xf3
xor eax, eax
mov dl, byte [eax + 0x10043bc0]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x14], dl
inc eax
and ecx, 0xff
cmp eax, 0xc
jb 0x100088a7
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x14]
push ecx
mov byte [ebp - 8], bl
call esi
push eax
call edi
mov ecx, dword [0x10acfa44]
mov dword [ecx*4 + 0x10acfa48], eax
inc ecx
mov dword [0x10acfa44], ecx
mov ecx, 0xff
xor eax, eax
jmp 0x100088f0
mov dl, byte [eax + 0x10043c14]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x14], dl
inc eax
and ecx, 0xff
cmp eax, 0xc
jb 0x100088f0
mov byte [ebp - 8], bl
mov ecx, 0xf3
xor eax, eax
mov dl, byte [eax + 0x10043bc0]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x30], dl
inc eax
and ecx, 0xff
cmp eax, 0xc
jb 0x10008913
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x30]
push ecx
mov byte [ebp - 0x24], bl
call esi
push eax
call edi
mov ecx, dword [0x10acfa44]
mov dword [ecx*4 + 0x10acfa48], eax
inc ecx
mov dword [0x10acfa44], ecx
mov ecx, 0x80
xor eax, eax
mov dl, byte [eax + 0x10043c24]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x30], dl
inc eax
and ecx, 0xff
cmp eax, 0xe
jb 0x10008957
mov byte [ebp - 0x22], bl
mov ecx, 0xf3
xor eax, eax
lea ebx, [ebx]
mov dl, byte [eax + 0x10043bc0]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x14], dl
inc eax
and ecx, 0xff
cmp eax, 0xc
jb 0x10008980
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x14]
push ecx
mov byte [ebp - 8], bl
call esi
push eax
call edi
mov ecx, dword [0x10acfa44]
mov dword [ecx*4 + 0x10acfa48], eax
inc ecx
mov dword [0x10acfa44], ecx
mov ecx, 0x61
xor eax, eax
mov dl, byte [eax + 0x10043c34]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x18], dl
inc eax
and ecx, 0xff
cmp eax, 0xd
jb 0x100089c4
mov ecx, dword [ebp - 0x40]
lea eax, [ebp - 0x2c]
mov byte [ebp - 0xb], bl
call fcn.1001d1e0
lea ecx, [ebp - 0x18]
push ecx
push eax
call esi
push eax
call edi
mov ecx, dword [0x10acfa44]
mov dword [ecx*4 + 0x10acfa48], eax
inc ecx
mov dword [0x10acfa44], ecx
mov ecx, 0x71
xor eax, eax
mov dl, byte [eax + 0x10043c44]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x2c], dl
inc eax
and ecx, 0xff
cmp eax, 0xb
jb 0x10008a10
mov byte [ebp - 0x21], bl
mov ecx, 0xf3
xor eax, eax
mov dl, byte [eax + 0x10043bc0]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x14], dl
inc eax
and ecx, 0xff
cmp eax, 0xc
jb 0x10008a33
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x14]
push ecx
mov byte [ebp - 8], bl
call esi
push eax
call edi
mov ecx, dword [0x10acfa44]
mov dword [ecx*4 + 0x10acfa48], eax
inc ecx
mov dword [0x10acfa44], ecx
mov ecx, 0xbd
xor eax, eax
mov dl, byte [eax + 0x10043c50]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x1c], dl
inc eax
and ecx, 0xff
cmp eax, 0x12
jb 0x10008a77
mov ecx, dword [ebp - 0x40]
lea eax, [ebp - 0x2c]
mov byte [ebp - 0xa], bl
call fcn.1001d1e0
lea ecx, [ebp - 0x1c]
push ecx
push eax
call esi
push eax
call edi
mov ecx, dword [0x10acfa44]
mov dword [ecx*4 + 0x10acfa48], eax
inc ecx
mov dword [0x10acfa44], ecx
mov ecx, 0x5d
xor eax, eax
mov dl, byte [eax + str._t___r_b_f]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x34], dl
inc eax
and ecx, 0xff
cmp eax, 0x10
jb 0x10008ac3
mov byte [ebp - 0x24], bl
mov ecx, 0xf3
xor eax, eax
mov dl, byte [eax + 0x10043bc0]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x14], dl
inc eax
and ecx, 0xff
cmp eax, 0xc
jb 0x10008ae6
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x14]
push ecx
mov byte [ebp - 8], bl
call esi
push eax
call edi
mov ecx, dword [0x10acfa44]
mov dword [ecx*4 + 0x10acfa48], eax
inc ecx
mov dword [0x10acfa44], ecx
mov ecx, 0x73
xor eax, eax
lea ebx, [ebx]
mov dl, byte [eax + 0x10043c78]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x18], dl
inc eax
and ecx, 0xff
cmp eax, 0x10
jb 0x10008b30
mov ecx, dword [ebp - 0x40]
lea eax, [ebp - 0x2c]
mov byte [ebp - 8], bl
call fcn.1001d1e0
lea ecx, [ebp - 0x18]
push ecx
push eax
call esi
push eax
call edi
mov ecx, dword [0x10acfa44]
mov dword [ecx*4 + 0x10acfa48], eax
inc ecx
mov dword [0x10acfa44], ecx
mov ecx, 0x59
xor eax, eax
lea esp, [esp]
mov dl, byte [eax + 0x10043c8c]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x18], dl
inc eax
and ecx, 0xff
cmp eax, 0xf
jb 0x10008b80
mov ecx, dword [ebp - 0x40]
lea eax, [ebp - 0x2c]
mov byte [ebp - 9], bl
call fcn.1001d1e0
lea ecx, [ebp - 0x18]
push ecx
push eax
call esi
push eax
call edi
mov ecx, dword [0x10acfa44]
mov dword [ecx*4 + 0x10acfa48], eax
inc ecx
mov dword [0x10acfa44], ecx
mov ecx, 0x30
xor eax, eax
lea esp, [esp]
mov dl, byte [eax + 0x10043c9c]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x3c], dl
inc eax
and ecx, 0xff
cmp eax, 0x1b
jb 0x10008bd0
mov byte [ebp - 0x21], bl
mov ecx, 0xae
xor eax, eax
mov dl, byte [eax + 0x10043cb8]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x18], dl
inc eax
and ecx, 0xff
cmp eax, 0xe
jb 0x10008bf3
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x18]
push ecx
mov byte [ebp - 0xa], bl
call esi
push eax
call edi
mov ecx, dword [0x10acfa44]
mov dword [ecx*4 + 0x10acfa48], eax
inc ecx
mov dword [0x10acfa44], ecx
call fcn.10008c50
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1002206c
mov esp, ebp
pop ebp
ret