Function at 0x15ded40
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x140
mov esi, esp
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x9c], eax
mov esp, eax
push eax
sub esp, 0x24
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x20], eax
mov esp, eax
push eax
mov dword [esi + 0x4c], esp
push eax
mov dword [esi + 0x48], esp
push eax
mov dword [esi + 0x98], esp
sub esp, 0x70
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x1c], eax
mov esp, eax
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0xa0], eax
mov esp, eax
push eax
sub esp, 0x204
mov dword [esi + 0xb4], esp
push eax
mov dword [esi + 0x2c], esp
push eax
mov dword [esi + 0x94], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x84], eax
mov esp, eax
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x70], eax
mov esp, eax
push eax
mov dword [esi + 0x40], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0xac], eax
mov esp, eax
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x74], eax
mov esp, eax
push eax
sub esp, 0x64
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x34], eax
mov esp, eax
push eax
sub esp, 0x64
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
push eax
sub esp, 0x64
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
push eax
sub esp, 0x64
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
push eax
sub esp, 0x64
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
push eax
sub esp, 0x64
mov ebx, esp
and ebx, 0xfffffff8
mov dword [esi + 0x38], ebx
mov esp, ebx
push eax
sub esp, 0x20
mov dword [esi + 0x44], esp
sub esp, 0x100
mov dword [esi + 0x30], esp
sub esp, 0x10
mov ebx, esp
and ebx, 0xfffffff8
mov dword [esi + 0x8c], ebx
mov esp, ebx
push eax
sub esp, 0xc
mov ebx, esp
and ebx, 0xfffffff8
mov dword [esi + 0x68], ebx
mov esp, ebx
push eax
sub esp, 0x24
mov ebx, esp
and ebx, 0xfffffff8
mov dword [esi + 0x3c], ebx
mov esp, ebx
push eax
mov dword [esi + 0x6c], esp
push eax
mov dword [esi + 0x64], esp
push eax
mov dword [esi + 0x60], esp
sub esp, 0x70
mov ebx, esp
and ebx, 0xfffffff8
mov dword [esi + 0x5c], ebx
mov esp, ebx
push eax
sub esp, 0x14
mov ebx, esp
and ebx, 0xfffffff8
mov dword [esi + 0x78], ebx
mov esp, ebx
mov dword [esi + 0x7c], edi
mov dword [esi + 0x90], edx
mov dword [esi + 0x80], ecx
mov dword [esi + 0x28], eax
push eax
sub esp, 0xc
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0xb0], eax
mov esp, eax
push eax
sub esp, 0x64
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x88], eax
mov esp, eax
push eax
sub esp, 0x14
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x58], eax
mov esp, eax
push eax
sub esp, 0x7fc
mov dword [esi + 0x54], esp
sub esp, 0x88
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0xa4], eax
mov esp, eax
push eax
sub esp, 0x40
mov dword [esi + 0xa8], esp
sub esp, 0x10
mov dword [esi + 0x50], esp
mov ecx, dword [0x441d24]
mov edi, dword [esi + 0x9c]
mov dword [edi], 0x9bdf33f6
mov dword [edi + 8], 0
mov dword [edi + 4], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 0xb
ja 0x15def73
nop
nop
mov eax, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [edi + edx]
lea ebx, [eax + 0x3c]
and ebx, edx
add eax, edx
add ebx, ebx
sub eax, ebx
add eax, 0x9a6fc03c
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0x5c
mov edx, dword [esi + 4]
mov byte [edi + edx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 0xc
jb 0x15def40
mov eax, dword [0x441d20]
mov edi, dword [esi + 0x20]
mov dword [edi], 0xa8a0b0b1
mov dword [edi + 4], 0x908d929c
mov dword [edi + 8], 0x908d9664
mov dword [edi + 0xc], 0x80959499
mov dword [edi + 0x10], 0x71de9e9f
mov dword [edi + 0x14], 0xcbbb8f81
mov dword [edi + 0x18], 0x8fc6cdcc
mov dword [edi + 0x1c], 0xf7b3958d
mov dword [edi + 0x20], 0
mov dword [esi + 4], 0
mov edx, dword [esi + 4]
cmp edx, 0x23
ja 0x15df00f
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esi + 4]
mov ebx, dword [esi + 4]
movzx ebx, byte [edi + ebx]
lea edi, [edx + ebx]
add edi, 0x26cd055d
add edx, 0x26cd055d
and edx, ebx
add edx, edx
sub edi, edx
mov dword [esi + 8], edi
mov edx, dword [esi + 8]
add dl, 0x75
mov edi, dword [esi + 4]
mov ebx, dword [esi + 0x20]
mov byte [ebx + edi], dl
mov edi, dword [esi + 0x20]
inc dword [esi + 4]
mov edx, dword [esi + 4]
cmp edx, 0x24
jb 0x15defd0
movzx edx, byte [edi]
test dl, dl
je 0x15df02d
inc edi
lea ebx, [esi + 0xb8]
nop
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x15df020
jmp 0x15df033
lea ebx, [esi + 0xb8]
mov byte [ebx], 0
movzx edx, byte [eax]
test dl, dl
je 0x15df05d
inc eax
mov edi, dword [esi + 0x1c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [eax]
inc eax
test dl, dl
jne 0x15df050
jmp 0x15df060
mov edi, dword [esi + 0x1c]
mov byte [ebx], 0
mov edx, dword [esi + 0x9c]
movzx eax, byte [edx]
test al, al
je 0x15df08b
inc edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [edx]
inc edx
test al, al
jne 0x15df080
mov byte [ebx], 0
movzx eax, byte [ecx]
test al, al
je 0x15df0ab
inc ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x15df0a0
mov byte [ebx], 0
lea ecx, [esi + 0xb8]
mov eax, dword [esi + 0x4c]
mov dword [eax], 0
mov dword [edi], 0xfb69f9c3
mov dword [edi + 4], 0xff68fd64
mov dword [edi + 8], 0xf36ef159
mov dword [edi + 0xc], 0xf7abf566
mov dword [edi + 0x10], 0xeb63e942
mov dword [edi + 0x14], 0xef4bed7a
mov dword [edi + 0x18], 0xe380e1a4
mov dword [edi + 0x1c], 0xe774e541
mov dword [edi + 0x20], 0xdb44d976
mov dword [edi + 0x24], 0xdf79dd41
mov dword [edi + 0x28], 0xd344d17d
mov dword [edi + 0x2c], 0xd745d549
mov dword [edi + 0x30], 0xcb99c948
mov dword [edi + 0x34], 0xcf93cd42
mov dword [edi + 0x38], 0xc349c147
mov dword [edi + 0x3c], 0xc79bc54b
mov dword [edi + 0x40], 0x3ba93960
mov dword [edi + 0x44], 0x3fa33da8
mov dword [edi + 0x48], 0x33a73161
mov dword [edi + 0x4c], 0x37a835a0
mov dword [edi + 0x50], 0x2bb62991
mov dword [edi + 0x54], 0x2fbd2d8f
mov dword [edi + 0x58], 0x2387218a
mov dword [edi + 0x5c], 0x275b2586
mov dword [edi + 0x60], 0x1b18195c
mov word [edi + 0x6c], 0
mov dword [edi + 0x68], 0
mov dword [edi + 0x64], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 0x6d
ja 0x15df1d0
nop
nop
mov eax, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [edi + edx]
lea edi, [eax + 0x768fd33f]
add eax, 0x3f
and eax, edx
or edi, edx
sub edi, eax
mov dword [esi + 8], edi
mov edi, dword [esi + 0x1c]
mov eax, dword [esi + 8]
mov edx, eax
xor edx, 0x46
and eax, 0x46
lea eax, [edx + eax*2]
inc al
mov edx, dword [esi + 4]
mov byte [edi + edx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 0x6e
jb 0x15df190
sub ebx, ecx
mov edi, dword [esi + 0xa0]
mov dword [edi], 0x33ab3567
mov dword [edi + 4], 0x2fa731a2
mov word [edi + 8], 0x2d2e
mov dword [edi + 0xa], 0
mov word [edi + 0xe], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 0xf
ja 0x15df25a
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [edi + edx]
lea edi, [eax + 0x4da8c589]
and edi, edx
add eax, edx
add eax, 0x4da8c589
add edi, edi
sub eax, edi
mov edi, dword [esi + 0xa0]
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
add al, 0x41
mov edx, dword [esi + 4]
mov byte [edi + edx], al
mov eax, dword [esi + 4]
mov edx, eax
and edx, 1
xor eax, 1
lea eax, [eax + edx*2]
mov dword [esi + 4], eax
mov eax, dword [esi + 4]
cmp eax, 0x10
jb 0x15df210
push dword [esi + 0x98]
push dword [esi + 0x48]
push ebx
push ecx
push dword [esi + 0x1c]
push edi
push 0x447604
call fcn.015dc4e0
add esp, 0x1c
movzx eax, al
jmp dword [eax*4 + 0x442808]