Function at 0x10039ae2
Capabilities:
Encrypt data using aes mixcolumns step
Resolve function by parsing pe exports

Disassembly:
mov dh, dh
lea edx, [ebp - 4]
lea esi, [esi]
ja 0x100257c8
jbe 0x1001fdb1
push edi
jbe 0x100257c6
jbe 0x100257c8
add byte [eax], al
fstpnce st(3), st(0)
push esi
push edx
mov ebx, ebx
lea eax, [ebp - 0x910]
push 0x400
ja 0x100569c3
jbe 0x100257e5
xor al, 0xea
invalid
jbe 0x100569c3
fldcw word [edi]
pop dword [esp - 4]
shr si, 0x40
mov byte [esi + 0xbb], 0
mov word [esi + 0xbc], dx
shr al, 0x40
jmp 0x1002d55d
stc
call fcn.1003af58
mov al, byte [ebp + 0xb]
add esp, 0x3c
stc
jno 0x1002b477
shl di, 0x20
jo 0x1002d57d
dec ebp
std
inc eax
std
test al, 0xf
xor ah, 0xde
invalid
jo 0x1002b477
fcmovbe st(0), st(0)
lea edx, [edx]
mov eax, dword [ebp + 0x4c]
mov edx, dword [esi + 4]
mov ebx, dword [esi + 8]
mov eax, dword [eax + edx]
lea esi, [esi + 0xc]
mov dword [ebp + ebx], eax
jmp dword [esi]
add eax, 0x870f4921
jo 0x10039b2b
invalid
add byte [eax], al
or al, 0x8a
cmp cl, byte [edi]
mov dword [esi + 0xa], eax
invalid
cmp eax, 1
jne 0x1004e108
je 0x1004e0e5
adc edi, eax
mov ah, 0xcc
and byte [0x458bc988], dh
adc bl, ch
mov cl, cl
mov eax, dword [ebp + 0x10]
jmp fcn.1004e0eb
invalid
cmp eax, 2
jne 0x1004e13c
je 0x1004e119
nop
cpuid
ret
mov ecx, dword [ebp + 0x10]
jmp fcn.1004e11d
invalid
lea edx, [ebp - 0x90]
jmp loc.1004e143
invalid
fldcw word [esi]
shl ebx, 0x20
mov byte [esi + 0xba], cl
mov dl, dl
push eax
pop eax
mov byte [esi + 0xbb], 0
mov word [esi + 0xbc], dx
call fcn.100527dc
add eax, 0x5ac5e82c
invalid
push eax
call fcn.10066750
and ecx, ecx
add esp, 0x14
test ax, ax
jb 0x10039ae0
je 0x1001fda0
shl ecx, 0x20
jne 0x100529f8
lodsd eax, dword [esi]
lea edx, [di - 0x510]
invalid
lea edx, [ebp - 0x510]
cmp edi, edx
je 0x10052a16
jne 0x10052a0a
mov esp, 0xe8e8574e
mov byte [eax], al
add byte [ecx + 0x4c4], al
add byte [ebx - 0xf00f7bb], cl
push edi
call fcn.1005b2f8
add esp, 4
mov eax, dword [ebp + 8]
push eax
call fcn.1005b2f8
shl bp, 0x20
mov ecx, dword [esi]
push 0x15
push ecx
lea edi, [edi]
call fcn.1003c459
add esp, 0xc
mov bh, bh
pop edi
pop esi
mov si, si
pop ebx
mov esp, ebp
jmp fcn.1001fd9c
push eax
push ebx
mov eax, eax
push edi
jne 0x1003f1e2
xchg bl, al
xchg al, bl
je 0x100569dc
aam 0xdf
call 0x1f2057ee
test byte [eax], al
mov dh, bh
inc dword [edx + 0x4c48122]
invalid
les eax, [eax + eax]
invalid
je 0x1003f1e2
and byte [edx], 0x81
les eax, [eax + eax]
add byte [eax], al
invalid
test al, al
jb 0x100333e5
jne 0x1005cb0f
pop edi
pop esi
mov eax, 1
pop ebx
pop ebp
ja 0x1003bc33
jbe 0x1005cb26
pop edi
push ds
inc edx
sub ch, byte [ecx + ebp*2 - 0xef879f1]
std
invalid
jbe 0x1003bc33
fnstcw word [ecx]
mov dword [ebp + 0x5c], esi
mov cx, cx
call fcn.1004b69d
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0xc]
add ebx, 8
inc esi
cmp esi, edi
mov dword [ebp - 8], edx
shl edi, 0x20
mov dh, dh
mov dword [ebp - 4], eax
mov dword [ebp - 0x18], esi
jb 0x1005db59
jae 0x1005cb61
bound ecx, qword [edx - 0x78]
mov eax, dword [ebp - 0x14]
xor edx, edx
jb 0x100520f0
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 8], edx
cmp ecx, edx
mov dword [ebp - 4], edx
push esi
pop esi
jbe 0x1004e0d2
ja 0x1005cb87
cmp dword [eax + 0x47886a1c], edi
mov edx, ecx
xchg bx, bp
xchg bp, bx
lea esi, [ebx + 8]
lea edi, [ebp - 8]
shr ecx, 2
mov ecx, ecx
rep movsd dword es:[edi], dword [esi]
push 0x1003186e
ret
xor edx, edx
jb 0x10021405
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
cmp esi, edx
jno 0x1002b6c0
mov di, di
jo 0x1005db76
mov es, word [0x44800f17]
invalid
jo 0x1002b6c0
and eax, 0x26a510e
push edx
call fcn.1002de3d
add esp, 0xc
mov eax, dword [edi]
lea ecx, [ebp - 0x10]
mov cx, cx
push 0
push ecx
shr si, 0x40
push 0x100
jno 0x10027db0
jo 0x1005dbae
nop
cpuid
ret
jo 0x10027db0
and eax, 0x1c3f6a3
jb 0x100417cd
je 0x1001f37a
jne 0x1005dbcb
cpuid
mov es, ebx