Function at 0x1001b960
Capabilities:
Encode data using xor
Link many functions at runtime
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x84
mov eax, dword [0x100571b8]
xor eax, esp
mov dword [esp + 0x80], eax
push ebx
push esi
push edi
mov dword [esp + 0xc], 0
mov edx, 0x2e
xor ecx, ecx
nop dword [eax]
mov al, byte [ecx + str.__aDWAMfODLWrR_QM__6]
xor al, dl
mov byte [esp + ecx + 0x30], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x18
jb 0x1001b990
push 0x64bcbb6e
lea ecx, [esp + 0x80]
mov byte [esp + 0x4c], 0
call fcn.1001d490
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea ecx, [esp + 0x30]
push ecx
push eax
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebx
mov dword [0x10163844], eax
mov edx, 0x47
xor ecx, ecx
mov al, byte [ecx + str._b8__e____]
xor al, dl
mov byte [esp + ecx + 0x10], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xb
jb 0x1001b9e1
mov byte [esp + 0x1b], 0
mov edx, 0x55
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ecx + 0x1004fb9c]
xor al, dl
mov byte [esp + ecx + 0x20], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x1001ba10
lea eax, [esp + 0x10]
mov byte [esp + 0x2c], 0
push eax
lea eax, [esp + 0x24]
push eax
call edi
push eax
call ebx
mov ecx, dword [0x10163968]
mov edx, 0x81
mov dword [ecx*4 + 0x10163868], eax
inc ecx
mov dword [0x10163968], ecx
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ecx + 0x1004fbac]
xor al, dl
mov byte [esp + ecx + 0x10], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xb
jb 0x1001ba60
mov byte [esp + 0x1b], 0
mov edx, 0x55
xor ecx, ecx
mov al, byte [ecx + 0x1004fb9c]
xor al, dl
mov byte [esp + ecx + 0x20], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x1001ba84
lea eax, [esp + 0x10]
mov byte [esp + 0x2c], 0
push eax
lea eax, [esp + 0x24]
push eax
call edi
push eax
call ebx
mov ecx, dword [0x10163968]
mov edx, 0x36
mov dword [ecx*4 + 0x10163868], eax
inc ecx
mov dword [0x10163968], ecx
xor ecx, ecx
nop dword [eax + eax]
mov al, byte [ecx + str.bRJTSU_I_o2._76]
xor al, dl
mov byte [esp + ecx + 0x30], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x10
jb 0x1001bad0
mov byte [esp + 0x40], 0
mov edx, 0x55
xor ecx, ecx
mov al, byte [ecx + 0x1004fb9c]
xor al, dl
mov byte [esp + ecx + 0x10], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x1001baf4
lea eax, [esp + 0x30]
mov byte [esp + 0x1c], 0
push eax
lea eax, [esp + 0x14]
push eax
call edi
push eax
call ebx
mov ecx, dword [0x10163968]
mov edx, 0x27
mov dword [ecx*4 + 0x10163868], eax
inc ecx
mov dword [0x10163968], ecx
xor ecx, ecx
nop dword [eax + eax]
mov al, byte [ecx + str.dZLK_IyF_UPV]
xor al, dl
mov byte [esp + ecx + 0x10], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x1001bb40
mov byte [esp + 0x1c], 0
mov edx, 0x55
xor ecx, ecx
mov al, byte [ecx + 0x1004fb9c]
xor al, dl
mov byte [esp + ecx + 0x20], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x1001bb64
lea eax, [esp + 0x10]
mov byte [esp + 0x2c], 0
push eax
lea eax, [esp + 0x24]
push eax
call edi
push eax
call ebx
mov ecx, dword [0x10163968]
mov edx, 0xcc
mov dword [ecx*4 + 0x10163868], eax
inc ecx
mov dword [0x10163968], ecx
xor ecx, ecx
nop dword [eax + eax]
mov al, byte [ecx + 0x1004fbdc]
xor al, dl
mov byte [esp + ecx + 0x30], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x17
jb 0x1001bbb0
mov byte [esp + 0x47], 0
mov edx, 0x55
xor ecx, ecx
mov al, byte [ecx + 0x1004fb9c]
xor al, dl
mov byte [esp + ecx + 0x10], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x1001bbd4
lea eax, [esp + 0x30]
mov byte [esp + 0x1c], 0
push eax
lea eax, [esp + 0x14]
push eax
call edi
push eax
call ebx
mov ecx, dword [0x10163968]
mov edx, 0x7d
mov dword [ecx*4 + 0x10163868], eax
inc ecx
mov dword [0x10163968], ecx
xor ecx, ecx
nop dword [eax + eax]
mov al, byte [ecx + 0x1004fbf4]
xor al, dl
mov byte [esp + ecx + 0x30], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x19
jb 0x1001bc20
mov byte [esp + 0x49], 0
mov edx, 0x55
xor ecx, ecx
mov al, byte [ecx + 0x1004fb9c]
xor al, dl
mov byte [esp + ecx + 0x10], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x1001bc44
lea eax, [esp + 0x30]
mov byte [esp + 0x1c], 0
push eax
lea eax, [esp + 0x14]
push eax
call edi
push eax
call ebx
mov ecx, dword [0x10163968]
mov edx, 0xf9
mov dword [ecx*4 + 0x10163868], eax
inc ecx
mov dword [0x10163968], ecx
xor ecx, ecx
nop dword [eax + eax]
mov al, byte [ecx + 0x1004fc10]
xor al, dl
mov byte [esp + ecx + 0x10], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x1001bc90
mov byte [esp + 0x1c], 0
mov edx, 0x55
xor ecx, ecx
mov al, byte [ecx + 0x1004fb9c]
xor al, dl
mov byte [esp + ecx + 0x20], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x1001bcb4
lea eax, [esp + 0x10]
mov byte [esp + 0x2c], 0
push eax
lea eax, [esp + 0x24]
push eax
call edi
push eax
call ebx
test eax, eax
je 0x1001bdb0
mov edx, 0xf9
xor ecx, ecx
nop
mov al, byte [ecx + 0x1004fc10]
xor al, dl
mov byte [esp + ecx + 0x7c], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x1001bcf0
mov byte [esp + 0x88], 0
mov edx, 0x55
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ecx + 0x1004fb9c]
xor al, dl
mov byte [esp + ecx + 0x4c], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x1001bd20
lea eax, [esp + 0x7c]
mov byte [esp + 0x58], 0
push eax
lea eax, [esp + 0x50]
push eax
call edi
push eax
call ebx
cmp byte [eax], 0xe9
jne 0x1001bd55
xor eax, eax
jmp 0x1001bdb0
mov edx, 0xf9
xor ecx, ecx
nop dword [eax]
mov al, byte [ecx + 0x1004fc10]
xor al, dl
mov byte [esp + ecx + 0x64], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x1001bd60
mov byte [esp + 0x70], 0
mov edx, 0x55
xor ecx, ecx
mov al, byte [ecx + 0x1004fb9c]
xor al, dl
mov byte [esp + ecx + 0x30], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x1001bd84
lea eax, [esp + 0x64]
mov byte [esp + 0x3c], 0
push eax
lea eax, [esp + 0x34]
push eax
call edi
push eax
call ebx
mov ecx, dword [0x10163968]
mov edx, 0x32
mov dword [ecx*4 + 0x10163868], eax
inc ecx
mov dword [0x10163968], ecx
xor ecx, ecx
nop dword [eax + eax]
mov al, byte [ecx + str.hDESYhKUXYNM]
xor al, dl
mov byte [esp + ecx + 0x30], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xd
jb 0x1001bdd0
push 0x64bcbb6e
lea ecx, [esp + 0x80]
mov byte [esp + 0x41], 0
call fcn.1001d490
lea ecx, [esp + 0x30]
push ecx
push eax
call edi
push eax
call ebx
test eax, eax
je 0x1001bea6
mov edx, 0x32
xor ecx, ecx
nop dword [eax + eax]
mov al, byte [ecx + str.hDESYhKUXYNM]
xor al, dl
mov byte [esp + ecx + 0x64], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xd
jb 0x1001be20
push 0x64bcbb6e
lea ecx, [esp + 0x24]
mov byte [esp + 0x75], 0
call fcn.1001d490
lea ecx, [esp + 0x64]
push ecx
push eax
call edi
push eax
call ebx
cmp byte [eax], 0xe9
jne 0x1001be5f
xor eax, eax
jmp 0x1001bea6
mov edx, 0x32
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ecx + str.hDESYhKUXYNM]
xor al, dl
mov byte [esp + ecx + 0x4c], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xd
jb 0x1001be70
push 0x64bcbb6e
lea ecx, [esp + 0x14]
mov byte [esp + 0x5d], 0
call fcn.1001d490
lea ecx, [esp + 0x4c]
push ecx
push eax
call edi
push eax
call ebx
mov ecx, dword [0x10163968]
mov edx, 0x5b
mov dword [ecx*4 + 0x10163868], eax
inc ecx
mov dword [0x10163968], ecx
xor ecx, ecx
mov al, byte [ecx + 0x1004fc30]
xor al, dl
mov byte [esp + ecx + 0x30], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x12
jb 0x1001bec1
push 0x64bcbb6e
lea ecx, [esp + 0x14]
mov byte [esp + 0x46], 0
call fcn.1001d490
lea ecx, [esp + 0x30]
push ecx
push eax
call edi
push eax
call ebx
test eax, eax
je 0x1001bf99
mov edx, 0x5b
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ecx + 0x1004fc30]
xor al, dl
mov byte [esp + ecx + 0x64], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x12
jb 0x1001bf10
push 0x64bcbb6e
lea ecx, [esp + 0x24]
mov byte [esp + 0x7a], 0
call fcn.1001d490
lea ecx, [esp + 0x64]
push ecx
push eax
call edi
push eax
call ebx
cmp byte [eax], 0xe9
jne 0x1001bf4f
xor eax, eax
jmp 0x1001bf99
mov edx, 0x5b
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ecx + 0x1004fc30]
xor al, dl
mov byte [esp + ecx + 0x4c], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x12
jb 0x1001bf60
push 0x64bcbb6e
lea ecx, [esp + 0x80]
mov byte [esp + 0x62], 0
call fcn.1001d490
lea ecx, [esp + 0x4c]
push ecx
push eax
call edi
push eax
call ebx
mov ecx, dword [0x10163968]
mov edx, 0x48
mov dword [ecx*4 + 0x10163868], eax
inc ecx
mov dword [0x10163968], ecx
xor ecx, ecx
mov al, byte [ecx + 0x1004fc44]
xor al, dl
mov byte [esp + ecx + 0x30], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x10
jb 0x1001bfb4
push 0x64bcbb6e
lea ecx, [esp + 0x14]
mov byte [esp + 0x44], 0
call fcn.1001d490
lea ecx, [esp + 0x30]
push ecx
push eax
call edi
push eax
call ebx
test eax, eax
je 0x1001c089
mov edx, 0x48
xor ecx, ecx
nop dword [eax]
mov al, byte [ecx + 0x1004fc44]
xor al, dl
mov byte [esp + ecx + 0x64], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x10
jb 0x1001c000
push 0x64bcbb6e
lea ecx, [esp + 0x24]
mov byte [esp + 0x78], 0
call fcn.1001d490
lea ecx, [esp + 0x64]
push ecx
push eax
call edi
push eax
call ebx
cmp byte [eax], 0xe9
jne 0x1001c03f
xor eax, eax
jmp 0x1001c089
mov edx, 0x48
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ecx + 0x1004fc44]
xor al, dl
mov byte [esp + ecx + 0x4c], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x10
jb 0x1001c050
push 0x64bcbb6e
lea ecx, [esp + 0x80]
mov byte [esp + 0x60], 0
call fcn.1001d490
lea ecx, [esp + 0x4c]
push ecx
push eax
call edi
push eax
call ebx
mov ecx, dword [0x10163968]
mov edx, 0xa9
mov dword [ecx*4 + 0x10163868], eax
inc ecx
mov dword [0x10163968], ecx
xor ecx, ecx
mov al, byte [ecx + 0x1004fc58]
xor al, dl
mov byte [esp + ecx + 0x30], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xf
jb 0x1001c0a4
push 0x64bcbb6e
lea ecx, [esp + 0x14]
mov byte [esp + 0x43], 0
call fcn.1001d490
lea ecx, [esp + 0x30]
push ecx
push eax
call edi
push eax
call ebx
test eax, eax
je 0x1001c179
mov edx, 0xa9
xor ecx, ecx
nop dword [eax]
mov al, byte [ecx + 0x1004fc58]
xor al, dl
mov byte [esp + ecx + 0x64], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xf
jb 0x1001c0f0
push 0x64bcbb6e
lea ecx, [esp + 0x24]
mov byte [esp + 0x77], 0
call fcn.1001d490
lea ecx, [esp + 0x64]
push ecx
push eax
call edi
push eax
call ebx
cmp byte [eax], 0xe9
jne 0x1001c12f
xor eax, eax
jmp 0x1001c179
mov edx, 0xa9
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ecx + 0x1004fc58]
xor al, dl
mov byte [esp + ecx + 0x4c], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xf
jb 0x1001c140
push 0x64bcbb6e
lea ecx, [esp + 0x80]
mov byte [esp + 0x5f], 0
call fcn.1001d490
lea ecx, [esp + 0x4c]
push ecx
push eax
call edi
push eax
call ebx
mov ecx, dword [0x10163968]
mov edx, 0xbd
mov dword [ecx*4 + 0x10163868], eax
inc ecx
mov dword [0x10163968], ecx
xor ecx, ecx
mov al, byte [ecx + 0x1004fc68]
xor al, dl
mov byte [esp + ecx + 0x30], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x15
jb 0x1001c194
mov esi, 0x1004fc80
mov byte [esp + 0x45], 0
sub esi, 0x7ae9cc4c
lea ecx, [esp + 0x10]
push esi
call fcn.1001d510
lea ecx, [esp + 0x30]
push ecx
push eax
call edi
push eax
call ebx
test eax, eax
je 0x1001c257
mov edx, 0xbd
xor ecx, ecx
mov al, byte [ecx + 0x1004fc68]
xor al, dl
mov byte [esp + ecx + 0x64], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x15
jb 0x1001c1e0
push esi
lea ecx, [esp + 0x24]
mov byte [esp + 0x7d], 0
call fcn.1001d510
lea ecx, [esp + 0x64]
push ecx
push eax
call edi
push eax
call ebx
cmp byte [eax], 0xe9
jne 0x1001c21b
xor eax, eax
jmp 0x1001c257
mov edx, 0xbd
xor ecx, ecx
mov al, byte [ecx + 0x1004fc68]
xor al, dl
mov byte [esp + ecx + 0x4c], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x15
jb 0x1001c222
push esi
lea ecx, [esp + 0x80]
mov byte [esp + 0x65], 0
call fcn.1001d510
lea ecx, [esp + 0x4c]
push ecx
push eax
call edi
push eax
call ebx
mov ecx, dword [0x10163968]
mov edx, 0x8c
mov dword [ecx*4 + 0x10163868], eax
inc ecx
mov dword [0x10163968], ecx
xor ecx, ecx
mov al, byte [ecx + 0x1004fc8c]
xor al, dl
mov byte [esp + ecx + 0x30], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x15
jb 0x1001c272
push esi
lea ecx, [esp + 0x14]
mov byte [esp + 0x49], 0
call fcn.1001d510
lea ecx, [esp + 0x30]
push ecx
push eax
call edi
push eax
call ebx
test eax, eax
je 0x1001c335
mov edx, 0x8c
xor ecx, ecx
mov al, byte [ecx + 0x1004fc8c]
xor al, dl
mov byte [esp + ecx + 0x64], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x15
jb 0x1001c2b3
push esi
lea ecx, [esp + 0x24]
mov byte [esp + 0x7d], 0
call fcn.1001d510
lea ecx, [esp + 0x64]
push ecx
push eax
call edi
push eax
call ebx
cmp byte [eax], 0xe9
jne 0x1001c2ee
xor eax, eax
jmp 0x1001c335
mov edx, 0x8c
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ecx + 0x1004fc8c]
xor al, dl
mov byte [esp + ecx + 0x4c], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x15
jb 0x1001c300
push esi
lea ecx, [esp + 0x80]
mov byte [esp + 0x65], 0
call fcn.1001d510
lea ecx, [esp + 0x4c]
push ecx
push eax
call edi
push eax
call ebx
mov ecx, dword [0x10163968]
mov edx, 0xb0
mov dword [ecx*4 + 0x10163868], eax
inc ecx
mov dword [0x10163968], ecx
xor ecx, ecx
mov al, byte [ecx + 0x1004fca4]
xor al, dl
mov byte [esp + ecx + 0x30], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x10
jb 0x1001c350
push esi
lea ecx, [esp + 0x14]
mov byte [esp + 0x44], 0
call fcn.1001d510
lea ecx, [esp + 0x30]
push ecx
push eax
call edi
push eax
call ebx
test eax, eax
je 0x1001c3c7
mov edx, 0xb0
xor ecx, ecx
nop dword [eax]
mov al, byte [ecx + 0x1004fca4]
xor al, dl
mov byte [esp + ecx + 0x64], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x10
jb 0x1001c390
push esi
lea ecx, [esp + 0x24]
mov byte [esp + 0x78], 0
call fcn.1001d510
lea ecx, [esp + 0x64]
push ecx
push eax
call edi
push eax
call ebx
cmp byte [eax], 0xe9
jne 0x1001c3cb
xor eax, eax
jmp 0x1001c407
mov edx, 0xb0
xor ecx, ecx
mov al, byte [ecx + 0x1004fca4]
xor al, dl
mov byte [esp + ecx + 0x4c], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x10
jb 0x1001c3d2
push esi
lea ecx, [esp + 0x80]
mov byte [esp + 0x60], 0
call fcn.1001d510
lea ecx, [esp + 0x4c]
push ecx
push eax
call edi
push eax
call ebx
mov ecx, dword [0x10163968]
mov dword [ecx*4 + 0x10163868], eax
inc ecx
mov dword [0x10163968], ecx
call fcn.1001c440
mov ecx, dword [esp + 0x8c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10026898
mov esp, ebp
pop ebp
ret