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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
mov eax, dword [0x10049650]
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 + 0x10042ba4]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x20], dl
inc eax
and ecx, 0xff
cmp eax, 0x18
jb 0x10008800
mov ecx, 0x10042bc0
sub ecx, 0x477f543b
lea eax, [ebp - 0x2c]
mov byte [ebp - 8], bl
mov dword [ebp - 0x40], ecx
call fcn.1001c4a0
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 [0x10acea38]
mov dword [ecx*4 + 0x10acea40], eax
inc ecx
mov dword [0x10acea38], 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 0x10008863
mov byte [ebp - 0x21], bl
mov ecx, 0xf3
xor eax, eax
mov dl, byte [eax + 0x10042bd8]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x14], dl
inc eax
and ecx, 0xff
cmp eax, 0xc
jb 0x10008886
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 [0x10acea38]
mov dword [ecx*4 + 0x10acea40], eax
inc ecx
mov dword [0x10acea38], ecx
mov ecx, 0xc8
xor eax, eax
lea ebx, [ebx]
mov dl, byte [eax + 0x10042be8]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x14], dl
inc eax
and ecx, 0xff
cmp eax, 0xc
jb 0x100088d0
mov byte [ebp - 8], bl
mov ecx, 0xf3
xor eax, eax
mov dl, byte [eax + 0x10042bd8]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x30], dl
inc eax
and ecx, 0xff
cmp eax, 0xc
jb 0x100088f3
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 [0x10acea38]
mov dword [ecx*4 + 0x10acea40], eax
inc ecx
mov dword [0x10acea38], ecx
mov ecx, 0x98
xor eax, eax
mov dl, byte [eax + 0x10042bf8]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x38], dl
inc eax
and ecx, 0xff
cmp eax, 0x17
jb 0x10008937
mov byte [ebp - 0x21], bl
mov ecx, 0xf3
xor eax, eax
lea ebx, [ebx]
mov dl, byte [eax + 0x10042bd8]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x14], dl
inc eax
and ecx, 0xff
cmp eax, 0xc
jb 0x10008960
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 [0x10acea38]
mov dword [ecx*4 + 0x10acea40], eax
inc ecx
mov dword [0x10acea38], ecx
mov ecx, 0xa
xor eax, eax
mov dl, byte [eax + 0x10042c10]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x3c], dl
inc eax
and ecx, 0xff
cmp eax, 0x19
jb 0x100089a4
mov byte [ebp - 0x23], bl
mov ecx, 0xf3
xor eax, eax
mov dl, byte [eax + 0x10042bd8]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x14], dl
inc eax
and ecx, 0xff
cmp eax, 0xc
jb 0x100089c7
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 [0x10acea38]
mov dword [ecx*4 + 0x10acea40], eax
inc ecx
mov dword [0x10acea38], ecx
mov ecx, 0xff
xor eax, eax
jmp 0x10008a10
mov dl, byte [eax + 0x10042c2c]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x14], dl
inc eax
and ecx, 0xff
cmp eax, 0xc
jb 0x10008a10
mov byte [ebp - 8], bl
mov ecx, 0xf3
xor eax, eax
mov dl, byte [eax + 0x10042bd8]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x30], dl
inc eax
and ecx, 0xff
cmp eax, 0xc
jb 0x10008a33
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 [0x10acea38]
mov dword [ecx*4 + 0x10acea40], eax
inc ecx
mov dword [0x10acea38], ecx
mov ecx, 0x80
xor eax, eax
mov dl, byte [eax + 0x10042c3c]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x30], dl
inc eax
and ecx, 0xff
cmp eax, 0xe
jb 0x10008a77
mov byte [ebp - 0x22], bl
mov ecx, 0xf3
xor eax, eax
lea ebx, [ebx]
mov dl, byte [eax + 0x10042bd8]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x14], dl
inc eax
and ecx, 0xff
cmp eax, 0xc
jb 0x10008aa0
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 [0x10acea38]
mov dword [ecx*4 + 0x10acea40], eax
inc ecx
mov dword [0x10acea38], ecx
mov ecx, 0x61
xor eax, eax
mov dl, byte [eax + 0x10042c4c]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x18], dl
inc eax
and ecx, 0xff
cmp eax, 0xd
jb 0x10008ae4
mov ecx, dword [ebp - 0x40]
lea eax, [ebp - 0x2c]
mov byte [ebp - 0xb], bl
call fcn.1001c4a0
lea ecx, [ebp - 0x18]
push ecx
push eax
call esi
push eax
call edi
mov ecx, dword [0x10acea38]
mov dword [ecx*4 + 0x10acea40], eax
inc ecx
mov dword [0x10acea38], ecx
mov ecx, 0x71
xor eax, eax
mov dl, byte [eax + 0x10042c5c]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x2c], dl
inc eax
and ecx, 0xff
cmp eax, 0xb
jb 0x10008b30
mov byte [ebp - 0x21], bl
mov ecx, 0xf3
xor eax, eax
mov dl, byte [eax + 0x10042bd8]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x14], dl
inc eax
and ecx, 0xff
cmp eax, 0xc
jb 0x10008b53
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 [0x10acea38]
mov dword [ecx*4 + 0x10acea40], eax
inc ecx
mov dword [0x10acea38], ecx
mov ecx, 0xbd
xor eax, eax
mov dl, byte [eax + 0x10042c68]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x1c], dl
inc eax
and ecx, 0xff
cmp eax, 0x12
jb 0x10008b97
mov ecx, dword [ebp - 0x40]
lea eax, [ebp - 0x2c]
mov byte [ebp - 0xa], bl
call fcn.1001c4a0
lea ecx, [ebp - 0x1c]
push ecx
push eax
call esi
push eax
call edi
mov ecx, dword [0x10acea38]
mov dword [ecx*4 + 0x10acea40], eax
inc ecx
mov dword [0x10acea38], 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 0x10008be3
mov byte [ebp - 0x24], bl
mov ecx, 0xf3
xor eax, eax
mov dl, byte [eax + 0x10042bd8]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x14], dl
inc eax
and ecx, 0xff
cmp eax, 0xc
jb 0x10008c06
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 [0x10acea38]
mov dword [ecx*4 + 0x10acea40], eax
inc ecx
mov dword [0x10acea38], ecx
mov ecx, 0x73
xor eax, eax
lea ebx, [ebx]
mov dl, byte [eax + 0x10042c90]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x18], dl
inc eax
and ecx, 0xff
cmp eax, 0x10
jb 0x10008c50
mov ecx, dword [ebp - 0x40]
lea eax, [ebp - 0x2c]
mov byte [ebp - 8], bl
call fcn.1001c4a0
lea ecx, [ebp - 0x18]
push ecx
push eax
call esi
push eax
call edi
mov ecx, dword [0x10acea38]
mov dword [ecx*4 + 0x10acea40], eax
inc ecx
mov dword [0x10acea38], ecx
mov ecx, 0x59
xor eax, eax
lea esp, [esp]
mov dl, byte [eax + 0x10042ca4]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x18], dl
inc eax
and ecx, 0xff
cmp eax, 0xf
jb 0x10008ca0
mov ecx, dword [ebp - 0x40]
lea eax, [ebp - 0x2c]
mov byte [ebp - 9], bl
call fcn.1001c4a0
lea ecx, [ebp - 0x18]
push ecx
push eax
call esi
push eax
call edi
mov ecx, dword [0x10acea38]
mov dword [ecx*4 + 0x10acea40], eax
inc ecx
mov dword [0x10acea38], ecx
mov ecx, 0x30
xor eax, eax
lea esp, [esp]
mov dl, byte [eax + 0x10042cb4]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x3c], dl
inc eax
and ecx, 0xff
cmp eax, 0x1b
jb 0x10008cf0
mov byte [ebp - 0x21], bl
mov ecx, 0xae
xor eax, eax
mov dl, byte [eax + 0x10042cd0]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x18], dl
inc eax
and ecx, 0xff
cmp eax, 0xe
jb 0x10008d13
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 [0x10acea38]
mov dword [ecx*4 + 0x10acea40], eax
inc ecx
mov dword [0x10acea38], ecx
call fcn.10008d70
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1002121a
mov esp, ebp
pop ebp
ret