Function at 0x101bc6cd
Capabilities:
Encrypt data using aes
Reference aes constants

Disassembly:
xor ecx, dword [eax*8 + 0x100fd34a]
mov eax, dword [ebp - 4]
shr eax, 0x18
mov dword [ebp - 8], esi
xor ecx, dword [eax*8 + 0x100fd349]
mov eax, dword [ebp - 0xc]
movzx eax, al
xor ecx, dword [eax*8 + 0x100fd348]
jmp 0x101e7cef
add eax, edx
mov ecx, dword [edi + eax - 0x5d8c0534]
sbb eax, eax
lea eax, [edx*8 - 0x3b583979]
cwde
xor ecx, ebx
cdq
xor ecx, 0x472f5a11
push eax
or ax, 0xd6a7
xor dword [esp], edx
adc ecx, 0x2c8a281d
or byte [esp], dl
not edx
idiv word [esp + edx]
rol ecx, 2
xadd byte [esp + edx - 0x10a], dh
sbb ecx, 0xa73b249c
pop edx
bts ax, dx
cmovb edx, eax
xor ebx, ecx
push edx
add ebp, ecx
push eax
mov ecx, dword [esi]
shl edx, 0x2c
sub eax, 0xdb8b6a24
mov edx, dword [esi + eax*2 - 0x48e72bda]
btc ax, 0x91
xchg dword [esp + eax - 0x247395e9], eax
and eax, eax
adc esi, 8
cwde
jmp 0x1024c769
movzx eax, al
cmp di, 0xb718
clc
movzx eax, byte [eax + 0x100fdb48]
stc
xor ecx, eax
sal al, 0xe
movzx eax, bl
stc
shl ecx, 8
movzx eax, byte [eax + 0x100fdb48]
stc
cmp dh, 0xa5
xor ecx, eax
rcr eax, 0xa7
mov eax, dword [ebp - 0x14]
xor ecx, dword [eax]
mov eax, edi
cmc
stc
shr eax, 0x10
movzx eax, al
mov dword [edx], ecx
movzx ecx, byte [eax + 0x100fdb48]
clc
rcr ax, cl
mov eax, esi
shr eax, 0x18
bswap si
shrd esi, edx, 0x3e
mov esi, dword [ebp - 0x14]
cmc
movzx eax, byte [eax + 0x100fdb48]
cmc
shl eax, 8
xor ecx, eax
rol al, 0xc
nop
bsr ax, bp
mov eax, ebx
shr eax, 8
cmc
movzx eax, al
stc
jmp 0x101a4d2c
push 0xd219cb1c
adc esi, 6
rol byte [esp + 1], 0x81
adc dword [esp + 4], 0x99adda25
shrd edx, eax, cl
mov dword [esp + 2], 0xe2b0b79b
call fcn.101f4f55
xor ecx, edx
xor eax, 0x42ae3932
sar ecx, cl
call fcn.101ba79b
jg 0x1026a8b3
jmp 0x101fbf1e
not edx
rol cx, 0xeb
jp 0x101a63b8
push eax
movzx eax, ax
lea eax, [ebp - 0x284]
jmp 0x1025b19a
shr eax, 0x10
movzx eax, al
cmc
clc
jmp 0x10257ac8
call fcn.100dfb30
add dword [ebp - 0x288], esi
mov ax, si
lea eax, [ebp - 0x238]
jmp 0x101a33da
shl ecx, 8
test edi, esi
cmp cx, 0xd580
movzx eax, byte [eax + 0x100fdb48]
test eax, esi
test bx, 0x4b03
xor ecx, eax
mov eax, dword [ebp + 8]
test bx, si
movzx eax, al
test dl, bl
shl ecx, 8
test dl, dh
movzx eax, byte [eax + 0x100fdb48]
xor ecx, eax
dec eax
sub ax, si
mov eax, ebx
cmp bx, si
jmp 0x101bffc8
not eax
shl cl, 0xa1
and edx, eax
mov dword [ebp + ecx - 0x61f169be], edx
lea esi, [esi + ecx - 0x61f169c2]
movzx edx, cx
mov ecx, dword [esi + ecx - 0x61f169be]
movsx eax, dx
btc edx, 0xa9
xor ecx, ebx
dec ecx
and eax, edx
sal dx, 3
ror ecx, 2
lea eax, [eax*2 - 0x15617ec8]
btr eax, eax
xor ecx, 0x6f2ed298
shr eax, 0xae
dec edx
lea ecx, [edx + ecx + 0x2e3c2b]
bswap ecx
adc al, al
sub edx, 0x15a52038
lea eax, [eax + edx*8 - 0x4e467eeb]
not ecx
push eax
inc eax
lea ecx, [edx + ecx + 0x13adf7f8]
inc dl
sbb al, byte [esp + eax - 0x4971946]
and dl, 0x1c
xor ecx, 0xcca7282d
dec ecx
rol ecx, 1
xor ebx, ecx
shl edx, 0x8c
add edi, ecx
mov dword [esp + eax - 0x49719b0], edi
ret
inc dword [esi]
jmp 0x101cc9e4
mov dword [ebp - 0x14], edi
movzx edi, bx
inc di
mov edi, dword [ebp - 0x1c]
jmp 0x101d8f21
mov dword [esp + eax*2 - 0x72301c38], 0xf5121d29
xor edx, ebx
cwde
shr byte [esp + eax - 0xe1c], 0xe5
sbb edx, 0x99aacc3b
cwde
rol edx, 3
shl byte [esp + eax*2 - 0x1c35], 0x83
mov ecx, 0xd30da287
cwde
not edx
lea edx, [edx + ecx - 0x19842b59]
shr al, cl
neg edx
xchg cl, al
lea edx, [edx + ecx - 0x2ce3afcd]
xor ebx, edx
or byte [esp + eax - 0xe84], ch
adc ebp, edx
pop ecx
shl eax, 0x63
movzx edx, ax
lea esi, [esi + eax*2 - 0xe872]
bswap ecx
bswap edx
ja 0x101e34b8
mov edi, 0xb42c338f
movzx eax, di
btc edi, 0xb4
mov esp, esi
cwde
mov ecx, edi
shr eax, 0xa5
pop edi
ja 0x10214605
mov ecx, 0x3e2a67a1
movzx edx, cl
lea eax, [edx*8 - 0x316433cf]
mov cx, word [edi + ecx - 0x3e2a67a1]
bt eax, edx
shr dx, 0x65
and dx, 0x9cb2
mov ax, word [edi + edx + 2]
bts dx, dx
lea edi, [edi + edx*4 - 2]
sar dl, 2
and edx, 0xd2b6f12d
not cx
imul edx, edx
jae 0x101fc332
mov dword [ebp + eax - 0x78b4], edx
mov edx, dword [edi + ecx*4 - 0x1e2cc]
dec eax
lea edi, [edi + eax*4 - 0x1e2c8]
jne 0x101eca1b
ror dl, 1
sar cl, 0xa6
add ecx, 0x22b41d12
push ecx
xor dl, 0xa
xor bl, dl
xor eax, dword [esp + 8]
or ax, ax
xchg dword [esp + eax*4 - 0x58ef3408], eax
sbb ebp, 4
not eax
mov dword [ebp + eax - 0x7ffffffb], edx
dec word [esp + eax - 0x7ffffffb]
pop edx
pop ecx
pop edx
jno fcn.101eb011
xor ecx, dword [esi + 4]
test sp, 0xdda3
test ah, ch
jmp 0x101a3b0c
jmp fcn.101f423e
dec edi
mov dword [ebp - 4], eax
bt eax, esp
mov eax, ecx
cmc
mov dword [ebp - 0x1c], edi
test di, cx
cmp al, 0x37
test edi, edi
bswap edi
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0xc], eax
mov edi, edx
jmp 0x1018c4d3
push eax
jmp 0x101a4183
movzx edx, word [esi + eax - 0x7438]
shr al, 0x87
shr eax, 4
xor dx, bx
add dx, 0x7e2c
ror cx, cl
dec eax
not dx
sal cx, 0xa9
sbb eax, ecx
or al, ah
sbb dx, 0x35b7
neg dx
push ecx
xor bx, dx
sal ecx, 0xf9
lea edi, [edi + ecx*4 - 2]
not byte [esp + ecx*2 + 1]
dec dword [esp + ecx]
mov word [edi + ecx], dx
cdq
pop ecx
jge fcn.10187551
mov eax, 0xb060499
mov edx, dword [eax + ebp - 0xb060499]
lea ecx, [eax - 0xfedc673]
dec ecx
add eax, 0xd9bad40e
mov eax, dword [ebp + 4]
shl cx, 0xc1
adc ebp, 4
rol ecx, cl
inc cx
jg 0x10194467
mov edx, 0x5d8c059a
movsx eax, dl
lea ecx, [eax*8 - 0x5f5d1072]
lea edi, [edi + edx - 0x5d8c059e]
xor cx, ax
jge 0x1018401b
mov esi, dword [esi + 0x28]
jmp 0x1022845e
mov eax, ebx
xor ecx, dword [edi + 0xc]
add edi, 0x10
jmp 0x101ac073
cmovl ecx, eax
xor edx, ebx
sub cl, al
bswap edx
not eax
jns 0x10220526
rol edx, 1
neg edx
ror edx, 1
lea eax, [eax + eax*2 - 0x2b770c72]
xor ebx, edx
shl ecx, 0xfd
add esi, edx
neg cx
movzx edx, byte [edi + eax - 0x2c77f39a]
sets cl
btc eax, ecx
lea edi, [eax + edi - 0x2c77f39a]
sub dword [esp + eax - 0x2c77f39b], ecx
xor dl, bl
push ecx
rol eax, 0xff
neg dl
shl cl, 7
sal ax, 0xa8
not ecx
sbb dl, 0x9a
xor dl, cl
dec cl
js 0x101be1ab
mov edx, 0x402c3f9e
movzx ecx, dx
movzx cx, byte [ebp + ecx - 0x3f9e]
dec dx
mov dl, byte [edx + ebp - 0x402c3f9b]
add ebp, 2
mov eax, 0x2083a69d
add eax, eax
neg eax
or cl, dl
lea edx, [eax + eax + 0x5617d72d]
not cl
xor dl, 0xa4
mov word [ebp], cx
sub eax, 0xd3b7d1a7
shr eax, 0x1e
movsx ecx, al
lea esi, [eax + esi - 7]
call fcn.10203307
xor dl, bl
jmp 0x1023e350
shl ecx, 8
jmp 0x102697d9
push eax
lahf
setns ah
mov eax, 0x538090
call eax
mov esi, dword [0x1010e70c]
add esp, 0x14
mov ecx, dword [0x1010e708]
mov edx, edx
cdq
mov edx, dword [esi]
mov dword [ecx + edx*4], eax
jmp 0x101a8062
sub edi, edi
sub cx, si
shr ch, cl
rcl ecx, cl
sub eax, eax
shl cl, cl
and ecx, esp
rcr ch, 0xa0
mov ecx, dword [eax + 0x100fdb48]
stc
lea eax, [eax + 0x20]
stc
xor edi, ecx
cmp eax, 0x100
jb 0x101fbf30
mov eax, esi
cmp al, 0x39
btc cx, 0x90
shr edx, 0x18
shr eax, 0x10
xor cx, 0xfb0c
sub cl, 0xb8
cmovs cx, bp
movzx eax, al
shl ecx, cl
mov dword [ebp - 0x1c], edi
rcr cl, 0x26
sbb cx, 0xaa36
shrd ecx, edi, 0x97
mov edi, dword [ebp - 0x18]
xchg cx, cx
shld cx, si, 0xba
bts cx, di
movzx ecx, byte [eax + 0x100fdb48]
mov eax, ebp
movzx eax, byte [edx + 0x100fdb48]
dec edx
cmc
shl eax, 8
mov edx, ebx
sbb dl, 0xa8
movsx dx, dl
xor ecx, eax
adc edx, 0xee21d28f
mov edx, dword [ebp + 0xc]
stc
shl ecx, 8
shld ax, sp, 0xb2
movzx ax, dh
mov eax, edi
test bp, 0x3804
shr eax, 8
jmp 0x101870ab
not ax
adc dx, 0x6704
dec edx
and cx, ax
ror dl, 0xa2
mov word [edi + edx*2 - 0xcf80], cx
lea esi, [esi + edx*2 - 0xcf84]
lea edx, [edx*2 + 0x72125d04]
lea eax, [edx + edx - 0x5af7d446]
movsx ecx, dl
mov ecx, dword [esi + edx - 0x72132c84]
shl dx, 0xe7
dec eax
div al
xor ecx, ebx
imul eax
lea ecx, [edx + ecx + 0x2d0dd840]
bts edx, 0xa6
add eax, eax
sets al
bswap ecx
call fcn.101d99fd
btr ecx, ecx
ror cl, 4
add dl, byte [eax]
imul ecx, ecx
not cl
seto cl
lea edi, [ecx + edi - 0x40000003]
call fcn.1020f378
mov eax, dword [esi + ecx - 0x6cd861f]
mov cl, byte [ecx + esi - 0x6cd861b]
push 0x97936bac
jne 0x1018c49d
movzx eax, byte [eax + 0x100fdb48]
xor ecx, eax
adc ah, 0x14
mov eax, dword [ebp + 0x10]
jmp 0x10228ef0
inc cl
jle 0x10239646
call fcn.1024b0e8
movzx edx, al
mov dword [esp + eax*4 - 0x50], ebp
ret 4
cwde
inc edx
not ecx
ror edx, 3
lea edx, [edx + eax - 0x24c3ad3d]
rol eax, 0xaf
bts ax, ax
not edx
sar cl, 0xe6
or eax, eax
dec edx
bts ecx, eax
and ax, cx
xor ebx, edx
add esi, edx
mov edx, ecx
lea edx, [eax + edx - 0x16f018dc]
jmp esi
push 0x5e265e93
call fcn.101871d1
xor ebx, eax
push edx
add ebp, eax
lea esi, [esi + ecx - 0x73d98e15]
sub byte [esp + ecx - 0x73d98e14], 0x84
inc edx
movzx eax, byte [esi + ecx - 0x73d98e14]
sub ecx, dword [esp + ecx - 0x73d98e14]
sar byte [esp + ecx - 0x73e9ff6d], 0x86
and word [esp + ecx - 0x73e9ff70], cx
xor al, bl
and ecx, dword [esp + ecx - 0x73e9ff70]
call fcn.1025e35d
xor ecx, eax
lahf
xor ax, bx
rol al, cl
mov eax, dword [ebp + 0x10]
stc
test edx, edi
clc
shl ecx, 8
stc
test bx, 0x8421
cmp al, ch
shr eax, 8
clc
cmp bp, bx
movzx eax, al
cmp ax, 0xe790
test bx, sp
movzx eax, byte [eax + 0x100fdb48]
xor ecx, eax
dec al
btc ax, 0x96
mov eax, edi
test cx, di
movzx eax, al
test cl, al
jmp 0x101fa0c9
push esi
push eax
nop
movsx eax, bp
mov ah, 0x35
lea eax, [ebp - 0x238]
jmp 0x101dff99
movzx eax, al
cmc
shl ecx, 8
cmp ebp, esi
movzx eax, byte [eax + 0x100fdb48]
xor ecx, eax
inc al
bts eax, ecx
mov eax, dword [ebp + 8]
test edi, eax
xor ecx, dword [esi + 8]
stc
shr eax, 0x10
movzx eax, al
test esi, 0xd2875b03
cmp bp, di
mov dword [edx + 8], ecx
shl cl, cl
movzx ecx, byte [eax + 0x100fdb48]
xadd al, al
bsf eax, edx
movzx eax, byte [ebx + 0x100fdb48]
shl eax, 8
stc
clc
jmp 0x102235ac
mov dword [ebp - 0x10], edx
jmp 0x1017fc26
shr eax, 0x18
test bp, sp
movzx eax, byte [eax + 0x100fdb48]
cmp ah, 0x17
jmp 0x1023a356
popfd
pop ecx
pop edx
movsx esi, al
pop eax
pop esi
jmp 0x102234c1
shl eax, 8
cmc
test ecx, 0x101f12a9
xor ecx, eax
shld ax, ax, 0x26
mov eax, dword [ebp + 8]
stc
shr eax, 8
movzx eax, al
shl ecx, 8
cmp ebp, 0x99b48a27
test esp, 0x451a54b4
jmp 0x1020b3d5
inc dl
or eax, eax
push eax
ror dl, 1
inc al
shl word [esp + eax - 0x479af136], 6
shr eax, 0x75
neg dl
ror eax, 0xed
sbb dl, 0xa
dec al
or al, ah
neg dl
add eax, eax
jl 0x10255001
xor bl, dl
and eax, eax
sal al, 0x66
sal al, 0x84
lea edx, [esp + edx + 8]
push eax
rol ax, 0xed
or al, 0xd
mov byte [edx + eax*2 - 0x4780005a], cl
movzx ecx, word [esp + eax*2 - 0x47800057]
btc ecx, 0x10
mul eax
mov dword [esp + ecx*2 - 0x27446], ebp
ret 8
inc eax
mov dword [ecx + eax*8 - 0xa0], edx
and word [esp + eax - 0x13], ax
jae 0x1021eb55
push edx
lea edi, [edi + edx*2 - 0x52f8b2]
xor edx, dword [esp + edx*8 - 0x14be2d0]
inc byte [esp + edx*8]
lea eax, [edx + edx*2 - 0x58c1be47]
mov word [edx + edi], cx
pop ecx
inc ecx
adc edx, esi
jmp edx
mov ecx, dword [ebp + eax*2 - 0x77210d6a]
mov edx, dword [ebp + eax*2 - 0x77210d66]
cwde
sal eax, 0x8b
adc ebp, 3
call fcn.1017cdf3
pop edx
pop ecx
pop eax
pop eax
jmp esi
mov dword [edx + 4], ecx
cmovo cx, sp
shr ebx, 0x18
add cl, 0x28
test si, dx
shl cx, cl
movzx ecx, byte [eax + 0x100fdb48]
sal al, cl
cmp dx, cx
mov eax, edi
test dl, 0x33
clc
jmp 0x1022eb3b
mov byte [ebp + esi - 0x238], 0
jmp 0x101fb402
movzx eax, byte [eax + 0x100fdb48]
xor ecx, eax
xor ecx, dword [esi + 0xc]
mov dword [edx + 0xc], ecx
nop
jmp 0x100a8af3
mov edx, dword [ebp - 4]
xor bh, cl
shr eax, 8
rcr ebx, 0x85
bt esi, 0x2f
movsx ecx, sp
movzx ecx, al
mov eax, dword [ebp - 8]
sbb si, 0xbb87
shr esi, 0xa5
btr esi, 0xba
shr eax, 0x10
movzx eax, al
test bp, 0x78bc
mov ebx, dword [ecx*8 + 0x100fd34b]
movsx ecx, ax
xchg ch, cl
cmp dh, al
shr edi, 0x18
cmp ecx, edi
and cl, bl
xor ebx, dword [eax*8 + 0x100fd34a]
movzx eax, dl
bsf esi, edi
bts cx, sp
or cl, 0xe
xor ebx, dword [edi*8 + 0x100fd349]
shrd si, ax, 0x2d
and di, 0x85ac
mov edi, dword [ebp - 0x14]
xor ebx, dword [eax*8 + 0x100fd348]
mov eax, dword [ebp - 0xc]
shr eax, 0x10
movzx ecx, al
stc
mov eax, edx
shr eax, 8
dec si
cmp ax, 0x5088
movzx eax, al
xor ebx, dword [edi]
test si, bx
or si, 0x1b6
xadd dx, si
mov edx, dword [ecx*8 + 0x100fd34a]
test esp, 0xb9819e94
mov ecx, dword [ebp - 0x10]
xor edx, dword [eax*8 + 0x100fd34b]
bts si, si
mov eax, dword [ebp - 8]
add esi, esp
and esi, esi
shr eax, 0x18
btr si, cx
xchg esi, esi
xor edx, dword [eax*8 + 0x100fd349]
movzx eax, cl
xor edx, dword [eax*8 + 0x100fd348]
shr ax, 0x1d
rcr ah, 0x1b
mov eax, ecx
xchg si, si
shr eax, 8
movzx ecx, al
or si, dx
mov eax, dword [ebp - 4]
adc esi, ebx
shr eax, 0x10
movzx eax, al
mov ecx, dword [ecx*8 + 0x100fd34b]
xor edx, dword [edi + 4]
or si, sp
mov dword [ebp + 8], edx
add si, 0x8820
xor ecx, dword [eax*8 + 0x100fd34a]
mov eax, dword [ebp - 0xc]
sbb esi, esi
shr eax, 0x18
xor ecx, dword [eax*8 + 0x100fd349]
shr si, 0x9b
rcl si, 1
shl ax, 7
mov eax, dword [ebp - 8]
movzx eax, al
cmp bp, 0x44ae
xor si, 0x519f
sal si, 0xbc
xor ecx, dword [eax*8 + 0x100fd348]
movzx esi, si
test bp, 0xbf0c
movzx ax, bh
xor ecx, dword [edi + 8]
mov eax, 0xab8c3b19
rcl si, 0x37
mov eax, dword [ebp - 8]
shr eax, 8
bts esi, esp
cmovg si, cx
mov dword [ebp + 0x10], ecx
and ecx, edx
inc si
sar cl, 0xa1
movzx ecx, al
xor ah, bl
mov eax, dword [ebp - 0x10]
bt si, 0x95
shr eax, 0x10
movzx eax, al
bt si, cx
bts si, ax
mov ecx, dword [ecx*8 + 0x100fd34b]
btr si, 0x8b
add esi, 0x78bb27ad
mov esi, dword [ebp + 0x10]
cmp di, 0xcb97
jmp 0x1022a6b0