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

Disassembly:
sub esp, 0xfc
push ebx
push ebp
xor ebp, ebp
push esi
mov esi, dword [esp + 0x10c]
push edi
mov ebx, ecx
mov edi, eax
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], ebp
mov dword [esp + 0x58], ebp
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x60], ebp
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x70], ebp
mov dword [esp + 0x74], ebp
mov dword [esp + 0x78], ebp
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x80], ebp
mov dword [esp + 0x84], ebp
mov dword [esp + 0x88], ebp
mov dword [esp + 0x8c], ebp
mov eax, ebx
mov edx, esi
mov ecx, dword [eax]
inc dword [esp + ecx*4 + 0x50]
lea ecx, [esp + ecx*4 + 0x50]
add eax, 4
dec edx
jne 0x7a1cb166
cmp dword [esp + 0x50], esi
jne 0x7a1cb196
mov eax, dword [esp + 0x120]
mov dword [eax], ebp
mov dword [edi], ebp
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xfc
ret 0x20
mov eax, dword [edi]
mov dword [esp + 0x10], eax
mov ecx, 1
cmp dword [esp + ecx*4 + 0x50], ebp
jne 0x7a1cb1d9
cmp dword [esp + ecx*4 + 0x54], ebp
jne 0x7a1cb1c9
cmp dword [esp + ecx*4 + 0x58], ebp
jne 0x7a1cb1cc
cmp dword [esp + ecx*4 + 0x5c], ebp
jne 0x7a1cb1d1
cmp dword [esp + ecx*4 + 0x60], ebp
jne 0x7a1cb1d6
add ecx, 5
cmp ecx, 0xf
jbe 0x7a1cb1a1
jmp 0x7a1cb1d9
inc ecx
jmp 0x7a1cb1d9
add ecx, 2
jmp 0x7a1cb1d9
add ecx, 3
jmp 0x7a1cb1d9
add ecx, 4
cmp eax, ecx
mov dword [esp + 0x14], ecx
jae 0x7a1cb1e7
mov dword [esp + 0x10], ecx
mov eax, ecx
mov esi, 0xf
cmp dword [esp + esi*4 + 0x50], ebp
jne 0x7a1cb1f5
dec esi
jne 0x7a1cb1ec
cmp eax, esi
mov dword [esp + 0x28], esi
jbe 0x7a1cb203
mov dword [esp + 0x10], esi
mov eax, esi
mov edx, 1
shl edx, cl
cmp ecx, esi
mov dword [edi], eax
jae 0x7a1cb21d
sub edx, dword [esp + ecx*4 + 0x50]
js 0x7a1cb236
inc ecx
shl edx, 1
cmp ecx, esi
jb 0x7a1cb210
lea ecx, [esi*4]
lea edi, [esp + ecx + 0x50]
mov dword [esp + 0x30], ecx
mov ecx, dword [edi]
sub edx, ecx
mov dword [esp + 0x4c], edx
jns 0x7a1cb248
pop edi
pop esi
pop ebp
mov eax, 0xfffffffd
pop ebx
add esp, 0xfc
ret 0x20
add ecx, edx
mov dword [edi], ecx
xor ecx, ecx
dec esi
mov dword [esp + 0x94], ebp
je 0x7a1cb26d
xor edi, edi
mov edi, edi
add ecx, dword [esp + edi + 0x54]
add edi, 4
dec esi
mov dword [esp + edi + 0x94], ecx
jne 0x7a1cb25c
mov esi, ebx
xor edi, edi
mov ecx, dword [esi]
add esi, 4
cmp ecx, ebp
mov dword [esp + 0x20], esi
je 0x7a1cb29d
mov esi, dword [esp + ecx*4 + 0x90]
mov ebx, dword [esp + 0x12c]
lea ecx, [esp + ecx*4 + 0x90]
mov dword [ebx + esi*4], edi
inc esi
mov dword [ecx], esi
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x110]
inc edi
cmp edi, ecx
jb 0x7a1cb271
mov ecx, dword [esp + 0x30]
mov ecx, dword [esp + ecx + 0x90]
mov esi, dword [esp + 0x28]
mov dword [esp + 0x110], ecx
mov ecx, dword [esp + 0x12c]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x14]
mov ebx, eax
xor edi, edi
neg ebx
cmp ecx, esi
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x90], ebp
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0xd0], edi
mov dword [esp + 0x30], edi
jg 0x7a1cb596
mov esi, dword [esp + 0x38]
lea edx, [ecx - 1]
mov dword [esp + 0x40], edx
lea edx, [esp + ecx*4 + 0x50]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x24]
mov edx, dword [edx]
test edx, edx
mov dword [esp + 0x1c], edx
je 0x7a1cb575
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x1c], ecx
lea ecx, [ebx + eax]
cmp edx, ecx
jle 0x7a1cb458
mov dword [esp + 0x3c], ecx
mov ecx, ebx
sub ecx, eax
jmp 0x7a1cb34b
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x44]
lea ecx, [ecx]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
inc ebp
mov dword [esp + 0x18], ebp
mov ebp, dword [esp + 0x3c]
add ebx, eax
add ecx, eax
add ebp, eax
sub edx, ebx
cmp edx, eax
mov dword [esp + 0x44], ecx
mov dword [esp + 0x3c], ebp
jbe 0x7a1cb372
mov edx, eax
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
sub ecx, ebx
mov eax, 1
shl eax, cl
lea edi, [ebp + 1]
cmp eax, edi
jbe 0x7a1cb3b1
or edi, 0xffffffff
sub edi, ebp
mov ebp, dword [esp + 0x24]
add eax, edi
cmp ecx, edx
jae 0x7a1cb3b1
inc ecx
cmp ecx, edx
jae 0x7a1cb3b1
mov edi, dword [ebp + 4]
add ebp, 4
shl eax, 1
cmp eax, edi
jbe 0x7a1cb3b1
sub eax, edi
inc ecx
cmp ecx, edx
jb 0x7a1cb39e
mov eax, dword [esp + 0x128]
mov eax, dword [eax]
mov edi, 1
shl edi, cl
lea edx, [edi + eax]
cmp edx, 0x5a0
ja 0x7a1cb5bb
mov ebp, dword [esp + 0x124]
lea ebp, [ebp + eax*8]
mov eax, dword [esp + 0x18]
lea eax, [esp + eax*4 + 0xd0]
mov dword [esp + 0x48], eax
mov dword [eax], ebp
mov eax, dword [esp + 0x128]
mov dword [eax], edx
mov eax, dword [esp + 0x18]
test eax, eax
mov dword [esp + 0x30], ebp
je 0x7a1cb43d
mov esi, dword [esp + 0x2c]
mov dl, byte [esp + 0x10]
mov dword [esp + eax*4 + 0x90], esi
mov byte [esp + 0x34], cl
mov ecx, dword [esp + 0x44]
mov eax, esi
shr eax, cl
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx - 4]
mov esi, ebp
sub esi, ecx
mov byte [esp + 0x35], dl
mov edx, dword [esp + 0x34]
sar esi, 3
sub esi, eax
mov dword [ecx + eax*8], edx
mov dword [ecx + eax*8 + 4], esi
jmp 0x7a1cb446
mov eax, dword [esp + 0x120]
mov dword [eax], ebp
mov ecx, dword [esp + 0x3c]
cmp dword [esp + 0x14], ecx
jg 0x7a1cb341
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x12c]
mov al, dl
sub al, bl
mov byte [esp + 0x35], al
mov eax, dword [esp + 0x110]
lea ecx, [ecx + eax*4]
mov eax, dword [esp + 0x20]
cmp eax, ecx
jb 0x7a1cb484
mov byte [esp + 0x34], 0xc0
jmp 0x7a1cb4cc
mov esi, dword [eax]
mov ecx, dword [esp + 0x114]
cmp esi, ecx
jae 0x7a1cb4a5
cmp esi, 0x100
setb cl
dec cl
and ecx, 0x60
mov byte [esp + 0x34], cl
jmp 0x7a1cb4c5
sub esi, ecx
mov ecx, dword [esp + 0x11c]
shl esi, 2
mov cl, byte [ecx + esi]
add cl, 0x50
mov byte [esp + 0x34], cl
mov ecx, dword [esp + 0x118]
mov esi, dword [ecx + esi]
add eax, 4
mov dword [esp + 0x20], eax
mov ecx, edx
sub ecx, ebx
mov edx, 1
shl edx, cl
mov eax, ebp
mov ecx, ebx
shr eax, cl
cmp eax, edi
jae 0x7a1cb506
mov ecx, dword [esp + 0x30]
lea ecx, [ecx + eax*8]
lea ecx, [ecx]
mov ebp, dword [esp + 0x34]
mov dword [ecx], ebp
lea ebp, [edx*8]
mov dword [ecx + 4], esi
add eax, edx
add ecx, ebp
cmp eax, edi
jb 0x7a1cb4ea
mov ebp, dword [esp + 0x2c]
mov ecx, dword [esp + 0x40]
mov eax, 1
shl eax, cl
test ebp, eax
je 0x7a1cb51d
xor ebp, eax
shr eax, 1
test ebp, eax
jne 0x7a1cb515
mov ecx, ebx
mov edx, 1
shl edx, cl
xor ebp, eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + eax*4 + 0x90]
dec edx
and edx, ebp
cmp edx, ecx
mov dword [esp + 0x2c], ebp
je 0x7a1cb561
lea esp, [esp]
sub ebx, dword [esp + 0x10]
mov ecx, ebx
mov edx, 1
shl edx, cl
mov ecx, dword [esp + eax*4 + 0x8c]
dec eax
dec edx
and edx, ebp
cmp edx, ecx
jne 0x7a1cb541
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x1c]
test eax, eax
mov eax, dword [esp + 0x10]
jne 0x7a1cb31f
mov ecx, dword [esp + 0x14]
add dword [esp + 0x24], 4
mov edx, dword [esp + 0x40]
inc ecx
inc edx
mov dword [esp + 0x40], edx
cmp ecx, dword [esp + 0x28]
mov dword [esp + 0x14], ecx
jle 0x7a1cb30d
mov edx, dword [esp + 0x4c]
test edx, edx
je 0x7a1cb187
cmp dword [esp + 0x28], 1
je 0x7a1cb187
pop edi
pop esi
pop ebp
mov eax, 0xfffffffb
pop ebx
add esp, 0xfc
ret 0x20
pop edi
pop esi
pop ebp
mov eax, 0xfffffffc
pop ebx
add esp, 0xfc
ret 0x20