Function at 0x10013970
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 [0x1002700c]
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 0x100139a0
push 0x64b9e7ee
lea ecx, [esp + 0x80]
mov byte [esp + 0x4c], 0
call fcn.10015480
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 [0x1013200c], 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 0x100139f1
mov byte [esp + 0x1b], 0
mov edx, 0x55
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ecx + 0x1002281c]
xor al, dl
mov byte [esp + ecx + 0x20], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x10013a20
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 [0x10132130]
mov edx, 0x81
mov dword [ecx*4 + 0x10132030], eax
inc ecx
mov dword [0x10132130], ecx
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ecx + 0x1002282c]
xor al, dl
mov byte [esp + ecx + 0x10], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xb
jb 0x10013a70
mov byte [esp + 0x1b], 0
mov edx, 0x55
xor ecx, ecx
mov al, byte [ecx + 0x1002281c]
xor al, dl
mov byte [esp + ecx + 0x20], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x10013a94
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 [0x10132130]
mov edx, 0x36
mov dword [ecx*4 + 0x10132030], eax
inc ecx
mov dword [0x10132130], 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 0x10013ae0
mov byte [esp + 0x40], 0
mov edx, 0x55
xor ecx, ecx
mov al, byte [ecx + 0x1002281c]
xor al, dl
mov byte [esp + ecx + 0x10], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x10013b04
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 [0x10132130]
mov edx, 0x27
mov dword [ecx*4 + 0x10132030], eax
inc ecx
mov dword [0x10132130], 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 0x10013b50
mov byte [esp + 0x1c], 0
mov edx, 0x55
xor ecx, ecx
mov al, byte [ecx + 0x1002281c]
xor al, dl
mov byte [esp + ecx + 0x20], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x10013b74
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 [0x10132130]
mov edx, 0xcc
mov dword [ecx*4 + 0x10132030], eax
inc ecx
mov dword [0x10132130], ecx
xor ecx, ecx
nop dword [eax + eax]
mov al, byte [ecx + 0x1002285c]
xor al, dl
mov byte [esp + ecx + 0x30], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x17
jb 0x10013bc0
mov byte [esp + 0x47], 0
mov edx, 0x55
xor ecx, ecx
mov al, byte [ecx + 0x1002281c]
xor al, dl
mov byte [esp + ecx + 0x10], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x10013be4
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 [0x10132130]
mov edx, 0x7d
mov dword [ecx*4 + 0x10132030], eax
inc ecx
mov dword [0x10132130], ecx
xor ecx, ecx
nop dword [eax + eax]
mov al, byte [ecx + 0x10022874]
xor al, dl
mov byte [esp + ecx + 0x30], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x19
jb 0x10013c30
mov byte [esp + 0x49], 0
mov edx, 0x55
xor ecx, ecx
mov al, byte [ecx + 0x1002281c]
xor al, dl
mov byte [esp + ecx + 0x10], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x10013c54
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 [0x10132130]
mov edx, 0xf9
mov dword [ecx*4 + 0x10132030], eax
inc ecx
mov dword [0x10132130], ecx
xor ecx, ecx
nop dword [eax + eax]
mov al, byte [ecx + 0x10022890]
xor al, dl
mov byte [esp + ecx + 0x10], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x10013ca0
mov byte [esp + 0x1c], 0
mov edx, 0x55
xor ecx, ecx
mov al, byte [ecx + 0x1002281c]
xor al, dl
mov byte [esp + ecx + 0x20], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x10013cc4
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 0x10013dc0
mov edx, 0xf9
xor ecx, ecx
nop
mov al, byte [ecx + 0x10022890]
xor al, dl
mov byte [esp + ecx + 0x7c], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x10013d00
mov byte [esp + 0x88], 0
mov edx, 0x55
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ecx + 0x1002281c]
xor al, dl
mov byte [esp + ecx + 0x4c], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x10013d30
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 0x10013d65
xor eax, eax
jmp 0x10013dc0
mov edx, 0xf9
xor ecx, ecx
nop dword [eax]
mov al, byte [ecx + 0x10022890]
xor al, dl
mov byte [esp + ecx + 0x64], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x10013d70
mov byte [esp + 0x70], 0
mov edx, 0x55
xor ecx, ecx
mov al, byte [ecx + 0x1002281c]
xor al, dl
mov byte [esp + ecx + 0x30], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xc
jb 0x10013d94
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 [0x10132130]
mov edx, 0x32
mov dword [ecx*4 + 0x10132030], eax
inc ecx
mov dword [0x10132130], 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 0x10013de0
push 0x64b9e7ee
lea ecx, [esp + 0x80]
mov byte [esp + 0x41], 0
call fcn.10015480
lea ecx, [esp + 0x30]
push ecx
push eax
call edi
push eax
call ebx
test eax, eax
je 0x10013eb6
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 0x10013e30
push 0x64b9e7ee
lea ecx, [esp + 0x24]
mov byte [esp + 0x75], 0
call fcn.10015480
lea ecx, [esp + 0x64]
push ecx
push eax
call edi
push eax
call ebx
cmp byte [eax], 0xe9
jne 0x10013e6f
xor eax, eax
jmp 0x10013eb6
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 0x10013e80
push 0x64b9e7ee
lea ecx, [esp + 0x14]
mov byte [esp + 0x5d], 0
call fcn.10015480
lea ecx, [esp + 0x4c]
push ecx
push eax
call edi
push eax
call ebx
mov ecx, dword [0x10132130]
mov edx, 0x5b
mov dword [ecx*4 + 0x10132030], eax
inc ecx
mov dword [0x10132130], ecx
xor ecx, ecx
mov al, byte [ecx + 0x100228b0]
xor al, dl
mov byte [esp + ecx + 0x30], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x12
jb 0x10013ed1
push 0x64b9e7ee
lea ecx, [esp + 0x14]
mov byte [esp + 0x46], 0
call fcn.10015480
lea ecx, [esp + 0x30]
push ecx
push eax
call edi
push eax
call ebx
test eax, eax
je 0x10013fa9
mov edx, 0x5b
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ecx + 0x100228b0]
xor al, dl
mov byte [esp + ecx + 0x64], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x12
jb 0x10013f20
push 0x64b9e7ee
lea ecx, [esp + 0x24]
mov byte [esp + 0x7a], 0
call fcn.10015480
lea ecx, [esp + 0x64]
push ecx
push eax
call edi
push eax
call ebx
cmp byte [eax], 0xe9
jne 0x10013f5f
xor eax, eax
jmp 0x10013fa9
mov edx, 0x5b
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ecx + 0x100228b0]
xor al, dl
mov byte [esp + ecx + 0x4c], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x12
jb 0x10013f70
push 0x64b9e7ee
lea ecx, [esp + 0x80]
mov byte [esp + 0x62], 0
call fcn.10015480
lea ecx, [esp + 0x4c]
push ecx
push eax
call edi
push eax
call ebx
mov ecx, dword [0x10132130]
mov edx, 0x48
mov dword [ecx*4 + 0x10132030], eax
inc ecx
mov dword [0x10132130], ecx
xor ecx, ecx
mov al, byte [ecx + 0x100228c4]
xor al, dl
mov byte [esp + ecx + 0x30], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x10
jb 0x10013fc4
push 0x64b9e7ee
lea ecx, [esp + 0x14]
mov byte [esp + 0x44], 0
call fcn.10015480
lea ecx, [esp + 0x30]
push ecx
push eax
call edi
push eax
call ebx
test eax, eax
je 0x10014099
mov edx, 0x48
xor ecx, ecx
nop dword [eax]
mov al, byte [ecx + 0x100228c4]
xor al, dl
mov byte [esp + ecx + 0x64], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x10
jb 0x10014010
push 0x64b9e7ee
lea ecx, [esp + 0x24]
mov byte [esp + 0x78], 0
call fcn.10015480
lea ecx, [esp + 0x64]
push ecx
push eax
call edi
push eax
call ebx
cmp byte [eax], 0xe9
jne 0x1001404f
xor eax, eax
jmp 0x10014099
mov edx, 0x48
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ecx + 0x100228c4]
xor al, dl
mov byte [esp + ecx + 0x4c], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x10
jb 0x10014060
push 0x64b9e7ee
lea ecx, [esp + 0x80]
mov byte [esp + 0x60], 0
call fcn.10015480
lea ecx, [esp + 0x4c]
push ecx
push eax
call edi
push eax
call ebx
mov ecx, dword [0x10132130]
mov edx, 0xa9
mov dword [ecx*4 + 0x10132030], eax
inc ecx
mov dword [0x10132130], ecx
xor ecx, ecx
mov al, byte [ecx + 0x100228d8]
xor al, dl
mov byte [esp + ecx + 0x30], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xf
jb 0x100140b4
push 0x64b9e7ee
lea ecx, [esp + 0x14]
mov byte [esp + 0x43], 0
call fcn.10015480
lea ecx, [esp + 0x30]
push ecx
push eax
call edi
push eax
call ebx
test eax, eax
je 0x10014189
mov edx, 0xa9
xor ecx, ecx
nop dword [eax]
mov al, byte [ecx + 0x100228d8]
xor al, dl
mov byte [esp + ecx + 0x64], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xf
jb 0x10014100
push 0x64b9e7ee
lea ecx, [esp + 0x24]
mov byte [esp + 0x77], 0
call fcn.10015480
lea ecx, [esp + 0x64]
push ecx
push eax
call edi
push eax
call ebx
cmp byte [eax], 0xe9
jne 0x1001413f
xor eax, eax
jmp 0x10014189
mov edx, 0xa9
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ecx + 0x100228d8]
xor al, dl
mov byte [esp + ecx + 0x4c], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xf
jb 0x10014150
push 0x64b9e7ee
lea ecx, [esp + 0x80]
mov byte [esp + 0x5f], 0
call fcn.10015480
lea ecx, [esp + 0x4c]
push ecx
push eax
call edi
push eax
call ebx
mov ecx, dword [0x10132130]
mov edx, 0xbd
mov dword [ecx*4 + 0x10132030], eax
inc ecx
mov dword [0x10132130], ecx
xor ecx, ecx
mov al, byte [ecx + 0x100228e8]
xor al, dl
mov byte [esp + ecx + 0x30], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x15
jb 0x100141a4
mov esi, 0x10022900
mov byte [esp + 0x45], 0
sub esi, 0x7ae9cc4c
lea ecx, [esp + 0x10]
push esi
call fcn.10015500
lea ecx, [esp + 0x30]
push ecx
push eax
call edi
push eax
call ebx
test eax, eax
je 0x10014267
mov edx, 0xbd
xor ecx, ecx
mov al, byte [ecx + 0x100228e8]
xor al, dl
mov byte [esp + ecx + 0x64], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x15
jb 0x100141f0
push esi
lea ecx, [esp + 0x24]
mov byte [esp + 0x7d], 0
call fcn.10015500
lea ecx, [esp + 0x64]
push ecx
push eax
call edi
push eax
call ebx
cmp byte [eax], 0xe9
jne 0x1001422b
xor eax, eax
jmp 0x10014267
mov edx, 0xbd
xor ecx, ecx
mov al, byte [ecx + 0x100228e8]
xor al, dl
mov byte [esp + ecx + 0x4c], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x15
jb 0x10014232
push esi
lea ecx, [esp + 0x80]
mov byte [esp + 0x65], 0
call fcn.10015500
lea ecx, [esp + 0x4c]
push ecx
push eax
call edi
push eax
call ebx
mov ecx, dword [0x10132130]
mov edx, 0x8c
mov dword [ecx*4 + 0x10132030], eax
inc ecx
mov dword [0x10132130], ecx
xor ecx, ecx
mov al, byte [ecx + 0x1002290c]
xor al, dl
mov byte [esp + ecx + 0x30], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x15
jb 0x10014282
push esi
lea ecx, [esp + 0x14]
mov byte [esp + 0x49], 0
call fcn.10015500
lea ecx, [esp + 0x30]
push ecx
push eax
call edi
push eax
call ebx
test eax, eax
je 0x10014345
mov edx, 0x8c
xor ecx, ecx
mov al, byte [ecx + 0x1002290c]
xor al, dl
mov byte [esp + ecx + 0x64], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x15
jb 0x100142c3
push esi
lea ecx, [esp + 0x24]
mov byte [esp + 0x7d], 0
call fcn.10015500
lea ecx, [esp + 0x64]
push ecx
push eax
call edi
push eax
call ebx
cmp byte [eax], 0xe9
jne 0x100142fe
xor eax, eax
jmp 0x10014345
mov edx, 0x8c
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ecx + 0x1002290c]
xor al, dl
mov byte [esp + ecx + 0x4c], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x15
jb 0x10014310
push esi
lea ecx, [esp + 0x80]
mov byte [esp + 0x65], 0
call fcn.10015500
lea ecx, [esp + 0x4c]
push ecx
push eax
call edi
push eax
call ebx
mov ecx, dword [0x10132130]
mov edx, 0xb0
mov dword [ecx*4 + 0x10132030], eax
inc ecx
mov dword [0x10132130], ecx
xor ecx, ecx
mov al, byte [ecx + 0x10022924]
xor al, dl
mov byte [esp + ecx + 0x30], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x10
jb 0x10014360
push esi
lea ecx, [esp + 0x14]
mov byte [esp + 0x44], 0
call fcn.10015500
lea ecx, [esp + 0x30]
push ecx
push eax
call edi
push eax
call ebx
test eax, eax
je 0x100143d7
mov edx, 0xb0
xor ecx, ecx
nop dword [eax]
mov al, byte [ecx + 0x10022924]
xor al, dl
mov byte [esp + ecx + 0x64], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x10
jb 0x100143a0
push esi
lea ecx, [esp + 0x24]
mov byte [esp + 0x78], 0
call fcn.10015500
lea ecx, [esp + 0x64]
push ecx
push eax
call edi
push eax
call ebx
cmp byte [eax], 0xe9
jne 0x100143db
xor eax, eax
jmp 0x10014417
mov edx, 0xb0
xor ecx, ecx
mov al, byte [ecx + 0x10022924]
xor al, dl
mov byte [esp + ecx + 0x4c], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x10
jb 0x100143e2
push esi
lea ecx, [esp + 0x80]
mov byte [esp + 0x60], 0
call fcn.10015500
lea ecx, [esp + 0x4c]
push ecx
push eax
call edi
push eax
call ebx
mov ecx, dword [0x10132130]
mov dword [ecx*4 + 0x10132030], eax
inc ecx
mov dword [0x10132130], ecx
call fcn.10014450
mov ecx, dword [esp + 0x8c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1001a628
mov esp, ebp
pop ebp
ret