Function at 0x401de0
Capabilities:
Encrypt data using aes mixcolumns step

Disassembly:
sub esp, 0x1c
mov eax, dword [0x41f608]
push ebx
push esi
push edi
mov edi, ecx
mov dword [esp + 0x24], eax
xor eax, eax
lea edx, [edi + 5]
mov cl, byte [edx - 1]
mov byte [esp + eax*4 + 0x14], cl
mov cl, byte [edx]
mov byte [esp + eax*4 + 0x15], cl
mov cl, byte [edx + 1]
mov byte [esp + eax*4 + 0x16], cl
mov cl, byte [edx + 2]
mov byte [esp + eax*4 + 0x17], cl
inc eax
add edx, 4
cmp eax, 4
jl 0x401df6
xor esi, esi
lea esp, [esp]
mov cl, byte [esp + esi + 0x14]
mov dl, cl
shl dl, 1
cmp cl, 0x80
mov al, dl
jb 0x401e31
xor al, 0x1b
cmp al, 0x80
jae 0x401e39
shl al, 1
jmp 0x401e3d
shl al, 1
xor al, 0x1b
cmp al, 0x80
jae 0x401e45
shl al, 1
jmp 0x401e49
shl al, 1
xor al, 0x1b
cmp cl, 0x80
mov byte [esp + 0x12], al
mov al, dl
jb 0x401e56
xor al, 0x1b
cmp al, 0x80
jae 0x401e5e
shl al, 1
jmp 0x401e62
shl al, 1
xor al, 0x1b
cmp cl, 0x80
mov byte [esp + 0x10], al
jb 0x401e6e
xor dl, 0x1b
mov cl, byte [esp + esi + 0x18]
mov bl, cl
shl bl, 1
cmp cl, 0x80
mov byte [esp + 0xf], dl
mov al, bl
jb 0x401e83
xor al, 0x1b
cmp al, 0x80
jae 0x401e8b
shl al, 1
jmp 0x401e8f
shl al, 1
xor al, 0x1b
cmp al, 0x80
jae 0x401e97
shl al, 1
jmp 0x401e9b
shl al, 1
xor al, 0x1b
cmp cl, 0x80
mov byte [esp + 0x11], al
jb 0x401ea7
xor bl, 0x1b
mov cl, byte [esp + esi + 0x1c]
mov byte [esp + 0x13], bl
mov bl, cl
shl bl, 1
cmp cl, 0x80
mov al, bl
jb 0x401ebc
xor al, 0x1b
cmp al, 0x80
jae 0x401ec4
shl al, 1
jmp 0x401ec8
shl al, 1
xor al, 0x1b
cmp al, 0x80
jae 0x401ed0
shl al, 1
jmp 0x401ed4
shl al, 1
xor al, 0x1b
cmp cl, 0x80
mov dl, al
jb 0x401ede
xor bl, 0x1b
mov al, bl
cmp al, 0x80
jae 0x401ee8
shl al, 1
jmp 0x401eec
shl al, 1
xor al, 0x1b
mov bl, al
mov al, byte [esp + esi + 0x20]
cmp al, 0x80
jae 0x401efa
shl al, 1
jmp 0x401efe
shl al, 1
xor al, 0x1b
cmp al, 0x80
jae 0x401f06
shl al, 1
jmp 0x401f0a
shl al, 1
xor al, 0x1b
cmp al, 0x80
jae 0x401f12
shl al, 1
jmp 0x401f16
shl al, 1
xor al, 0x1b
xor al, byte [esp + esi + 0x20]
mov cl, byte [esp + esi + 0x1c]
xor al, bl
mov bl, byte [esp + 0x13]
xor al, dl
mov dl, byte [esp + 0x11]
xor al, cl
mov cl, byte [esp + esi + 0x18]
xor al, bl
mov bl, byte [esp + 0xf]
xor al, dl
mov dl, byte [esp + 0x10]
xor al, cl
mov cl, byte [esp + 0x12]
xor al, bl
xor al, dl
xor al, cl
mov byte [edi + esi + 4], al
mov al, byte [esp + esi + 0x14]
cmp al, 0x80
jae 0x401f58
shl al, 1
jmp 0x401f5c
shl al, 1
xor al, 0x1b
cmp al, 0x80
jae 0x401f64
shl al, 1
jmp 0x401f68
shl al, 1
xor al, 0x1b
cmp al, 0x80
jae 0x401f70
shl al, 1
jmp 0x401f74
shl al, 1
xor al, 0x1b
mov cl, byte [esp + esi + 0x18]
mov dl, cl
shl dl, 1
cmp cl, 0x80
mov byte [esp + 0x13], al
mov al, dl
jb 0x401f89
xor al, 0x1b
cmp al, 0x80
jae 0x401f91
shl al, 1
jmp 0x401f95
shl al, 1
xor al, 0x1b
cmp al, 0x80
jae 0x401f9d
shl al, 1
jmp 0x401fa1
shl al, 1
xor al, 0x1b
cmp cl, 0x80
mov byte [esp + 0x11], al
mov al, dl
jb 0x401fae
xor al, 0x1b
cmp al, 0x80
jae 0x401fb6
shl al, 1
jmp 0x401fba
shl al, 1
xor al, 0x1b
cmp cl, 0x80
mov byte [esp + 0xf], al
jb 0x401fc6
xor dl, 0x1b
mov cl, byte [esp + esi + 0x1c]
mov bl, cl
shl bl, 1
cmp cl, 0x80
mov byte [esp + 0x10], dl
mov al, bl
jb 0x401fdb
xor al, 0x1b
cmp al, 0x80
jae 0x401fe3
shl al, 1
jmp 0x401fe7
shl al, 1
xor al, 0x1b
cmp al, 0x80
jae 0x401fef
shl al, 1
jmp 0x401ff3
shl al, 1
xor al, 0x1b
cmp cl, 0x80
mov byte [esp + 0x12], al
jb 0x401fff
xor bl, 0x1b
mov cl, bl
mov bl, byte [esp + esi + 0x20]
cmp bl, 0x80
jae 0x402010
shl bl, 1
mov al, bl
jmp 0x402016
shl bl, 1
mov al, bl
xor al, 0x1b
cmp al, 0x80
jae 0x40201e
shl al, 1
jmp 0x402022
shl al, 1
xor al, 0x1b
cmp al, 0x80
jae 0x40202a
shl al, 1
jmp 0x40202e
shl al, 1
xor al, 0x1b
mov dl, al
cmp byte [esp + esi + 0x20], 0x80
jb 0x40203a
xor bl, 0x1b
mov al, bl
cmp al, 0x80
jae 0x402044
shl al, 1
jmp 0x402048
shl al, 1
xor al, 0x1b
mov bl, byte [esp + esi + 0x1c]
xor al, dl
xor al, byte [esp + esi + 0x20]
mov dl, byte [esp + 0x12]
xor al, cl
mov cl, byte [esp + 0xf]
xor al, dl
mov dl, byte [esp + 0x10]
xor al, bl
xor al, dl
mov dl, byte [esp + 0x11]
xor al, cl
mov cl, byte [esp + 0x13]
xor al, dl
xor al, cl
mov cl, byte [esp + esi + 0x14]
xor al, cl
mov dl, cl
shl dl, 1
cmp cl, 0x80
mov byte [edi + esi + 8], al
mov al, dl
jb 0x40208b
xor al, 0x1b
cmp al, 0x80
jae 0x402093
shl al, 1
jmp 0x402097
shl al, 1
xor al, 0x1b
cmp al, 0x80
jae 0x40209f
shl al, 1
jmp 0x4020a3
shl al, 1
xor al, 0x1b
cmp cl, 0x80
mov byte [esp + 0x13], al
jb 0x4020af
xor dl, 0x1b
mov al, dl
cmp al, 0x80
jae 0x4020b9
shl al, 1
jmp 0x4020bd
shl al, 1
xor al, 0x1b
mov byte [esp + 0x11], al
mov al, byte [esp + esi + 0x18]
cmp al, 0x80
jae 0x4020cd
shl al, 1
jmp 0x4020d1
shl al, 1
xor al, 0x1b
cmp al, 0x80
jae 0x4020d9
shl al, 1
jmp 0x4020dd
shl al, 1
xor al, 0x1b
cmp al, 0x80
jae 0x4020e5
shl al, 1
jmp 0x4020e9
shl al, 1
xor al, 0x1b
mov dl, bl
shl dl, 1
cmp bl, 0x80
mov byte [esp + 0xf], al
mov al, dl
jb 0x4020fa
xor al, 0x1b
cmp al, 0x80
jae 0x402102
shl al, 1
jmp 0x402106
shl al, 1
xor al, 0x1b
cmp al, 0x80
jae 0x40210e
shl al, 1
jmp 0x402112
shl al, 1
xor al, 0x1b
cmp bl, 0x80
mov byte [esp + 0x10], al
mov al, dl
jb 0x40211f
xor al, 0x1b
cmp al, 0x80
jae 0x402127
shl al, 1
jmp 0x40212b
shl al, 1
xor al, 0x1b
cmp bl, 0x80
mov byte [esp + 0x12], al
jb 0x402137
xor dl, 0x1b
mov al, byte [esp + esi + 0x20]
cmp al, 0x80
mov bl, dl
jae 0x402147
shl al, 1
mov dl, al
jmp 0x40214e
shl al, 1
mov dl, al
xor dl, 0x1b
cmp dl, 0x80
jae 0x402157
shl dl, 1
jmp 0x40215c
shl dl, 1
xor dl, 0x1b
cmp dl, 0x80
jae 0x402165
shl dl, 1
jmp 0x40216a
shl dl, 1
xor dl, 0x1b
cmp byte [esp + esi + 0x20], 0x80
jb 0x402173
xor al, 0x1b
mov cl, byte [esp + 0xf]
xor al, dl
xor al, byte [esp + esi + 0x20]
mov dl, byte [esp + 0x10]
xor al, bl
xor al, byte [esp + 0x12]
mov bl, byte [esp + 0x13]
xor al, dl
mov dl, byte [esp + 0x11]
xor al, cl
mov cl, byte [esp + esi + 0x18]
xor al, cl
xor al, dl
xor al, bl
mov bl, byte [esp + esi + 0x14]
xor al, bl
mov dl, bl
shl dl, 1
cmp bl, 0x80
mov byte [edi + esi + 0xc], al
mov al, dl
jb 0x4021b4
xor al, 0x1b
cmp al, 0x80
jae 0x4021bc
shl al, 1
jmp 0x4021c0
shl al, 1
xor al, 0x1b
cmp al, 0x80
jae 0x4021c8
shl al, 1
jmp 0x4021cc
shl al, 1
xor al, 0x1b
cmp bl, 0x80
mov byte [esp + 0x13], al
jb 0x4021d8
xor dl, 0x1b
mov byte [esp + 0x11], dl
mov dl, cl
shl dl, 1
cmp cl, 0x80
mov al, dl
jb 0x4021e9
xor al, 0x1b
cmp al, 0x80
jae 0x4021f1
shl al, 1
jmp 0x4021f5
shl al, 1
xor al, 0x1b
cmp al, 0x80
jae 0x4021fd
shl al, 1
jmp 0x402201
shl al, 1
xor al, 0x1b
cmp cl, 0x80
mov byte [esp + 0xf], al
jb 0x40220d
xor dl, 0x1b
mov al, dl
cmp al, 0x80
jae 0x402217
shl al, 1
jmp 0x40221b
shl al, 1
xor al, 0x1b
mov byte [esp + 0x10], al
mov al, byte [esp + esi + 0x1c]
cmp al, 0x80
jae 0x40222b
shl al, 1
jmp 0x40222f
shl al, 1
xor al, 0x1b
cmp al, 0x80
jae 0x402237
shl al, 1
jmp 0x40223b
shl al, 1
xor al, 0x1b
cmp al, 0x80
jae 0x402243
shl al, 1
jmp 0x402247
shl al, 1
xor al, 0x1b
mov cl, byte [esp + esi + 0x20]
mov byte [esp + 0x12], al
mov al, cl
shl al, 1
cmp cl, 0x80
mov dl, al
jb 0x40225d
xor dl, 0x1b
cmp dl, 0x80
jae 0x402266
shl dl, 1
jmp 0x40226b
shl dl, 1
xor dl, 0x1b
cmp dl, 0x80
jae 0x402274
shl dl, 1
jmp 0x402279
shl dl, 1
xor dl, 0x1b
cmp cl, 0x80
mov bl, dl
mov dl, al
jb 0x402285
xor dl, 0x1b
cmp dl, 0x80
jae 0x40228e
shl dl, 1
jmp 0x402293
shl dl, 1
xor dl, 0x1b
cmp cl, 0x80
jb 0x40229a
xor al, 0x1b
mov cl, byte [esp + 0x10]
xor al, dl
mov dl, byte [esp + esi + 0x1c]
xor al, bl
xor al, byte [esp + 0x12]
mov bl, byte [esp + 0xf]
xor al, dl
mov dl, byte [esp + esi + 0x18]
xor al, cl
mov cl, byte [esp + 0x11]
xor al, bl
mov bl, byte [esp + 0x13]
xor al, dl
mov dl, byte [esp + esi + 0x14]
xor al, cl
xor al, bl
xor al, dl
mov byte [edi + esi + 0x10], al
inc esi
cmp esi, 4
jl 0x401e20
mov ecx, dword [esp + 0x24]
pop edi
pop esi
pop ebx
call fcn.0040e486
add esp, 0x1c
ret