Function at 0x10019a50
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 [0x100551b8]
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 0x10019a80
push 0x64bcab1e
lea ecx, [esp + 0x80]
mov byte [esp + 0x4c], 0
call fcn.1001b5d0
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 [0x101617ac], 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 0x10019ad1
mov byte [esp + 0x1b], 0
mov edx, 0x55
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ecx + 0x1004eb4c]
xor al, dl
mov byte [esp + ecx + 0x20], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x10019b00
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 [0x101618d0]
mov edx, 0x81
mov dword [ecx*4 + 0x101617d0], eax
inc ecx
mov dword [0x101618d0], ecx
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ecx + 0x1004eb5c]
xor al, dl
mov byte [esp + ecx + 0x10], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xb
jb 0x10019b50
mov byte [esp + 0x1b], 0
mov edx, 0x55
xor ecx, ecx
mov al, byte [ecx + 0x1004eb4c]
xor al, dl
mov byte [esp + ecx + 0x20], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x10019b74
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 [0x101618d0]
mov edx, 0x36
mov dword [ecx*4 + 0x101617d0], eax
inc ecx
mov dword [0x101618d0], 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 0x10019bc0
mov byte [esp + 0x40], 0
mov edx, 0x55
xor ecx, ecx
mov al, byte [ecx + 0x1004eb4c]
xor al, dl
mov byte [esp + ecx + 0x10], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x10019be4
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 [0x101618d0]
mov edx, 0x27
mov dword [ecx*4 + 0x101617d0], eax
inc ecx
mov dword [0x101618d0], 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 0x10019c30
mov byte [esp + 0x1c], 0
mov edx, 0x55
xor ecx, ecx
mov al, byte [ecx + 0x1004eb4c]
xor al, dl
mov byte [esp + ecx + 0x20], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x10019c54
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 [0x101618d0]
mov edx, 0xcc
mov dword [ecx*4 + 0x101617d0], eax
inc ecx
mov dword [0x101618d0], ecx
xor ecx, ecx
nop dword [eax + eax]
mov al, byte [ecx + 0x1004eb8c]
xor al, dl
mov byte [esp + ecx + 0x30], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x17
jb 0x10019ca0
mov byte [esp + 0x47], 0
mov edx, 0x55
xor ecx, ecx
mov al, byte [ecx + 0x1004eb4c]
xor al, dl
mov byte [esp + ecx + 0x10], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x10019cc4
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 [0x101618d0]
mov edx, 0x7d
mov dword [ecx*4 + 0x101617d0], eax
inc ecx
mov dword [0x101618d0], ecx
xor ecx, ecx
nop dword [eax + eax]
mov al, byte [ecx + 0x1004eba4]
xor al, dl
mov byte [esp + ecx + 0x30], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x19
jb 0x10019d10
mov byte [esp + 0x49], 0
mov edx, 0x55
xor ecx, ecx
mov al, byte [ecx + 0x1004eb4c]
xor al, dl
mov byte [esp + ecx + 0x10], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x10019d34
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 [0x101618d0]
mov edx, 0xf9
mov dword [ecx*4 + 0x101617d0], eax
inc ecx
mov dword [0x101618d0], ecx
xor ecx, ecx
nop dword [eax + eax]
mov al, byte [ecx + 0x1004ebc0]
xor al, dl
mov byte [esp + ecx + 0x10], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x10019d80
mov byte [esp + 0x1c], 0
mov edx, 0x55
xor ecx, ecx
mov al, byte [ecx + 0x1004eb4c]
xor al, dl
mov byte [esp + ecx + 0x20], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x10019da4
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 0x10019ea0
mov edx, 0xf9
xor ecx, ecx
nop
mov al, byte [ecx + 0x1004ebc0]
xor al, dl
mov byte [esp + ecx + 0x7c], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x10019de0
mov byte [esp + 0x88], 0
mov edx, 0x55
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ecx + 0x1004eb4c]
xor al, dl
mov byte [esp + ecx + 0x4c], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x10019e10
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 0x10019e45
xor eax, eax
jmp 0x10019ea0
mov edx, 0xf9
xor ecx, ecx
nop dword [eax]
mov al, byte [ecx + 0x1004ebc0]
xor al, dl
mov byte [esp + ecx + 0x64], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x10019e50
mov byte [esp + 0x70], 0
mov edx, 0x55
xor ecx, ecx
mov al, byte [ecx + 0x1004eb4c]
xor al, dl
mov byte [esp + ecx + 0x30], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x10019e74
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 [0x101618d0]
mov edx, 0x32
mov dword [ecx*4 + 0x101617d0], eax
inc ecx
mov dword [0x101618d0], 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 0x10019ec0
push 0x64bcab1e
lea ecx, [esp + 0x80]
mov byte [esp + 0x41], 0
call fcn.1001b5d0
lea ecx, [esp + 0x30]
push ecx
push eax
call edi
push eax
call ebx
test eax, eax
je 0x10019f96
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 0x10019f10
push 0x64bcab1e
lea ecx, [esp + 0x24]
mov byte [esp + 0x75], 0
call fcn.1001b5d0
lea ecx, [esp + 0x64]
push ecx
push eax
call edi
push eax
call ebx
cmp byte [eax], 0xe9
jne 0x10019f4f
xor eax, eax
jmp 0x10019f96
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 0x10019f60
push 0x64bcab1e
lea ecx, [esp + 0x14]
mov byte [esp + 0x5d], 0
call fcn.1001b5d0
lea ecx, [esp + 0x4c]
push ecx
push eax
call edi
push eax
call ebx
mov ecx, dword [0x101618d0]
mov edx, 0x5b
mov dword [ecx*4 + 0x101617d0], eax
inc ecx
mov dword [0x101618d0], ecx
xor ecx, ecx
mov al, byte [ecx + 0x1004ebe0]
xor al, dl
mov byte [esp + ecx + 0x30], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x12
jb 0x10019fb1
push 0x64bcab1e
lea ecx, [esp + 0x14]
mov byte [esp + 0x46], 0
call fcn.1001b5d0
lea ecx, [esp + 0x30]
push ecx
push eax
call edi
push eax
call ebx
test eax, eax
je 0x1001a089
mov edx, 0x5b
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ecx + 0x1004ebe0]
xor al, dl
mov byte [esp + ecx + 0x64], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x12
jb 0x1001a000
push 0x64bcab1e
lea ecx, [esp + 0x24]
mov byte [esp + 0x7a], 0
call fcn.1001b5d0
lea ecx, [esp + 0x64]
push ecx
push eax
call edi
push eax
call ebx
cmp byte [eax], 0xe9
jne 0x1001a03f
xor eax, eax
jmp 0x1001a089
mov edx, 0x5b
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ecx + 0x1004ebe0]
xor al, dl
mov byte [esp + ecx + 0x4c], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x12
jb 0x1001a050
push 0x64bcab1e
lea ecx, [esp + 0x80]
mov byte [esp + 0x62], 0
call fcn.1001b5d0
lea ecx, [esp + 0x4c]
push ecx
push eax
call edi
push eax
call ebx
mov ecx, dword [0x101618d0]
mov edx, 0x48
mov dword [ecx*4 + 0x101617d0], eax
inc ecx
mov dword [0x101618d0], ecx
xor ecx, ecx
mov al, byte [ecx + 0x1004ebf4]
xor al, dl
mov byte [esp + ecx + 0x30], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x10
jb 0x1001a0a4
push 0x64bcab1e
lea ecx, [esp + 0x14]
mov byte [esp + 0x44], 0
call fcn.1001b5d0
lea ecx, [esp + 0x30]
push ecx
push eax
call edi
push eax
call ebx
test eax, eax
je 0x1001a179
mov edx, 0x48
xor ecx, ecx
nop dword [eax]
mov al, byte [ecx + 0x1004ebf4]
xor al, dl
mov byte [esp + ecx + 0x64], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x10
jb 0x1001a0f0
push 0x64bcab1e
lea ecx, [esp + 0x24]
mov byte [esp + 0x78], 0
call fcn.1001b5d0
lea ecx, [esp + 0x64]
push ecx
push eax
call edi
push eax
call ebx
cmp byte [eax], 0xe9
jne 0x1001a12f
xor eax, eax
jmp 0x1001a179
mov edx, 0x48
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ecx + 0x1004ebf4]
xor al, dl
mov byte [esp + ecx + 0x4c], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x10
jb 0x1001a140
push 0x64bcab1e
lea ecx, [esp + 0x80]
mov byte [esp + 0x60], 0
call fcn.1001b5d0
lea ecx, [esp + 0x4c]
push ecx
push eax
call edi
push eax
call ebx
mov ecx, dword [0x101618d0]
mov edx, 0xa9
mov dword [ecx*4 + 0x101617d0], eax
inc ecx
mov dword [0x101618d0], ecx
xor ecx, ecx
mov al, byte [ecx + 0x1004ec08]
xor al, dl
mov byte [esp + ecx + 0x30], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xf
jb 0x1001a194
push 0x64bcab1e
lea ecx, [esp + 0x14]
mov byte [esp + 0x43], 0
call fcn.1001b5d0
lea ecx, [esp + 0x30]
push ecx
push eax
call edi
push eax
call ebx
test eax, eax
je 0x1001a269
mov edx, 0xa9
xor ecx, ecx
nop dword [eax]
mov al, byte [ecx + 0x1004ec08]
xor al, dl
mov byte [esp + ecx + 0x64], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xf
jb 0x1001a1e0
push 0x64bcab1e
lea ecx, [esp + 0x24]
mov byte [esp + 0x77], 0
call fcn.1001b5d0
lea ecx, [esp + 0x64]
push ecx
push eax
call edi
push eax
call ebx
cmp byte [eax], 0xe9
jne 0x1001a21f
xor eax, eax
jmp 0x1001a269
mov edx, 0xa9
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ecx + 0x1004ec08]
xor al, dl
mov byte [esp + ecx + 0x4c], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xf
jb 0x1001a230
push 0x64bcab1e
lea ecx, [esp + 0x80]
mov byte [esp + 0x5f], 0
call fcn.1001b5d0
lea ecx, [esp + 0x4c]
push ecx
push eax
call edi
push eax
call ebx
mov ecx, dword [0x101618d0]
mov edx, 0xbd
mov dword [ecx*4 + 0x101617d0], eax
inc ecx
mov dword [0x101618d0], ecx
xor ecx, ecx
mov al, byte [ecx + 0x1004ec18]
xor al, dl
mov byte [esp + ecx + 0x30], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x15
jb 0x1001a284
mov esi, 0x1004ec30
mov byte [esp + 0x45], 0
sub esi, 0x7ae9cc4c
lea ecx, [esp + 0x10]
push esi
call fcn.1001b650
lea ecx, [esp + 0x30]
push ecx
push eax
call edi
push eax
call ebx
test eax, eax
je 0x1001a347
mov edx, 0xbd
xor ecx, ecx
mov al, byte [ecx + 0x1004ec18]
xor al, dl
mov byte [esp + ecx + 0x64], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x15
jb 0x1001a2d0
push esi
lea ecx, [esp + 0x24]
mov byte [esp + 0x7d], 0
call fcn.1001b650
lea ecx, [esp + 0x64]
push ecx
push eax
call edi
push eax
call ebx
cmp byte [eax], 0xe9
jne 0x1001a30b
xor eax, eax
jmp 0x1001a347
mov edx, 0xbd
xor ecx, ecx
mov al, byte [ecx + 0x1004ec18]
xor al, dl
mov byte [esp + ecx + 0x4c], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x15
jb 0x1001a312
push esi
lea ecx, [esp + 0x80]
mov byte [esp + 0x65], 0
call fcn.1001b650
lea ecx, [esp + 0x4c]
push ecx
push eax
call edi
push eax
call ebx
mov ecx, dword [0x101618d0]
mov edx, 0x8c
mov dword [ecx*4 + 0x101617d0], eax
inc ecx
mov dword [0x101618d0], ecx
xor ecx, ecx
mov al, byte [ecx + 0x1004ec3c]
xor al, dl
mov byte [esp + ecx + 0x30], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x15
jb 0x1001a362
push esi
lea ecx, [esp + 0x14]
mov byte [esp + 0x49], 0
call fcn.1001b650
lea ecx, [esp + 0x30]
push ecx
push eax
call edi
push eax
call ebx
test eax, eax
je 0x1001a425
mov edx, 0x8c
xor ecx, ecx
mov al, byte [ecx + 0x1004ec3c]
xor al, dl
mov byte [esp + ecx + 0x64], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x15
jb 0x1001a3a3
push esi
lea ecx, [esp + 0x24]
mov byte [esp + 0x7d], 0
call fcn.1001b650
lea ecx, [esp + 0x64]
push ecx
push eax
call edi
push eax
call ebx
cmp byte [eax], 0xe9
jne 0x1001a3de
xor eax, eax
jmp 0x1001a425
mov edx, 0x8c
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ecx + 0x1004ec3c]
xor al, dl
mov byte [esp + ecx + 0x4c], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x15
jb 0x1001a3f0
push esi
lea ecx, [esp + 0x80]
mov byte [esp + 0x65], 0
call fcn.1001b650
lea ecx, [esp + 0x4c]
push ecx
push eax
call edi
push eax
call ebx
mov ecx, dword [0x101618d0]
mov edx, 0xb0
mov dword [ecx*4 + 0x101617d0], eax
inc ecx
mov dword [0x101618d0], ecx
xor ecx, ecx
mov al, byte [ecx + 0x1004ec54]
xor al, dl
mov byte [esp + ecx + 0x30], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x10
jb 0x1001a440
push esi
lea ecx, [esp + 0x14]
mov byte [esp + 0x44], 0
call fcn.1001b650
lea ecx, [esp + 0x30]
push ecx
push eax
call edi
push eax
call ebx
test eax, eax
je 0x1001a4b7
mov edx, 0xb0
xor ecx, ecx
nop dword [eax]
mov al, byte [ecx + 0x1004ec54]
xor al, dl
mov byte [esp + ecx + 0x64], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x10
jb 0x1001a480
push esi
lea ecx, [esp + 0x24]
mov byte [esp + 0x78], 0
call fcn.1001b650
lea ecx, [esp + 0x64]
push ecx
push eax
call edi
push eax
call ebx
cmp byte [eax], 0xe9
jne 0x1001a4bb
xor eax, eax
jmp 0x1001a4f7
mov edx, 0xb0
xor ecx, ecx
mov al, byte [ecx + 0x1004ec54]
xor al, dl
mov byte [esp + ecx + 0x4c], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x10
jb 0x1001a4c2
push esi
lea ecx, [esp + 0x80]
mov byte [esp + 0x60], 0
call fcn.1001b650
lea ecx, [esp + 0x4c]
push ecx
push eax
call edi
push eax
call ebx
mov ecx, dword [0x101618d0]
mov dword [ecx*4 + 0x101617d0], eax
inc ecx
mov dword [0x101618d0], ecx
call fcn.1001a530
mov ecx, dword [esp + 0x8c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10024f58
mov esp, ebp
pop ebp
ret