Function at 0x487927
Capabilities:
Encrypt data using aes

Disassembly:
jmp 0x486967
call 0x487103
repe cmpsb byte [esi], byte es:[edi]
jmp 0x4aef75
pushal
push dword [esp + 0x1e]
mov byte [esp + 7], dh
push word [esp + 0x13]
jmp 0x487714
jmp 0x488d5b
xchg di, bx
inc bl
xor dl, ch
jmp 0x486994
movzx ebx, byte [esi + 0x11]
mov di, word [esp]
jmp 0x4869f4
add esi, 0x10
mov dh, byte [esp]
xchg di, dx
jmp 0x486c02
lea esi, reloc.USER32.dll_MessageBoxA
mov ebx, dword [esi]
pop esi
mov edx, esi
mov di, word [esp]
jmp 0x4869c3
push esi
mov esi, ebx
lea esi, [esi*4]
jmp 0x4869dc
sub esp, 0
cmc
lea esp, [esp + 2]
shr edi, 0x18
call fcn.00486a3b
and edx, ecx
mov edx, dword [edx*4 + reloc.USER32.dll_MessageBoxA]
jmp 0x486b05
movzx ebx, byte [esi + 5]
sub esp, 0
pushal
mov dword [esp + 0x13], eax
mov word [esp + 8], sp
jmp 0x486ab1
mov edx, dword [edi]
pop edi
pushal
sub esp, 0xc
push word [esp + 0x29]
mov word [esp + 0x26], dx
jmp 0x486b15
and edx, ecx
cmc
call fcn.00486ae0
push edi
mov edi, esi
lea edi, [edi + 4]
jmp 0x486aed
lea esp, [esp + 2]
mov dword [esi], edi
mov di, word [esp]
call fcn.00486bc6
mov esp, 0x39caaf3f
lcall 0xda7, 0x10e18610
lea ebx, [edi*4]
lea ebx, reloc.USER32.dll_MessageBoxA
mov bl, 0x62
jmp 0x486acd
mov edx, dword [esi]
mov edi, edx
pushal
pop word [esp + 0x1b]
jmp 0x486aa1
call 0x487850
mov bl, byte [ecx + 1]
pushal
mov word [esp + 0xc], di
jmp 0x48787c
call fcn.00487991
push dword [esp + 4]
lea esp, [esp + 0xc]
cmp al, 0x30
pushal
call 0x487927
lea esp, [esp + 0x24]
jb 0x48718e
add byte [ebp + 0x72242464], cl
jae 0x4878d9
jae 0x4878db
add byte [eax], al
jp 0x487121
popal
add bl, dh
inc ecx
jo 0x4871a9
push 0xffffffffffffff85
jne 0x45728e
je 0x4572a4
call fcn.004878eb
lea esp, [esp + 4]
cmp bl, 0x61
pushal
mov word [esp + 0xa], bx
jmp 0x487979
jmp 0x487e5e
pop dword [esp]
lea esp, [esp + 4]
jne 0x4873ce
push edx
mov word [esp], di
jmp 0x487e47
ret
call fcn.00487821
je 0x48718d
outsb dx, byte [esi]
or eax, edi
cmp eax, 0x2c45d55a
fbld tbyte [edx - 0x3c]
ja 0x487200
test eax, 0x99be8c8
add byte [eax], al
call 0x487b44
lea esp, [esp + 8]
mov dl, byte [ecx + 2]
jmp 0x487abf
pushal
mov byte [esp + 0xf], ch
mov word [esp + 0x1a], bx
jmp 0x4871e1
and eax, 0x2024648d
lea esp, [esp + 0x20]
cmp dl, 0x2b
jmp 0x487bbd
push esp
jmp 0x487b12
add byte [eax], al
test al, 0x3f
scasd eax, dword es:[edi]
retf 0x8639
cmp cl, 0x30
push esp
mov word [esp], bx
jmp 0x487d23
cmp dl, 0x3d
push esp
push dword [esp + 2]
jmp 0x487171
call 0x487d1c
push ds
test byte [edx], bl
jge 0x4871e0
dec ebp
test al, 0x31
mov eax, dword [reloc.USER32.dll_MessageBoxA]
mov bl, 0xaa
lds esi, [eax + ebp*8 - 0x77]
or eax, dword [eax]
add byte [ebp - 0x15], bh
call 0x487dee
jge 0x487252
jnp 0x487287
in eax, dx
pop esp
xchg ebp, eax
or al, 0x82
in eax, 0x14
movsb byte es:[edi], byte [esi]
add eax, 0x9b680999
pop edx
js 0x4872d4
push esp
jmp 0x487c6d
mov ebp, 0xbc8437c4
invalid
jmp 0x4888d2
cmp dl, 0x61
call fcn.00487a9c
lea esp, [esp + 1]
jmp 0x487aa9
stc
pushfd
sbb al, 0xb2
aad 0x24
xchg ebp, eax
jmp 0x7e0b1de8
push edx
push dword [esp]
pushal
jmp 0x487f21
pushal
mov word [esp + 0x10], sp
jmp 0x487e30
lea esp, [esp + 0x40]
cmp cl, 0x3d
setne bl
call fcn.00487e1a
xchg edx, eax
add dl, byte [eax + 0x50bc02f7]
invalid
jmp 0x487a53
jmp 0x4885cb
push esp
call fcn.004887d4
aaa
xchg ebp, eax
adc al, 0x8a
in eax, dx
sbb al, 0xde
add eax, 0x83701181
aas
rol byte [ebx + 0xde81e3a], 0x11
add byte [eax], al
mov esp, 0x3ccdaa34
mov ch, byte [edx + 0x23d0b121]
xchg ecx, eax
loopne 0x48764b
pop edx
mov ch, 0xa4
imul ebp, ecx, 0x2aeb1879
mov dword [edx], ecx
cwde
dec dword [edx]
enter 0x422b, 0xfffffffffffffffd
int3
pushal
jmp 0x48874a
psubd mm0, qword [ebx + ebx*2 - 0x4e]
lodsd eax, dword [esi]
stc
lea esp, [esp + 2]
lea esp, [esp + 0x34]
push ebx
clc
jmp 0x487685
stc
call fcn.004876e0
loopne 0x4876f2
cmc
pushfd
outsd dx, dword [esi]
scasb al, byte es:[edi]
adc dl, byte [esi + 0x2a9e6304]
or byte [ebx], 0x9b
dec byte [0x18392ebe]
clc
lea esp, [esp + 2]
jmp 0x487745
sub esp, 0xe
jmp 0x4876b1
lea esp, [esp + 2]
jmp 0x4877cb
jbe 0x4870b5
ja 0x457583
salc
inc esp
fidivr dword [ebp - 0xe9f04b4]
popal
add bl, dh
inc edx
jo 0x4877b8
lea esp, [esp + 0xc]
cmp al, 0x5a
push esp
pop word [esp]
lea esp, [esp + 2]
jmp 0x48772b
mov word [esp], sp
lea esp, [esp + 1]
lea esp, [esp + 1]
jmp 0x487c89
add ecx, ebp
retf
lea esp, [esp + 0x24]
cmp al, 0x61
call fcn.004877a0
lea esp, [esp + 0x10]
jb 0x48710d
clc
sub esp, 2
jmp 0x4877ad
jbe 0x4870b5
ja 0x48718e
pushal
mov word [esp + 0x16], di
pop dword [esp + 6]
lea esp, [esp + 0x20]
jmp 0x4870ba
jne 0x48716c
je 0x4870b5
lea esp, [esp + 0x20]
mov byte [ebp - 1], bl
cmp bl, 0x41
pushal
jmp 0x4878c4
lea esp, [esp + 0x1c]
jb 0x487144
jae 0x4878ac
daa
movsd dword es:[edi], dword [esi]
xor eax, 0x571caf5c
salc
inc esp
and ebx, esi
sbb al, 0xc7
mov byte [esp], dh
push esp
lea esp, [esp + 8]
jmp 0x487870
cmp bl, 0x5a
pushal
mov byte [esp + 0x16], ch
jmp 0x48790f
pop dword [esp]
jmp 0x487889
and byte [ebx + 0x3c], ah
cmp dword [eax - 0x77], esp
inc esp
and al, 3
cmp al, 0x39
pushal
mov dword [esp + 3], eax
lea esp, [esp + 0x20]
jmp 0x487844
lea esp, [esp + 0x20]
jbe 0x4871a4
ja 0x487144
jecxz 0x48798b
clc
lahf
push 0xffffffffffffffda
or esp, dword [edx - reloc.USER32.dll_MessageBoxA]
call dword [edx - 0x73]
and al, 3
push edx
lea esp, [esp + 3]
call 0x487937
fisttp qword [ebp - 0x72fedb9c]
and al, 4
jbe 0x4871a4
ja 0x4873f6
and byte [esi + 0x5b65b3c], ch
aas
push es
mov cl, pe_nt_image_headers32
mov bl, 0x66
mov dword [esp + 2], esp
mov word [esp + 2], sp
add esp, 9
lea esp, [esp + 1]
lea esp, [esp + 4]
cmp bl, 0x7a
jmp 0x48792c
lea esp, [esp + 0x20]
jb 0x4873f6
sub esp, 0x10
pop word [esp + 1]
jmp 0x487956
push edx
push word [esp + 1]
lea esp, [esp + 2]
lea esp, [esp + 4]
cmp bl, 0x30
call fcn.004879fc
jbe 0x487279
ja 0x4872ac
push esi
int 0x5d
and al, 0xd7
fsubr qword gs:[edi]
and dword ss:[eax - 0x73], esp
and al, 4
cmp dl, 0x5a
jmp 0x487a69
lea esp, [esp + 4]
jb 0x4871fc
call 0x487b0b
stosb byte es:[edi], al
cmp byte [edi - 0x56], bl
sbb ecx, dword [ebx - 0x80]
cli
inc ecx
cmp dl, 0x41
pushal
lea esp, [esp + 0x20]
jb 0x4872ac
call fcn.00487a9a
cmp dl, 0x7a
call 0x487adb
loop 0x487a64
and al, 2
jmp 0x487b29
lea esp, [esp + 4]
cmp dl, 0x30
call fcn.00487b6b
int 0x4c
ret 0x54a5
in eax, dx
lea esp, [esp + 4]
jbe 0x487279
ja 0x4871fc
clc
jle 0x487b28
mov eax, dword [esi - reloc.USER32.dll_MessageBoxA]
add byte [ebx - 1], 0x34
and al, 0xe9
pop ebp
idiv bh
jmp dword [esi - 0x77]
invalid
invalid
je 0x487279
call fcn.00487c2e
scasb al, byte es:[edi]
and eax, 0x9d2fdcb5
fcom dword [esi - 0x3c]
mov dword [reloc.USER32.dll_MessageBoxA], eax
stc
lea esp, [esp + 4]
jbe 0x487279
ja 0x4871d1
aad 0x5a
enter 0x5aaf, 0xffffffffffffffec
cmp edx, dword [edx]
lea esp, [esp + 4]
mov cl, byte [ecx + 3]
pushal
push word [esp + 0x11]
mov dword [esp + 1], ebp
jmp 0x487e0b
cmp al, 0x7a
call fcn.00487bef
stc
cmp cl, 0x5a
call fcn.00487c90
jb 0x487212
call 0x487cbd
clc
mov word [esp], sp
lea esp, [esp + 4]
cmp cl, 0x7a
jmp 0x487cfe
lea esp, [esp + 3]
jmp 0x487cb1
cmp cl, 0x61
call fcn.00487cd7
jbe 0x48722b
ja 0x487212
sbb byte [ecx + 0x30837011], al
fiadd dword [edx - 0x30]
mov bh, 0x42
cmc
cmp dword [edx], 0x15
test byte [edi], dh
push ds
pushal
lea esp, [esp + 0x24]
jmp 0x487cf6
mov dword [esp], ecx
jmp 0x487d85
jbe 0x48722b
ja 0x487260
jecxz 0x487dd6
in eax, dx
je 0x487ce3
xor al, 0xd3
dec esi
fdivr qword [ebx - 0x1c801aaa]
jae 0x487d7d
in eax, 0x64
cmpsb byte [esi], byte es:[edi]
rcl dword [eax - 0x73]
and al, 0x14
lea esp, [esp + 0x14]
cmp cl, 0x39
jmp 0x487d4b
pop esi
cmp eax, ecx
or ah, ch
adc al, 0x87
lea esp, cs:[esp + 4]
lea esp, [esp + 4]
jb 0x487260
sub esp, 0x16
lea esp, [esp + 2]
jmp 0x487d6c
lea esp, [esp + 1]
lea esp, [esp + 3]
lea esp, [esp + 0x1c]
jb 0x48724a
cmc
jmp 0x487ca8
pop esp
and al, 0xa
jmp 0x487f0e
stc
lea esp, [esp + 2]
lea esp, [esp + 0x20]
cmp cl, 0x41
pushal
jmp 0x487dab
xor ebx, ebx
pushal
jmp 0x4873d9
lea esp, [esp + 4]
mov dword [edi], 1
jmp 0x48731f
mov eax, 0x403
jmp 0x48728f
mov byte [esp + 0xc], bh
push word [esp + 0x1d]
lea esp, [esp + 2]
lea esp, [esp + 0x20]
je 0x48722b
jne 0x48716c
lea esp, [esp + 0x20]
je 0x48722b
cmp cl, 0x3d
pushal
jmp 0x487e84
lea esp, [esp + 0x28]
cmp al, 0x2b
call 0x487f5f
popfd
or byte [esi + 0x3dcd08f9], bl
movsd dword es:[edi], dword [esi]
xor eax, 0x546caf5c
invalid
lea esp, [esp + 4]
jmp 0x488562
movzx ecx, cl
clc
add ecx, 4
jmp 0x4875cf
shl eax, 6
jmp 0x488630
shl eax, 0xc
adc esi, eax
pop esi
sub esp, 0x10
jmp 0x488698
or eax, esi
jmp 0x488614
lea esp, [esp + 2]
shl edx, 6
call fcn.00488653
lea esp, [esp + 2]
or eax, edx
lea esp, [esp + 0x24]
jmp 0x48763b
lea esp, [esp + 0x10]
cmp edi, 2
jb 0x48763b
sub esp, 2
jmp 0x48866b
lea esp, [esp + 0x20]
cmp edi, 3
call fcn.00488703
lea esp, [esp + 3]
jb 0x4875fe
mov edx, eax
pushal
jmp 0x4887c3
lea esp, [esp + 0x38]
mov byte [ecx + 1], dl
jmp 0x4875fe
mov word [esp + 0x1a], di
sub esp, 0x1a
lea esp, [esp + 2]
shr edx, 8
jmp 0x488765
mov bl, bh
pop ebx
call fcn.00488832
cmp dword [ebp + 0xc], 3
pushal
jmp 0x4890db
push edx
lea esp, [esp + 4]
pop edi
xchg bh, bl
mov bl, 0xc
jmp 0x488861
pushal
mov word [esp + 0x1a], dx
pushal
jmp 0x4891c2
call 0x4891f4
stosd dword es:[edi], eax
setg dl
or dword [eax + reloc.USER32.dll_MessageBoxA], edx
mov al, byte [0xbfac5d63]
xchg byte [ecx], dh
lea esp, [esp + 0x48]
cmp dword [ebp + 0xc], 2
call fcn.00488a06
xor dword [edx + reloc.USER32.dll_MessageBoxA], esi
xor ebp, dword [edx]
inc ebp
hlt
inc eax
daa
shl byte [ebp - 0x2d], cl
call fcn.0048920e
inc ebx
enter 0x395e, 0xffffffffffffffc8
jl 0x488a91
cmc
pushfd
outsd dx, dword [esi]
fist dword [edi + eax*4]
cmp dword cs:[eax], ebx
pushal
push dword [esp + 6]
mov dword [esp + 0x20], ebx
lea esp, [esp + 0x20]
jmp 0x488b14
mov ecx, eax
inc dh
push 0x3f
mov edx, dword [esp]
jmp 0x488b43
not ch
neg si
bts esi, ebx
jmp 0x488ae0
push esi
neg ch
neg cx
rcl ch, 1
push edi
jmp 0x488afd
shr ecx, 0x12
mov dh, 0x7a
pop edx
clc
stc
call 0x488b2d
popfd
jmp 0x488b4c
mov edx, esp
mov esi, eax
inc dx
clc
jmp 0x488b1f
lea esp, [esp + 3]
lea esp, [esp + 1]
jmp 0x488bb3
and esi, edx
cmp dword [ebp + 0xc], 2
call fcn.00488b76
jb 0x457632
lea edi, [ebp*4]
jmp 0x488bf6
add byte [eax], al
add bl, ch
dec ebp
into
push esp
retf 0x5cad
shr esi, 0xc
sub esp, 2
lea esp, [esp + 2]
and ecx, edx
jmp 0x488b8f
shr edi, 6
clc
call fcn.00488bc1
mov dl, 0x29
mov ecx, 0xd4992bd8
dec edx
fdivr dword [edi - 0x108976b6]
jg 0x488c0c
jmp 0x8b860e3c
mov edi, eax
stc
sub esp, 0x16
lea esp, [esp + 2]
jmp 0x488bd9
jnp 0x488ba4
daa
and byte [ebx], 0xb3
salc
and eax, 0x9011e690
adc esp, dword [ecx]
and eax, edx
mov ebx, dword [esp]
mov ebx, dword [esp]
mov ebx, dword [esp]
pushal
call fcn.00488c95
mov dword [esp + 0x11], ecx
lea esp, [esp + 0xf]
pop word [esp + 2]
lea esp, [esp + 3]
jmp 0x48911c
lea esp, [esp + 0xc]
jne 0x488a96
call 0x489104
cmp al, 0xaf
aas
pop edx
test eax, 0x3bfd4272
clc
call fcn.004890f6
cmp ebx, eax
call fcn.0048890c
lea esp, [esp + 8]
setne cl
push esp
call fcn.0048918e
aam 0x4e
fdivr qword [ebx - 0x1cb968aa]
jae 0x48916e
in eax, 0x52
cmpsb byte [esi], byte es:[edi]
rcl dword [eax - 0x75]
or al, 0x24
lea ecx, [ecx*4]
lea ecx, [ebx + 0x47]
jmp 0x48892d
dec dword [ebp + reloc.USER32.dll_MessageBoxA]
add byte [eax], al
jmp 0x48892d
lea esp, [esp + 0x40]
mov byte [edx + 3], cl
jmp 0x4889b1
push 0xa357d780
call fcn.00465e9d
push 0xa357d51f
call fcn.00465e9d
stosb byte es:[edi], al
das
mov edi, 0xc0f529da
inc eax
salc
mov cl, 0x40
int1
jge 0x4aefe3
fbld tbyte [esi]
push 0xa357d28a
call fcn.00465e9d
push 0xa357e3fd
call fcn.00465e9d
push edx
rol dword [ecx + 0x20], 1
rcl dword [ebx], cl
aam 0x52
shl byte [edi - 0x35ac13ae], 0x65
xchg esp, eax
pop es
scasb al, byte es:[edi]
push 0xa357cdb9
call fcn.00465e9d
push 0xa357df38
call fcn.00465e9d
push 0xa357ecfe
call fcn.00465e9d
mov esp, 0x3bc8a939
cli
sahf
sbb cl, byte [eax - 0x451e511]
push 0xa357dd18
call fcn.00465e9d
push 0xa35833fa
call fcn.00465e9d
aad 0x50
invalid