Function at 0x101210d0
Capabilities:
Encode data using xor
Encrypt data using aes
Reference aes constants
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x740
mov eax, dword [0x103c4120]
xor eax, ebp
mov dword [ebp - 4], eax
mov edx, dword [ebp + 0xc]
mov ecx, 0x20
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
lea edi, [ebp - 0x234]
lea esi, [ebx + 8]
mov dword [ebp - 0x6fc], esi
rep movsd dword es:[edi], dword [esi]
mov esi, dword [edx + 0x1e0]
add esi, dword [edx + 0x1c0]
add esi, dword [edx + 0x1a0]
add esi, dword [edx + 0x180]
add esi, dword [edx + 0x160]
add esi, dword [edx + 0x140]
add esi, dword [edx + 0x120]
add esi, dword [edx + 0x100]
mov ecx, dword [edx + 0xe0]
add ecx, dword [edx + 0xc0]
add ecx, dword [edx + 0xa0]
add ecx, dword [edx + 0x80]
add ecx, dword [edx + 0x60]
add ecx, dword [edx + 0x40]
add ecx, dword [edx + 0x20]
add ecx, dword [edx]
add esi, dword [ebp - 0x1f4]
add esi, dword [ebp - 0x1d4]
add ecx, dword [ebp - 0x234]
mov edi, esi
mov edx, dword [ebp - 0x214]
mov eax, esi
add edx, ecx
ror eax, 5
mov ecx, edx
rol esi, 5
ror edi, 0xd
xor edi, eax
rol ecx, 0xd
mov eax, edx
xor edi, esi
rol edx, 3
ror eax, 3
xor ecx, eax
xor ecx, edx
add edi, ecx
mov dword [ebp - 0x6b8], edi
mov edi, dword [ebp + 0xc]
mov esi, dword [edi + 0x1e4]
add esi, dword [edi + 0x1c4]
add esi, dword [edi + 0x1a4]
add esi, dword [edi + 0x184]
add esi, dword [edi + 0x164]
add esi, dword [edi + 0x144]
add esi, dword [edi + 0x124]
mov edx, dword [edi + 0xe4]
add edx, dword [edi + 0xc4]
add edx, dword [edi + 0xa4]
add edx, dword [edi + 0x84]
add esi, dword [edi + 0x104]
add edx, dword [edi + 0x64]
add esi, dword [ebp - 0x1f0]
add esi, dword [ebp - 0x1d0]
add edx, dword [edi + 0x44]
mov ecx, esi
add edx, dword [edi + 0x24]
mov eax, esi
add edx, dword [edi + 4]
add edx, dword [ebp - 0x230]
add edx, dword [ebp - 0x210]
ror ecx, 0xd
ror eax, 5
xor ecx, eax
rol esi, 5
xor ecx, esi
mov eax, edx
mov dword [ebp - 0x6e0], ecx
mov ecx, edx
rol ecx, 0xd
ror eax, 3
xor ecx, eax
mov esi, dword [edi + 0xe8]
add esi, dword [edi + 0xc8]
add esi, dword [edi + 0xa8]
add esi, dword [edi + 0x88]
add esi, dword [edi + 0x68]
add esi, dword [edi + 0x48]
add esi, dword [edi + 0x28]
add esi, dword [edi + 8]
add esi, dword [ebp - 0x22c]
add esi, dword [ebp - 0x20c]
rol edx, 3
mov eax, esi
xor ecx, edx
ror eax, 3
add dword [ebp - 0x6e0], ecx
mov ecx, esi
mov edx, dword [edi + 0x1e8]
add edx, dword [edi + 0x1c8]
add edx, dword [edi + 0x1a8]
add edx, dword [edi + 0x188]
add edx, dword [edi + 0x168]
add edx, dword [edi + 0x148]
add edx, dword [edi + 0x128]
add edx, dword [edi + 0x108]
add edx, dword [ebp - 0x1ec]
add edx, dword [ebp - 0x1cc]
rol esi, 3
rol ecx, 0xd
xor ecx, eax
mov eax, edx
xor ecx, esi
ror eax, 5
mov esi, dword [edi + 0xec]
add esi, dword [edi + 0xcc]
add esi, dword [edi + 0xac]
add esi, dword [edi + 0x8c]
add esi, dword [edi + 0x6c]
add esi, dword [edi + 0x4c]
add esi, dword [edi + 0x2c]
add esi, dword [edi + 0xc]
add esi, dword [ebp - 0x228]
add esi, dword [ebp - 0x208]
mov dword [ebp - 0x6d8], ecx
mov ecx, edx
ror ecx, 0xd
xor ecx, eax
rol edx, 5
xor ecx, edx
mov eax, esi
mov edx, dword [edi + 0x1ec]
add edx, dword [edi + 0x1cc]
add edx, dword [edi + 0x1ac]
add edx, dword [edi + 0x18c]
add dword [ebp - 0x6d8], ecx
mov ecx, esi
add edx, dword [edi + 0x16c]
add edx, dword [edi + 0x14c]
add edx, dword [edi + 0x12c]
add edx, dword [edi + 0x10c]
add edx, dword [ebp - 0x1e8]
add edx, dword [ebp - 0x1c8]
rol ecx, 0xd
rol esi, 3
ror eax, 3
xor ecx, eax
mov eax, edx
xor ecx, esi
ror eax, 5
mov esi, dword [edi + 0xf0]
add esi, dword [edi + 0xd0]
add esi, dword [edi + 0xb0]
add esi, dword [edi + 0x90]
add esi, dword [edi + 0x70]
mov dword [ebp - 0x6d0], ecx
mov ecx, edx
ror ecx, 0xd
xor ecx, eax
rol edx, 5
xor ecx, edx
add dword [ebp - 0x6d0], ecx
add esi, dword [edi + 0x50]
add esi, dword [edi + 0x30]
add esi, dword [edi + 0x10]
add esi, dword [ebp - 0x224]
add esi, dword [ebp - 0x204]
mov edx, dword [edi + 0x1f0]
mov ecx, esi
add edx, dword [edi + 0x1d0]
mov eax, esi
add edx, dword [edi + 0x1b0]
add edx, dword [edi + 0x190]
add edx, dword [edi + 0x170]
add edx, dword [edi + 0x150]
add edx, dword [edi + 0x130]
add edx, dword [edi + 0x110]
add edx, dword [ebp - 0x1e4]
add edx, dword [ebp - 0x1c4]
rol ecx, 0xd
rol esi, 3
ror eax, 3
xor ecx, eax
mov eax, edx
xor ecx, esi
ror eax, 5
mov esi, dword [edi + 0xf4]
add esi, dword [edi + 0xd4]
add esi, dword [edi + 0xb4]
add esi, dword [edi + 0x94]
add esi, dword [edi + 0x74]
add esi, dword [edi + 0x54]
add esi, dword [edi + 0x34]
add esi, dword [edi + 0x14]
add esi, dword [ebp - 0x220]
add esi, dword [ebp - 0x200]
mov dword [ebp - 0x6e4], ecx
mov ecx, edx
rol edx, 5
ror ecx, 0xd
xor ecx, eax
mov eax, esi
xor ecx, edx
ror eax, 3
add dword [ebp - 0x6e4], ecx
mov ecx, esi
mov edx, dword [edi + 0x1f4]
add edx, dword [edi + 0x1d4]
add edx, dword [edi + 0x1b4]
add edx, dword [edi + 0x194]
add edx, dword [edi + 0x174]
add edx, dword [edi + 0x154]
add edx, dword [edi + 0x134]
add edx, dword [edi + 0x114]
add edx, dword [ebp - 0x1e0]
add edx, dword [ebp - 0x1c0]
rol ecx, 0xd
xor ecx, eax
rol esi, 3
xor ecx, esi
mov eax, edx
mov dword [ebp - 0x6e8], ecx
mov ecx, edx
rol edx, 5
ror ecx, 0xd
ror eax, 5
xor ecx, eax
xor ecx, edx
mov edx, dword [edi + 0xf8]
add edx, dword [edi + 0xd8]
add edx, dword [edi + 0xb8]
add edx, dword [edi + 0x98]
add edx, dword [edi + 0x78]
add dword [ebp - 0x6e8], ecx
add edx, dword [edi + 0x58]
add edx, dword [edi + 0x38]
mov ecx, dword [edi + 0x1f8]
add ecx, dword [edi + 0x1d8]
add edx, dword [edi + 0x18]
add ecx, dword [edi + 0x1b8]
add edx, dword [ebp - 0x21c]
add ecx, dword [edi + 0x198]
add edx, dword [ebp - 0x1fc]
add ecx, dword [edi + 0x178]
add ecx, dword [edi + 0x158]
add ecx, dword [edi + 0x138]
add ecx, dword [edi + 0x118]
add ecx, dword [ebp - 0x1dc]
add ecx, dword [ebp - 0x1bc]
mov esi, ecx
mov dword [ebp - 0x6bc], 0
mov eax, ecx
ror esi, 0xd
rol ecx, 5
ror eax, 5
xor esi, eax
mov dword [ebp - 0x6c8], 1
xor esi, ecx
mov eax, edx
mov ecx, edx
ror eax, 3
rol ecx, 0xd
xor ecx, eax
rol edx, 3
xor ecx, edx
mov edx, dword [edi + 0xfc]
add edx, dword [edi + 0xdc]
add esi, ecx
add edx, dword [edi + 0xbc]
mov ecx, dword [edi + 0x1fc]
add ecx, dword [edi + 0x1dc]
add ecx, dword [edi + 0x1bc]
add ecx, dword [edi + 0x19c]
add ecx, dword [edi + 0x17c]
add ecx, dword [edi + 0x15c]
add edx, dword [edi + 0x9c]
add ecx, dword [edi + 0x13c]
add edx, dword [edi + 0x7c]
add ecx, dword [edi + 0x11c]
add edx, dword [edi + 0x5c]
add edx, dword [edi + 0x3c]
add ecx, dword [ebp - 0x1d8]
add edx, dword [edi + 0x1c]
add ecx, dword [ebp - 0x1b8]
add edx, dword [ebp - 0x218]
mov edi, ecx
add edx, dword [ebp - 0x1f8]
mov eax, ecx
ror eax, 5
rol ecx, 5
ror edi, 0xd
xor edi, eax
mov dword [ebp - 0x6c4], esi
mov esi, dword [ebp - 0x6d0]
xor edi, ecx
mov ecx, edx
mov eax, edx
ror eax, 3
rol ecx, 0xd
xor ecx, eax
rol edx, 3
mov al, byte [ebx + 4]
xor ecx, edx
mov edx, dword [ebp - 0x6c4]
add edi, ecx
mov ecx, dword [ebp - 0x6b8]
mov byte [ebp - 0x6bd], al
shr al, 1
movzx eax, al
inc eax
mov dword [ebp - 0x6cc], edi
movzx eax, ax
mov dword [ebp - 0x6dc], eax
jmp 0x10121610
mov ebx, dword [ebp - 0x6e8]
mov eax, edi
xor ebx, dword [ebp - 0x6e4]
xor eax, edx
mov edi, eax
xor edx, esi
xor edx, dword [ebp - 0x6e0]
xor edi, esi
xor edi, ecx
xor ebx, esi
xor ebx, dword [ebp - 0x6e0]
xor edx, ecx
xor ebx, ecx
mov dword [ebp - 0x6ec], edi
mov ecx, eax
mov dword [ebp - 0x720], edi
xor eax, dword [ebp - 0x6e4]
xor eax, dword [ebp - 0x6d0]
xor eax, dword [ebp - 0x6d8]
xor ecx, dword [ebp - 0x6e8]
mov edi, dword [ebp - 0x6cc]
mov esi, ecx
xor ecx, dword [ebp - 0x6d8]
xor edi, dword [ebp - 0x6d8]
xor edi, dword [ebp - 0x6b8]
xor esi, dword [ebp - 0x6e4]
mov dword [ebp - 0x6f0], eax
mov dword [ebp - 0x708], eax
mov eax, dword [ebp - 0x6c4]
xor eax, dword [ebp - 0x6e4]
xor eax, dword [ebp - 0x6b8]
mov dword [ebp - 0x6f8], eax
mov dword [ebp - 0x704], eax
mov eax, dword [ebp - 0x6bc]
mov dword [ebp - 0x700], ecx
mov dword [ebp - 0x70c], ecx
movzx ecx, ax
mov eax, ecx
mov dword [ebp - 0x71c], edx
mov dword [ebp - 0x718], ebx
mov dword [ebp - 0x714], esi
mov dword [ebp - 0x6f4], edi
mov dword [ebp - 0x710], edi
and eax, 0x800000ff
jns 0x101216ed
dec eax
or eax, 0xffffff00
inc eax
mov eax, dword [eax*4 + 0x101fb838]
shl ecx, 2
mov dword [ebp - 0x6d4], ecx
mov ecx, edx
or ecx, eax
and edx, eax
mov eax, dword [ebp - 0x6bc]
and ecx, dword [ebp - 0x6ec]
movzx edi, ax
or ecx, edx
mov eax, edi
and eax, 0x8000007f
jns 0x10121722
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [ebp + 0xc]
add ecx, dword [edx + eax*4]
lea edx, [edi + 1]
mov eax, edx
mov dword [ebp + edi*4 - 0x6b4], ecx
and eax, 0x800000ff
jns 0x10121742
dec eax
or eax, 0xffffff00
inc eax
mov eax, dword [eax*4 + 0x101fb838]
mov ecx, ebx
or ecx, eax
not esi
and ecx, esi
and ebx, eax
or ecx, ebx
and edx, 0x8000007f
jns 0x10121762
dec edx
or edx, 0xffffff80
inc edx
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x6c8]
add ecx, dword [ebx + edx*4]
mov dword [ebp + edi*4 - 0x6b0], ecx
cmp eax, 0x20
je 0x1012189a
lea edx, [edi + 2]
mov eax, edx
and eax, 0x800000ff
jns 0x10121791
dec eax
or eax, 0xffffff00
inc eax
mov esi, dword [ebp - 0x700]
mov ecx, esi
mov eax, dword [eax*4 + 0x101fb838]
or ecx, eax
and ecx, dword [ebp - 0x6f4]
and esi, eax
or ecx, esi
and edx, 0x8000007f
jns 0x101217b9
dec edx
or edx, 0xffffff80
inc edx
add ecx, dword [ebx + edx*4]
lea edx, [edi + 3]
mov eax, edx
mov dword [ebp + edi*4 - 0x6ac], ecx
and eax, 0x800000ff
jns 0x101217d6
dec eax
or eax, 0xffffff00
inc eax
mov esi, dword [ebp - 0x6f0]
mov ecx, esi
mov eax, dword [eax*4 + 0x101fb838]
or ecx, eax
mov edi, dword [ebp - 0x6f8]
and esi, eax
not edi
and ecx, edi
or ecx, esi
and edx, 0x8000007f
jns 0x10121802
dec edx
or edx, 0xffffff80
inc edx
movdqu xmm0, xmmword [ebp - 0x720]
mov eax, dword [ebp - 0x6d4]
add ecx, dword [ebx + edx*4]
movdqu xmmword [ebp - 0x740], xmm0
mov esi, dword [ebp - 0x734]
movdqu xmm0, xmmword [ebp - 0x710]
mov dword [ebp + eax - 0x6a8], ecx
mov ecx, dword [ebp - 0x740]
movdqu xmmword [ebp - 0x730], xmm0
mov eax, dword [ebp - 0x72c]
mov edi, dword [ebp - 0x724]
mov edx, dword [ebp - 0x728]
mov dword [ebp - 0x6e8], eax
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x6e4], eax
mov eax, dword [ebp - 0x738]
mov dword [ebp - 0x6d8], eax
mov eax, dword [ebp - 0x73c]
mov dword [ebp - 0x6e0], eax
mov eax, dword [ebp - 0x6c8]
mov dword [ebp - 0x6cc], edi
mov dword [ebp - 0x6c4], edx
mov dword [ebp - 0x6d0], esi
mov dword [ebp - 0x6b8], ecx
jmp 0x101218b2
mov ecx, dword [ebp - 0x6b8]
mov esi, dword [ebp - 0x6d0]
mov edx, dword [ebp - 0x6c4]
mov edi, dword [ebp - 0x6cc]
add dword [ebp - 0x6bc], 4
add eax, 2
dec dword [ebp - 0x6dc]
mov dword [ebp - 0x6c8], eax
jne 0x10121610
mov edx, dword [ebp - 0x6b4]
add edx, dword [ebp - 0x6b0]
mov eax, edx
shr eax, 0x10
xor edx, eax
mov eax, edx
shr eax, 8
movzx ecx, al
movzx eax, dl
xor ecx, eax
mov cl, byte [ecx + 0x101fb738]
mov al, cl
mov byte [ebp - 0x124], cl
and al, 0xf
shr cl, 4
mov byte [ebp - 0x1b4], al
mov al, byte [ebp - 0x6bd]
movzx eax, al
mov byte [ebp - 0x94], cl
mov ecx, 1
mov word [ebp - 0x6be], ax
movzx eax, ax
cmp cx, ax
jae 0x10121982
xor esi, esi
lea edi, [ebp - 0x6ac]
dec eax
movzx ebx, ax
mov edx, dword [edi + 4]
lea edi, [edi + 8]
add edx, dword [edi - 8]
lea esi, [esi + 1]
mov eax, edx
shr eax, 0x10
xor edx, eax
mov eax, edx
shr eax, 8
movzx ecx, al
movzx eax, dl
xor ecx, eax
mov cl, byte [ecx + 0x101fb738]
xor cl, byte [ebp + esi - 0x125]
mov al, cl
mov byte [ebp + esi - 0x124], cl
and al, 0xf
shr cl, 4
mov byte [ebp + esi - 0x1b4], al
mov byte [ebp + esi - 0x94], cl
dec ebx
jne 0x10121936
movzx ecx, word [ebp - 0x6be]
xor eax, eax
cmp ax, cx
jae 0x10121bc0
xor edx, edx
mov dword [ebp - 0x6c4], ecx
mov eax, 8
mov dword [ebp - 0x6bc], edx
lea esi, [ebp - 0x94]
mov edi, 0xfffffff0
lea ebx, [ebp - 0x6b4]
mov dword [ebp - 0x6b8], edi
sub eax, esi
mov dword [ebp - 0x6cc], ebx
mov dword [ebp - 0x6dc], eax
lea esp, [esp]
mov eax, edx
and eax, 0x80000001
jns 0x101219de
dec eax
or eax, 0xfffffffe
inc eax
movzx eax, byte [ebp + edx - 0x1b4]
jne 0x10121abd
shl eax, 2
mov dword [ebp - 0x6d4], eax
mov ecx, dword [ebp + eax - 0x1f4]
mov esi, ecx
mov eax, ecx
ror esi, 0xd
rol ecx, 5
ror eax, 5
xor esi, eax
mov eax, dword [ebp - 0x6dc]
xor esi, ecx
lea ecx, [ebp - 0x94]
add ecx, edx
add eax, ecx
and eax, 0x1f
movzx ecx, byte [ecx]
mov edx, dword [ebp + eax*4 - 0x234]
mov eax, edx
and edx, esi
or eax, esi
and eax, dword [ebp + ecx*4 - 0x234]
or eax, edx
mov edx, dword [ebp + ecx*4 - 0x1f4]
add eax, dword [ebx + 4]
mov ecx, edx
ror ecx, 3
mov ebx, edx
rol ebx, 0xd
xor ebx, ecx
rol edx, 3
mov ecx, dword [ebp - 0x6bc]
xor ebx, edx
and ecx, 0x1f
lea edx, [ebp - 0x234]
lea ecx, [edx + ecx*4]
mov edx, dword [ecx]
mov esi, edx
mov dword [ebp - 0x6c8], ecx
or esi, ebx
mov ecx, edi
and edx, ebx
mov ebx, dword [ebp - 0x6cc]
lea edi, [ebp - 0x234]
and ecx, 0x1f
lea edi, [edi + ecx*4]
mov ecx, dword [ebp - 0x6d4]
and esi, dword [ebp + ecx - 0x234]
mov ecx, dword [ebp - 0x6b8]
or esi, edx
movzx ecx, byte [ebp + ecx - 0x114]
add esi, dword [ecx*4 + 0x101fb838]
add esi, dword [ebx]
add esi, eax
xor dword [edi], esi
mov edi, dword [ebp - 0x6b8]
jmp 0x10121b8f
shl eax, 2
mov dword [ebp - 0x6d4], eax
mov ecx, dword [ebp + eax - 0x1f4]
mov edi, ecx
mov eax, ecx
ror edi, 0xd
ror eax, 5
xor edi, eax
rol ecx, 5
xor edi, ecx
lea eax, [ebp - 0x94]
add eax, edx
movzx esi, byte [eax]
add eax, dword [ebp - 0x6dc]
and eax, 0x1f
mov edx, dword [ebp + esi*4 - 0x234]
mov ecx, edx
or ecx, edi
and edx, edi
mov eax, dword [ebp + eax*4 - 0x234]
mov edi, dword [ebp - 0x6d4]
not eax
and eax, ecx
or eax, edx
mov edx, dword [ebp + esi*4 - 0x1f4]
add eax, dword [ebx + 4]
mov ecx, edx
mov ebx, edx
ror ecx, 3
mov edi, dword [ebp + edi - 0x234]
rol edx, 3
rol ebx, 0xd
xor ebx, ecx
mov ecx, dword [ebp - 0x6bc]
xor ebx, edx
and ecx, 0x1f
lea edx, [ebp - 0x234]
mov esi, edx
lea ecx, [edx + ecx*4]
mov edx, edi
mov dword [ebp - 0x6c8], ecx
or edx, ebx
mov ecx, dword [ebp - 0x6b8]
and edi, ebx
mov ebx, dword [ebp - 0x6cc]
and ecx, 0x1f
lea esi, [esi + ecx*4]
mov ecx, dword [ebp - 0x6c8]
mov ecx, dword [ecx]
not ecx
and edx, ecx
or edx, edi
mov edi, dword [ebp - 0x6b8]
movzx ecx, byte [ebp + edi - 0x114]
add edx, dword [ecx*4 + 0x101fb838]
add edx, dword [ebx]
add edx, eax
xor dword [esi], edx
mov ecx, dword [ebp - 0x6c8]
add ebx, 8
mov edx, dword [ebp - 0x6bc]
inc edi
inc edx
mov dword [ebp - 0x6cc], ebx
mov dword [ebp - 0x6bc], edx
add dword [ecx], eax
dec dword [ebp - 0x6c4]
mov dword [ebp - 0x6b8], edi
jne 0x101219d0
mov ecx, dword [ebp - 0x6fc]
lea edx, [ebp - 0x234]
mov esi, 0x20
mov eax, dword [edx]
lea edx, [edx + 4]
add dword [ecx], eax
lea ecx, [ecx + 4]
dec esi
jne 0x10121bd1
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.101c6a5b
mov esp, ebp
pop ebp
ret 8