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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x60
mov al, byte [esp + 0x34]
mov byte [esp + 0x40], al
mov byte [esp + 0x24], 0x3c
mov byte [esp + 0x25], 0x27
mov byte [esp + 0x26], 0x26
mov byte [esp + 0x27], 0x21
xor eax, eax
cmp eax, 4
jae 0x439148
movzx edx, byte [esp + eax + 0x24]
mov ecx, eax
add ecx, 0xc9
mov esi, 0x36
sub esi, eax
mov edi, 0x36
sub edi, eax
or esi, edi
xor esi, 0xffffffff
mov ebx, edx
or ebx, esi
mov esi, eax
add esi, 0xc9
or ecx, esi
and ecx, edx
sub ebx, ecx
add bl, 0x13
mov byte [esp + eax + 0x24], bl
add eax, 1
jmp 0x439105
mov esi, dword [esp + 0x24]
mov al, byte [esp + 0x3c]
mov byte [esp + 0x4c], al
mov byte [esp + 0x2c], 0x25
mov byte [esp + 0x2d], 0x2a
mov byte [esp + 0x2e], 0x2b
mov byte [esp + 0x2f], 0x28
xor eax, eax
cmp eax, 4
jae 0x4391ba
movzx edx, byte [esp + eax + 0x2c]
mov edi, eax
add edi, 0xd1271dc7
mov ecx, 0x2ed8e238
sub ecx, eax
and ecx, 0x70468153
and edi, 0x8fb97eac
or ecx, edi
xor ecx, edx
xor ecx, 0x8fb97eac
add ecx, 1
mov edx, ecx
shl edx, 1
and edx, 0xc8
xor ecx, 0x1b
add ecx, 1
sub ecx, edx
add cl, 1
mov byte [esp + eax + 0x2c], cl
add eax, 1
jmp 0x43916a
mov edi, dword [esp + 0x2c]
xor ebx, ebx
mov ecx, 2
cmp ebx, dword [0x44cdac]
jb 0x4391cf
jmp 0x43923c
mov ecx, dword [0x44cdb0]
cmp dword [ecx + ebx*8], 0xeb857808
sete dl
mov byte [esp + 0x22], dl
test dl, 1
jne 0x4391ea
jmp 0x43922c
mov edx, dword [ecx + ebx*8 + 4]
mov ecx, 2
cmp edx, edi
je 0x43922e
mov eax, dword [0x44cdb4]
mov ecx, 0xffffffff
lea ebp, [esp + 0x54]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0xc
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ebp
call fcn.0043e5b0
mov ecx, 1
jmp 0x43922e
xor ecx, ecx
test byte [esp + 0x22], 1
je 0x439237
jmp 0x43923c
add ebx, 1
jmp 0x4391c0
cmp ecx, 2
je 0x439243
mov edi, eax
xor ebx, ebx
cmp edi, 0
jl 0x439456
mov esi, dword [esp + 0x54]
mov al, byte [esp + 0x44]
mov byte [esp + 0x48], al
mov byte [esp + 0x30], 0x25
mov byte [esp + 0x31], 0x2a
mov byte [esp + 0x32], 0x2b
mov byte [esp + 0x33], 0x28
xor eax, eax
cmp eax, 4
jae 0x4392c0
movzx edx, byte [esp + eax + 0x30]
mov edi, eax
add edi, 0xd1271dc7
mov ecx, 0x2ed8e238
sub ecx, eax
and ecx, 0x70468153
and edi, 0x8fb97eac
or ecx, edi
xor ecx, edx
xor ecx, 0x8fb97eac
add ecx, 1
mov edx, ecx
shl edx, 1
and edx, 0xc8
xor ecx, 0x1b
add ecx, 1
sub ecx, edx
add cl, 1
mov byte [esp + eax + 0x30], cl
add eax, 1
jmp 0x439270
mov edi, dword [esp + 0x30]
xor ebp, ebp
mov ecx, 2
cmp ebp, dword [0x44cdac]
jb 0x4392d5
jmp 0x439352
mov edx, dword [0x44cdb0]
cmp dword [edx + ebp*8], 0x8869e8e9
sete bl
xor ecx, ecx
mov byte [esp + 0x23], bl
test bl, 1
jne 0x4392f2
jmp 0x439341
mov edx, dword [edx + ebp*8 + 4]
mov ecx, 2
cmp edx, edi
je 0x439341
mov eax, dword [0x44cdb4]
lea ecx, [esp + 0x58]
lea ebx, [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x14
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], 0x14
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], 4
mov dword [esp + 0x1c], ebx
call fcn.0043e5b0
mov ecx, 1
test byte [esp + 0x23], 1
je 0x43934a
jmp 0x439352
add ebp, 1
jmp 0x4392c6
cmp ecx, 2
je 0x439359
mov edi, eax
xor ebx, ebx
cmp edi, 0
jl 0x43936d
cmp dword [esp + 0x58], 0
setne bl
and bl, 1
jmp 0x43936d
mov esi, dword [esp + 0x54]
mov al, byte [esp + 0x38]
mov byte [esp + 0x50], al
mov byte [esp + 0x28], 0x25
mov byte [esp + 0x29], 0x2a
mov byte [esp + 0x2a], 0x2b
mov byte [esp + 0x2b], 0x28
xor eax, eax
cmp eax, 4
jae 0x4393df
movzx edx, byte [esp + eax + 0x28]
mov edi, eax
add edi, 0xd1271dc7
mov ecx, 0x2ed8e238
sub ecx, eax
and ecx, 0x70468153
and edi, 0x8fb97eac
or ecx, edi
xor ecx, edx
xor ecx, 0x8fb97eac
add ecx, 1
mov edx, ecx
shl edx, 1
and edx, 0xc8
xor ecx, 0x1b
add ecx, 1
sub ecx, edx
add cl, 1
mov byte [esp + eax + 0x28], cl
add eax, 1
jmp 0x43938f
mov edi, dword [esp + 0x28]
xor ebp, ebp
cmp ebp, dword [0x44cdac]
jb 0x4393f4
mov eax, 2
jmp 0x439451
mov eax, dword [0x44cdb0]
cmp dword [eax + ebp*8], 0x1b6183f2
sete dl
test dl, 1
jne 0x43940a
jmp 0x439443
mov ecx, dword [eax + ebp*8 + 4]
mov eax, 2
cmp ecx, edi
je 0x439445
mov eax, dword [0x44cdb4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 4
mov dword [esp + 0xc], esi
mov byte [esp + 0x21], dl
call fcn.0043e5b0
mov dl, byte [esp + 0x21]
mov eax, 1
jmp 0x439445
xor eax, eax
test dl, 1
jne 0x43944f
add ebp, 1
jmp 0x4393e5
jmp 0x439451
cmp eax, 2
jne 0x439456
and bl, 1
movzx eax, bl
add esp, 0x60
pop esi
pop edi
pop ebx
pop ebp
ret