Function at 0x100531c6
Capabilities:
Encrypt data using aes

Disassembly:
pop edi
jmp 0x10052645
mov di, word [esp]
mov bh, dh
jmp 0x1005210f
jmp 0x10052b42
cmp al, 0x2b
je 0x1001f595
cmc
call 0x1001f539
inc eax
jmp 0x10052b83
int1
ljmp 0x2420
cmp al, 0x30
jmp 0x10052b59
call fcn.10052f71
lea esp, [esp + 4]
jmp 0x1005285d
call 0x10052bb1
cmp eax, 0xc80f21ea
push ebx
je 0x1001f547
invalid
cmp bl, 0x61
push di
jmp 0x1001f5b6
push dx
lea esp, [esp + 4]
jb 0x1005269d
sub esp, 7
push bp
jmp 0x10052fab
sub edx, 0x10
cmc
call fcn.10052043
mov edi, edx
jmp 0x100520e4
add esi, 0x10
mov edx, dword [esi]
push si
lea esp, [esp + 2]
jmp 0x100520c1
shr edi, 0x18
call 0x100520ed
fadd dword [ebx - 0x729ff914]
and al, 2
jmp 0x10052122
movzx ebx, byte [esi + 0x11]
mov dh, byte [esp]
mov ebx, dword [ebx*4 + reloc.KERNEL32.dll_GetProcAddress]
mov edx, dword [esp]
jmp 0x100520d7
mov edi, dword [edi*4 + reloc.KERNEL32.dll_GetProcAddress]
call fcn.100520f7
and edi, ecx
sub esp, 1
pushal
call fcn.10052167
clc
not dword [bp + si - reloc.KERNEL32.dll_GetProcAddress]
sbb dh, byte [ebp + 0x64]
xchg edi, eax
dec cl
lea esp, [esp + 8]
add ecx, 0x10
jmp 0x100520b8
pushfd
jmp 0x10052653
mov esi, dword [esp]
mov bx, 0x49b6
lea esp, [esp + 4]
pop ebx
jmp 0x1005262f
lea esp, [esp + 4]
leave
ret
call 0x10052cc0
mov dl, byte [ecx + 2]
push si
pushfd
lea esp, [esp + 2]
jmp 0x10052cfe
mov dword [esi + 0xc], edi
jne 0x1001f343
je 0x1001f2a1
cmp bl, 0x2b
jmp 0x10052c90
jmp 0x10052c25
jmp 0x10052e18
call fcn.10052d94
adc byte [esi], 0x84
jecxz 0x10052703
fcom dword [eax]
mov ebx, dword [ebx]
jle 0x10052678
dec ecx
scasb al, byte es:[edi]
mov ecx, 0x8ad2fb98
dec ecx
add ebp, eax
fadd dword [edi]
mov cl, byte [ecx + 3]
call 0x10052ed1
pop es
add byte [eax], al
push ebp
int 0x5d
and al, 0xd7
push ss
lds ebx, [esi - 0x34]
stosd dword es:[edi], eax
mov word [0x86e9362f], ax
pop es
add byte [eax], al
cmp esp, dword [ecx + reloc.KERNEL32.dll_GetProcAddress]
jnp 0x100526f6
jo 0x1005272d
loop 0x10052738
mov edi, 0x21d2b727
cwde
fidiv dword [reloc.KERNEL32.dll_GetProcAddress]
add byte [eax], al
call 0x10052da0
dec edx
fisttp dword [ebx + 0x2e]
fstp qword [esi]
mov al, byte [0x44b5d23c]
cmp al, 0xd2
mov ch, 0x44
cmc
mov dword [eax], ebp
dec ebx
loop 0x10052754
cmp dl, 0x3d
jne 0x100527b4
cli
cmp eax, 0x3be87875
into
cld
dec dword [ebp - reloc.KERNEL32.dll_GetProcAddress]
pop es
add dword [eax], eax
add byte [eax], al
call fcn.1001f57c
lea esp, [esp + 4]
mov dword [edi], 1
jmp 0x10052772
inc esi
int1
invalid
cmp al, 0x2f
jmp 0x10053050
cmp al, 0x2b
jmp 0x10053066
pop eax
jmp 0x10052803
pushfd
call fcn.100530b5
mov dword [ecx - 0x2f], 0x87f743b0
add dl, byte [eax + 0x43c302f7]
cli
aad 0x44
call fcn.10052fd4
invalid
shr byte fs:[ecx], 1
dec eax
jmp 0x100527cb
sbb eax, dword [eax]
add byte [eax], al
xchg byte [esi], cl
pushfd
sti
push ss
mov byte [0x5633a314], al
movsd dword es:[edi], dword [esi]
bound esp, qword [esi - 0x6f]
adc byte [ebx + 0x93de90a], dl
add byte [eax], al
sub eax, 0x41
jmp 0x10052803
push esi
jmp 0x10053133
push esp
jmp 0x10053180
call fcn.10053163
xchg byte [ebx], bl
mov ebp, esi
sbb eax, 0x127cecac
jne 0x100527c3
inc ebp
leave
push 0xf5d228b
mov dh, 0xf3
jmp 0x100531a3
xchg byte [esi - 0x74cccfcf], al
cmp al, 0x24
mov edi, dword [esp]
jmp 0x1005359a
call 0x100531e8
sbb dword [edx + eax - 0x7ea96b9b], ecx
sbb dword [ecx - 0x725e418], ecx
invalid
cmp bl, 0x5a
ja 0x10052873
jbe 0x10052898
push ss
xchg ebx, eax
add esp, dword [esi - 0x6b]
push esi
xchg esi, eax
add dword [ebx + reloc.KERNEL32.dll_GetProcAddress], eax
fiadd dword [edx - 0x30]
mov bh, 0x42
cwde
pop es
xchg edi, eax
add ebp, ecx
mov eax, 0xfb8492e
adc eax, 0x1be96084
or dword [eax], eax
add byte [edx], ch
mov ebx, 0x7ebd4e2b
add byte [edx + esi + 0x6915a455], bl
mov byte [ebx], ch
inc edx
sub esi, 0x41
jmp 0x100528b1
pushal
jmp 0x100531d2
call fcn.100531fb
loop 0x1005294b
in eax, dx
je 0x10052858
xor ebp, esp
dec esi
fdivr qword [ebx - 0x59a02eaa]
rcl dword [eax - 0x2d]
push edi
jmp 0x100528e4
mov edx, dword [ebp - 8]
lea esp, [esp + 4]
jmp 0x1005291b
jne 0x100529a7
je 0x100532dc
lodsb al, byte cs:[esi]
and al, byte [ebp - 0x4c]
add eax, 0x527b1839
int 0x5c
cmp cl, 0x2b
jmp 0x10052efe
cmp edi, 3
jmp 0x100528ed
jmp 0x1005291b
push bx
jmp 0x10053230
jmp 0x10053346
jmp 0x100533ac
jmp 0x10053480
shl eax, 0xc
call fcn.10053436
cdq
or byte [esi + 0x31bf08f9], bl
movsd dword es:[edi], dword [esi]
xor eax, 0x5468af5c
invalid
pushal
jmp 0x1005330d
or bl, bh
aas
pop eax
mov ebx, 0x61e80d92
or dword [eax], eax
add byte [edi], cl
mov dh, 0xc9
call 0x1005336d
movzx ecx, cl
call 0x10053357
mov ebx, dword [esi]
mov ebx, gs
in al, 0xf7
jae 0x10052a00
xchg byte [ebp - 0x50], dh
mul cl
and byte [ebx - 0x66], ah
cmc
pop ecx
jmp 0x100529d6
call fcn.1005338a
mov word [edx + eax*4], cs
in eax, 0x14
movsb byte es:[edi], byte [esi]
sbb bl, byte [ecx + 0x5c9b6809]
js 0x10052af7
mov dl, 0xad
mov esp, 0xb7e9c033
std
invalid
cmp al, 0x41
jmp 0x10052aff
and al, 2
lea esp, [esp + 4]
jmp 0x10052add
jb 0x1001f4f6
cmp al, 0x5a
jbe 0x1001f595
ja 0x1001f4f6
ficom dword [edx - 0x40]
cmpsd dword [esi], dword es:[edi]
push edx
out 0x58, al
xlatb
inc edi
and dl, cl
push ds
retf 0x9465
cmp al, 0x61
jb 0x1001f558
stc
jmp fcn.10052b2c
jb 0x1001f52e
sub esp, 0x12
stc
lea esp, [esp + 2]
jmp 0x10052bcc
lea esp, [esp + 4]
cmp al, 0x2f
jmp 0x10052ba5
jbe 0x1001f595
ja 0x1001f52e
jne 0x1001f56e
je 0x1001f595
lea esp, [esp + 4]
mov bl, byte [ecx + 1]
push dx
call fcn.10052bef
cmp ch, byte [edx + 0x6baa5f38]
pop eax
iretd
lea esp, [esp + 0x10]
cmp al, 0x39
push esi
lea esp, [esp + 4]
jmp 0x10052b99
cmp bl, 0x30
push di
lea esp, [esp + 2]
jmp 0x10052c59
jb 0x10052687
sub esp, 0x1e
lea esp, [esp + 2]
jmp 0x10052d2a
cmp bl, 0x2f
push sp
lea esp, [esp + 2]
jmp 0x10052cdc
je 0x10052659
sub esp, 0x1e
lea esp, [esp + 2]
lea esp, [esp + 0x1c]
jmp 0x10052c7a
jbe 0x10052659
ja 0x10052687
pop word [esp]
lea esp, [esp + 2]
jmp 0x1005265e
jne 0x1001f56e
je 0x10052659
lea esp, [esp + 4]
jb 0x100526b3
jae 0x10052d0a
clc
pop edx
enter 0x5aaf, 0xffffffffffffffdd
cmp edx, dword [edx]
lea ebx, reloc.KERNEL32.dll_GetProcAddress
cli
inc ecx
lea esp, [esp + 4]
cmp dl, 0x41
call 0x10052ce8
cmp dl, 0x5a
call 0x10052d13
outsd dx, dword [esi]
lea esp, [esp + 4]
jbe 0x100526f1
aam 0xf9
invalid
ja 0x100526b3
jbe 0x10052d19
push 0xd
cld
dec ebp
popal
lea esp, [esp + 0x1c]
cmp bl, 0x39
pushal
lea esp, [esp + 0x20]
jmp 0x10052cb4
jbe 0x100526f1
ja 0x100526db
mov eax, dword [reloc.KERNEL32.dll_GetProcAddress]
popfd
loope 0x10052db6
not dword [edx + reloc.KERNEL32.dll_GetProcAddress]
xchg edi, eax
dec cl
lea esp, [esp + 1]
push di
stc
lea esp, [esp + 3]
cmp dl, 0x7a
jmp 0x10052d3b
lea esp, [esp + 4]
jbe 0x100526f1
ja 0x10052721
or dword [edx + eax - reloc.KERNEL32.dll_GetProcAddress], ecx
lea esp, [esp + 0x10]
cmp dl, 0x39
call 0x10052db6
sub esp, 8
jmp 0x10052e01
lea esp, [esp + 8]
cmp dl, 0x2f
jmp 0x10052e44
cmp dl, 0x61
push si
lea esp, [esp + 2]
jb 0x100526db
push dx
jmp 0x10052d59
cmp dl, 0x3d
call 0x10052f41
sbb dword [ebp + 0x2b9f6c05], edx
mov dword [esi], eax
xchg esp, eax
push cs
retf
je 0x100526f1
sub esp, 0x1b
lea esp, [esp + 3]
lea esp, [esp + 0x18]
jmp 0x10052e2e
je 0x10052737
sub esp, 0x1b
sub esp, 0xf
lea esp, [esp + 2]
jmp 0x10052f23
lea esp, [esp + 0x28]
cmp cl, 0x2f
call 0x10052f67
mov edi, 0x2adfb82a
call 0xcae47f0c
dec ecx
xchg esp, eax
bound ebx, qword [ebp + 0x71c6ffec]
lea esp, [esp + 4]
jne 0x1001f56e
je 0x100526f1
je 0x10052737
jne 0x10052f87
imul esi, edx, 0x37f20760
imul esi, edi, 0x4ef10267
push 0xffffffffffffff85
pop word [esp]
lea esp, [esp + 2]
jmp 0x10052f51
sbb esi, dword [edx - 0x80]
stc
cmp eax, 0xf7a7840f
invalid
cmp cl, 0x3d
je 0x10052737
jne 0x1001f56e
jno 0x10052f85
jge 0x10052f9e
test dword [edx + 0x61], reloc.KERNEL32.dll_GetProcAddress
insb byte es:[edi], dx
or eax, dword [esi]
ret
mov dword [esp], esp
lea esp, [esp + 1]
lea esp, [esp + 8]
cmp bl, 0x7a
call fcn.10052c77
xor ebx, ebx
jmp 0x100530a9
push ax
lea esp, [esp]
lea esp, [esp + 2]
jmp 0x10053089
jne 0x1005275c
push 0x3e
jmp 0x10052788
jne 0x1005279e
call fcn.10053073
out dx, al
hlt
lea esp, [esp + 4]
cmp cl, 0x3d
call 0x1005304b
lea esp, [esp + 4]
jbe 0x10052659
ja 0x1001f5ab
lea esp, [esp + 4]
sub eax, 0x47
jmp 0x10052803
cmp bl, 0x2b
jne 0x1005282f
je 0x10053179
imul edi, edx, 0x68
psubd mm1, qword [ebp + 0x4f]
fisttp word [edi + 0x2a]
fldenv [edx]
mov dl, 0xad
mov esp, 0x24648d8f
add al, 0xf
xchg dword [eax + 0xffffff6], ecx
mov dh, 0xc0
add eax, 4
jmp 0x10052803
push 0x3e
jmp 0x10052819
lea esp, [esp + 4]
pop esi
jmp 0x100528b1
cmp bl, 0x39
push esp
lea esp, [esp + 4]
ja 0x10052889
jbe 0x100532d4
adc byte [edx + 0x498a7f18], cl
mov dl, 0x2f
mov edi, 0xc2f229da
jge 0x10053212
push dword [esp + 1]
pop dword [esp]
jmp 0x100530fc
mov byte [esp + 0xc], cl
mov byte [esp + 1], bh
jmp 0x10053282
push 0x3e
jmp 0x1005297b
inc edi
and dl, cl
sbb eax, 0xb9de48d6
dec eax
jmp dword [ebp - 0x6c]
jb 0x100528dd
stc
cmp dl, 0x2b
jne 0x100528c7
je 0x100531f4
lea esp, [esp + 2]
jmp 0x10053267
pop edx
jmp 0x1005291b
mov edi, dword [edi]
lea esp, [esp + 0x20]
cmp edi, 2
jmp 0x1005321e
add esi, 4
jmp 0x100528b1
cmp cl, 0x2b
jne 0x10052991
push 0x3e
jmp 0x10052a26
lea esp, [esp + 0x20]
cmp cl, 0x39
jmp 0x1005332a
push 0x3f
jmp 0x10052a26
ja 0x10052a07
movzx ecx, cl
jmp 0x100533a4
push bx
lea esp, [esp + 2]
cmp cl, 0x2f
jne 0x100529f1
je 0x10053323
lea esp, [esp + 4]
ja 0x10052a89
call fcn.10053379
loope 0x100533d5
std
test byte [edi - 0x3d], dh
cld
lea esp, [esp + 4]
cmp cl, 0x5a
jmp 0x10052a0c
add ecx, 4
jmp 0x100529d6
push ebx
jmp 0x100533cb
mov ebx, ebp
lea ebx, [ebx - 8]
mov ecx, dword [ebx]
pop ebx
jmp 0x100529d6
cmc
invalid
shl eax, 6
pushfd
or eax, esi
jmp 0x100529db
push cx
call fcn.1005356b
push ax
push bp
lea esp, [esp + 4]
cmp ebx, 0x34
jmp 0x10053cae
push ebx
call 0x100535d9
push edx
lea esp, [esp + 8]
mov byte [edx + 3], cl
jmp 0x1005363d
xor ecx, ecx
call fcn.10053c96
push ebp
fmul dword [esi + 0x29]
fcomp dword [ebx]
movsd dword es:[edi], dword [esi]
xor eax, 0x8d3fcca5
movsb byte es:[edi], byte [esi]
xlatb
notrack jmp 0x10053c87
jmp 0x10053c87
mov edi, dword [esp]
mov ebx, dword [esp]
jmp 0x10053d26
lea ecx, [ebx - 4]
jmp 0x100535d2
cmp ebx, eax
jae 0x100535fb
mov ecx, 0x9beb26e4
jmp 0x10053c71
jae 0x10053611
mov cx, di
mov ecx, dword [esp]
lea ecx, [ebx + 0x47]
jmp 0x100535d2
lea esp, [esp + 4]
pop ebp
ret
lea esp, [esp + 4]
pop esi
not ebp
mov ebx, dword [esp]
mov ebp, dword [esp]
jmp 0x10053d10