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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
mov eax, dword [0x10047650]
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 + 0x10040b74]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x20], dl
inc eax
and ecx, 0xff
cmp eax, 0x18
jb 0x100080b0
lea eax, [ebp - 0x20]
mov ecx, 0x10040b90
sub ecx, 0x477f543b
push eax
lea eax, [ebp - 0x2c]
mov byte [ebp - 8], bl
mov dword [ebp - 0x40], ecx
call fcn.1001b130
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call edi
mov ecx, dword [0x101ab78c]
mov dword [ecx*4 + 0x101ab790], eax
inc ecx
mov dword [0x101ab78c], 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 0x10008113
mov byte [ebp - 0x21], bl
mov ecx, 0xf3
xor eax, eax
mov dl, byte [eax + 0x10040ba8]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x14], dl
inc eax
and ecx, 0xff
cmp eax, 0xc
jb 0x10008136
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 [0x101ab78c]
mov dword [ecx*4 + 0x101ab790], eax
inc ecx
mov dword [0x101ab78c], ecx
mov ecx, 0x98
xor eax, eax
lea ebx, [ebx]
mov dl, byte [eax + 0x10040bb8]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x38], dl
inc eax
and ecx, 0xff
cmp eax, 0x17
jb 0x10008180
mov byte [ebp - 0x21], bl
mov ecx, 0xf3
xor eax, eax
mov dl, byte [eax + 0x10040ba8]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x14], dl
inc eax
and ecx, 0xff
cmp eax, 0xc
jb 0x100081a3
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 [0x101ab78c]
mov dword [ecx*4 + 0x101ab790], eax
inc ecx
mov dword [0x101ab78c], ecx
mov ecx, 0xa
xor eax, eax
mov dl, byte [eax + 0x10040bd0]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x3c], dl
inc eax
and ecx, 0xff
cmp eax, 0x19
jb 0x100081e7
mov byte [ebp - 0x23], bl
mov ecx, 0xf3
xor eax, eax
lea ebx, [ebx]
mov dl, byte [eax + 0x10040ba8]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x14], dl
inc eax
and ecx, 0xff
cmp eax, 0xc
jb 0x10008210
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 [0x101ab78c]
mov dword [ecx*4 + 0x101ab790], eax
inc ecx
mov dword [0x101ab78c], ecx
mov ecx, 0xff
xor eax, eax
mov dl, byte [eax + 0x10040bec]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x14], dl
inc eax
and ecx, 0xff
cmp eax, 0xc
jb 0x10008254
mov byte [ebp - 8], bl
mov ecx, 0xf3
xor eax, eax
mov dl, byte [eax + 0x10040ba8]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x30], dl
inc eax
and ecx, 0xff
cmp eax, 0xc
jb 0x10008277
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 [0x101ab78c]
mov dword [ecx*4 + 0x101ab790], eax
inc ecx
mov dword [0x101ab78c], ecx
mov ecx, 0x61
xor eax, eax
jmp 0x100082c0
mov dl, byte [eax + 0x10040bfc]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x18], dl
inc eax
and ecx, 0xff
cmp eax, 0xd
jb 0x100082c0
mov ecx, dword [ebp - 0x40]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
mov byte [ebp - 0xb], bl
call fcn.1001b130
push eax
call esi
push eax
call edi
mov ecx, dword [0x101ab78c]
mov dword [ecx*4 + 0x101ab790], eax
inc ecx
mov dword [0x101ab78c], ecx
mov ecx, 0x71
xor eax, eax
lea esp, [esp]
mov dl, byte [eax + 0x10040c0c]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x2c], dl
inc eax
and ecx, 0xff
cmp eax, 0xb
jb 0x10008310
mov byte [ebp - 0x21], bl
mov ecx, 0xf3
xor eax, eax
mov dl, byte [eax + 0x10040ba8]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x14], dl
inc eax
and ecx, 0xff
cmp eax, 0xc
jb 0x10008333
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 [0x101ab78c]
mov dword [ecx*4 + 0x101ab790], eax
inc ecx
mov dword [0x101ab78c], ecx
mov ecx, 0xbd
xor eax, eax
mov dl, byte [eax + 0x10040c18]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x1c], dl
inc eax
and ecx, 0xff
cmp eax, 0x12
jb 0x10008377
mov ecx, dword [ebp - 0x40]
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x2c]
mov byte [ebp - 0xa], bl
call fcn.1001b130
push eax
call esi
push eax
call edi
mov ecx, dword [0x101ab78c]
mov dword [ecx*4 + 0x101ab790], eax
inc ecx
mov dword [0x101ab78c], 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 0x100083c3
mov byte [ebp - 0x24], bl
mov ecx, 0xf3
xor eax, eax
mov dl, byte [eax + 0x10040ba8]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x14], dl
inc eax
and ecx, 0xff
cmp eax, 0xc
jb 0x100083e6
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 [0x101ab78c]
mov dword [ecx*4 + 0x101ab790], eax
inc ecx
mov dword [0x101ab78c], ecx
mov ecx, 0x73
xor eax, eax
lea ebx, [ebx]
mov dl, byte [eax + 0x10040c40]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x18], dl
inc eax
and ecx, 0xff
cmp eax, 0x10
jb 0x10008430
mov ecx, dword [ebp - 0x40]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
mov byte [ebp - 8], bl
call fcn.1001b130
push eax
call esi
push eax
call edi
mov ecx, dword [0x101ab78c]
mov dword [ecx*4 + 0x101ab790], eax
inc ecx
mov dword [0x101ab78c], ecx
mov ecx, 0x59
xor eax, eax
lea esp, [esp]
mov dl, byte [eax + 0x10040c54]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x18], dl
inc eax
and ecx, 0xff
cmp eax, 0xf
jb 0x10008480
mov ecx, dword [ebp - 0x40]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x2c]
mov byte [ebp - 9], bl
call fcn.1001b130
push eax
call esi
push eax
call edi
mov ecx, dword [0x101ab78c]
mov dword [ecx*4 + 0x101ab790], eax
inc ecx
mov dword [0x101ab78c], ecx
mov ecx, 0x30
xor eax, eax
lea esp, [esp]
mov dl, byte [eax + 0x10040c64]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x3c], dl
inc eax
and ecx, 0xff
cmp eax, 0x1b
jb 0x100084d0
mov byte [ebp - 0x21], bl
mov ecx, 0xae
xor eax, eax
mov dl, byte [eax + 0x10040c80]
xor dl, cl
inc ecx
mov byte [ebp + eax - 0x18], dl
inc eax
and ecx, 0xff
cmp eax, 0xe
jb 0x100084f3
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 [0x101ab78c]
mov dword [ecx*4 + 0x101ab790], eax
inc ecx
mov dword [0x101ab78c], ecx
call fcn.10008550
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1002005a
mov esp, ebp
pop ebp
ret