Function at 0x53b432
Capabilities:
Encrypt data using aes
Reference aes constants

Disassembly:
call fcn.004fa9c5
pushfd
push word [esp + 1]
lea esp, [esp + 2]
lea esp, [esp + 4]
push ebp
jmp 0x53b01a
pop edi
lea ebx, [ebp + 0xf9]
mov bh, byte [esp]
lea ebx, [eax + edi]
jmp 0x53c309
push ecx
lea esp, [esp + 4]
push ecx
lea esp, [esp + 4]
jmp 0x4fa9f9
mov edi, dword [ecx + eax*4]
push 0x20
pop ecx
cmp eax, dword [ebp - 4]
jne 0x53b905
jmp 0x53b3db
mov eax, dword [ebp + 8]
pushal
lea ebp, reloc.oleaut32.dll_SysFreeString
mov bx, word [esp]
bswap ecx
mov al, byte [esp]
jmp 0x53b112
test eax, eax
jl 0x53af9d
push ebx
push ebx
mov ebx, ebp
lea ebx, [ebx + 0x10]
mov ecx, dword [ebx]
pop ebx
push ecx
mov ecx, ebp
lea ecx, [ecx + 0x14]
mov eax, dword [ecx]
pop ecx
jmp 0x53af81
push dword [ebp + 0x10]
push edi
mov edi, ebp
lea edi, [edi + 0x14]
mov eax, dword [edi]
pop edi
mov dword [ebp - reloc.oleaut32.dll_SysFreeString], 1
call fcn.00526ded
dec eax
pop ecx
mov dword [ebp - 4], eax
mov dword [ebp + 0x14], eax
jmp 0x53afbf
mov ebp, esp
mov ecx, dword [ebp + 0xc]
sub esp, 0x414
push esi
mov esi, eax
pushfd
pushal
push dword [esp + 1]
push word [esp + 0x25]
push word [esp + 6]
pushfd
mov dword [esp + 0x2c], edi
push ebp
lea esp, [esp + 1]
mov byte [esp], ch
push word [esp]
push si
mov dword [esp], edi
lea esp, [esp + 3]
lea esp, [esp + 0x30]
mov edx, esi
lea eax, reloc.oleaut32.dll_SysFreeString
call fcn.00526b37
push dword [ebp + 0x18]
lea eax, reloc.oleaut32.dll_SysFreeString
push dword [ebp + 0xc]
lea ecx, reloc.oleaut32.dll_SysFreeString
pushal
mov byte [esp + 9], ch
pop word [esp + 8]
mov byte [esp + 0x16], dl
pop dword [esp + 9]
lea esp, [esp + 2]
mov dword [esp + 0x14], eax
push ebx
push esi
push word [esp + 1]
pushal
mov dword [esp + 0x24], esi
mov word [esp + 0x23], cx
pop dword [esp + 0x13]
lea esp, [esp + 2]
lea esp, [esp + 0x38]
call fcn.00526b91
push dword [ebp + 0x18]
lea eax, reloc.oleaut32.dll_SysFreeString
push dword [ebp + 0xc]
lea ecx, reloc.oleaut32.dll_SysFreeString
push eax
call fcn.00526b73
add esp, 0x18
test esi, esi
jbe 0x53afe7
mov ecx, esi
xor eax, eax
lea edi, reloc.oleaut32.dll_SysFreeString
rep stosd dword es:[edi], eax
jmp 0x53afe7
push dword [esp + 5]
push word [esp + 3]
pop dword [esp]
mov dword [esp], edi
mov byte [esp + 8], bl
lea esp, [esp + 2]
lea esp, [esp + 8]
popal
jmp 0x53b17d
bswap ecx
xchg ebp, edx
mov bx, 0x459b
mov dword [esp + 0x14], esi
pushfd
mov dword [esp], ebp
mov byte [esp + 1], bl
pushfd
jmp 0x53b0e5
lea esp, [esp + 2]
shl edi, 2
pushfd
mov byte [esp + 2], dh
mov byte [esp], al
mov dword [esp], esp
pop word [esp]
lea esp, [esp]
push dx
mov byte [esp], bh
lea esp, [esp + 0x28]
dec ebx
jne 0x53b90c
je 0x53b1bc
call fcn.004fa704
pushal
mov byte [esp + 0x18], bl
jmp 0x53b2ea
lea ecx, reloc.oleaut32.dll_SysFreeString
jmp 0x53b160
push bp
push word [esp]
pushal
pop word [esp + 1]
push dword [esp + 0xc]
jmp 0x53b135
dec dword [ebp + 0x14]
jns 0x53afc4
pop ebx
jmp 0x53af9d
mov dword [esp + 0x1c], reloc.oleaut32.dll_SysFreeString
push edi
mov byte [esp + 1], bl
lea esp, [esp + 3]
mov byte [esp], bl
lea esp, [esp]
lea esp, [esp]
lea esp, [esp]
lea esp, [esp + 1]
lea esp, [esp + 0x1c]
lea ecx, reloc.oleaut32.dll_SysFreeString
call fcn.004fca40
lea ecx, reloc.oleaut32.dll_SysFreeString
mov dword [esp], reloc.oleaut32.dll_SysFreeString
call fcn.004fca40
pop ecx
pop edi
pop esi
leave
ret
mov eax, 0xc0000000
test eax, edi
jne 0x53b905
shl edi, 2
dec ecx
dec ecx
test eax, edi
je 0x53b3e9
test ecx, ecx
jbe 0x53b1bc
ja 0x53b905
lea esp, [esp]
lea esp, [esp]
push esi
push word [esp + 4]
lea esp, [esp + 3]
jmp 0x53b52f
add dword [ebp - 4], 4
push ebp
mov ebp, ecx
lea ebp, [ebp - 8]
mov dword [ebp], eax
pop ebp
mov eax, dword [edx - 4]
mov dword [edx - 8], edi
push esi
mov esi, ecx
lea esi, [esi - 4]
mov edi, dword [esi]
pop esi
mov dword [ecx - 4], eax
push ebp
mov ebp, edx
mov eax, dword [ebp]
pop ebp
push ebx
pushal
mov dword [esp + 0x10], edx
pushfd
pop word [esp]
lea esp, [esp + 1]
lea esp, [esp]
jmp 0x53b400
cmp eax, 1
jle 0x53b496
lea ecx, [eax - 1]
push ebx
mov ebx, ebp
lea ebx, [ebx - 4]
mov dword [ebx], ecx
pop ebx
mov ecx, 0xff
movzx ebx, byte [esi + 0x11]
mov ebx, dword [ebx*4 + reloc.oleaut32.dll_SysFreeString]
jmp 0x53b4fa
mov edi, 0xa5245c7
lea edi, [edx + edi]
bswap di
jmp 0x53be1b
mov edi, dword [ecx + 4]
push edi
mov edi, ecx
lea edi, [edi + 4]
mov dword [edi], eax
pop edi
push eax
pushal
mov dword [esp + 0x1c], edx
popal
lea eax, [eax + 4]
mov dword [eax], edi
pop eax
sub ebx, 4
add ecx, 0x10
sub edx, 0x10
cmp dword [ebp - 4], ebx
jl 0x53b60a
push ebx
pushal
mov ax, word [esp]
sete al
not bx
mov dword [esp + 0x10], ebp
popal
lea ebx, [ebx - 8]
mov eax, dword [ebx]
pop ebx
jmp 0x53b468
add esi, 0x10
mov edx, dword [esi]
mov edi, edx
push ebp
mov byte [esp + 2], dh
shr edi, 0x18
pushfd
mov dword [esp], ebx
pop word [esp]
mov byte [esp], dl
mov word [esp], si
lea esp, [esp + 2]
lea esp, [esp + 4]
jmp 0x53b6da
lea esp, [esp + 4]
popal
lea ebx, [ebx - 4]
mov dword [ebx], edi
pop ebx
mov edi, dword [ecx]
mov dword [ecx], eax
push ebp
mov ebp, edx
lea ebp, [ebp + 4]
mov eax, dword [ebp]
pop ebp
push ebp
pushal
bswap di
mov ch, cl
mov ax, word [esp]
mov al, cl
lea ebp, [edx + edi]
mov dword [esp + 8], edx
push bx
mov word [esp], ax
push word [esp + 1]
mov byte [esp + 2], bl
pop word [esp]
mov byte [esp], ch
mov byte [esp], ch
lea esp, [esp + 1]
lea esp, [esp + 1]
popal
mov dword [ebp], edi
pop ebp
jmp 0x53b4b3
mov eax, dword [edx - 8]
mov edi, dword [ecx - 8]
jmp 0x53b41e
mov edi, dword [edi*4 + reloc.oleaut32.dll_SysFreeString]
and edi, ecx
push ebp
mov ebp, edi
jmp 0x53ba0d
lea ebx, [ecx - 1]
shr ebx, 1
inc ebx
push dword [ebp + 0x18]
lea eax, reloc.oleaut32.dll_SysFreeString
push eax
push eax
pushal
push si
xchg bx, bp
mov dl, 0xa9
lea esp, [esp + 2]
mov dword [esp + 0x18], eax
push edx
push dword [esp]
pop dword [esp]
mov byte [esp + 1], dl
push word [esp + 1]
lea esp, [esp + 2]
lea esp, [esp + 4]
popal
call fcn.00526e3e
push dword [ebp + 0x18]
lea eax, reloc.oleaut32.dll_SysFreeString
push eax
push eax
mov ecx, eax
call fcn.00526f13
pushal
mov bp, 0x4c92
not bp
mov dword [esp + 0x1c], edi
popal
shr eax, 0x1e
add esp, 0x18
test eax, eax
je 0x53b19c
push dword [ebp + 0x18]
imul eax, eax, 0x104
lea eax, reloc.oleaut32.dll_SysFreeString
push eax
lea eax, reloc.oleaut32.dll_SysFreeString
push eax
pushal
mov edi, dword [esp]
lea ebx, reloc.oleaut32.dll_SysFreeString
mov ebp, edx
xchg esi, ebx
mov ebp, edi
setl cl
bswap ebp
mov dword [esp + 0x18], eax
push sp
pushfd
push dword [esp + 1]
mov dword [esp + 2], eax
mov word [esp + 6], ax
lea esp, [esp + 2]
lea esp, [esp + 8]
popal
call fcn.00526ef5
add esp, 0xc
jmp 0x53b19c
and ebx, ecx
push eax
lea esp, [esp + 4]
xor edi, dword [ebx*4 + reloc.oleaut32.dll_SysFreeString]
and edx, ecx
jmp 0x53bf45
mov ebx, dword [ebx*4 + reloc.oleaut32.dll_SysFreeString]
and edx, ecx
mov edx, dword [edx*4 + reloc.oleaut32.dll_SysFreeString]
stc
jmp 0x53b9cb
lea ebp, [ebp*4]
lea ebp, reloc.oleaut32.dll_SysFreeString
mov edi, dword [ebp]
pop ebp
and ebx, ecx
xor edi, dword [ebx*4 + reloc.oleaut32.dll_SysFreeString]
movzx ebx, byte [esi + 2]
push ebp
mov ebp, ebx
lea ebp, [ebp*4]
lea ebp, reloc.oleaut32.dll_SysFreeString
mov ebx, dword [ebp]
pop ebp
and ebx, ecx
xor edi, dword [ebx*4 + reloc.oleaut32.dll_SysFreeString]
movzx ebx, byte [esi + 5]
and edx, ecx
mov edx, dword [edx*4 + reloc.oleaut32.dll_SysFreeString]
and edx, ecx
xor edi, dword [edx*4 + reloc.oleaut32.dll_SysFreeString]
push ebx
mov ebx, esi
lea ebx, [ebx + 4]
mov edx, dword [ebx]
pop ebx
mov dword [esi], edi
mov ebx, dword [ebx*4 + reloc.oleaut32.dll_SysFreeString]
pushal
pushal
pop ecx
bswap ebx
mov ch, 0xca
mov ecx, dword [esp + 0x19]
push word [esp]
xchg word [esp + 9], bp
lea esp, [esp + 2]
mov dword [esp + 0x1c], edx
pushfd
mov byte [esp + 1], ch
mov word [esp], sp
pop word [esp]
push word [esp]
push bp
lea esp, [esp + 2]
lea esp, [esp + 0x20]
popal
shr edi, 0x18
push edx
pushal
xchg ebx, ebp
mov dx, di
bswap ax
mov dword [esp + 0x14], edi
pushfd
push word [esp + 2]
lea esp, [esp + 2]
lea esp, [esp + 4]
popal
lea edx, [edx*4]
lea edx, reloc.oleaut32.dll_SysFreeString
mov edi, dword [edx]
pop edx
and edi, ecx
mov edi, dword [edi*4 + reloc.oleaut32.dll_SysFreeString]
sub esp, 0xf
mov word [esp + 7], cx
push word [esp + 0xe]
push word [esp + 8]
cmc
lea esp, [esp + 0xf]
pushfd
pop dword [esp]
push dword [esp + 3]
and ebx, ecx
pushal
pop dword [esp + 3]
mov word [esp + 0xd], si
mov word [esp + 0xf], cx
pop dword [esp + 0x13]
push dword [esp + 3]
mov dword [esp + 4], ecx
pop dword [esp + 0x12]
push word [esp + 4]
lea esp, [esp + 2]
lea esp, [esp + 0x20]
xor edi, dword [ebx*4 + reloc.oleaut32.dll_SysFreeString]
movzx ebx, byte [esi + 6]
push ebp
mov ebp, ebx
lea ebp, [ebp*4]
lea ebp, reloc.oleaut32.dll_SysFreeString
mov ebx, dword [ebp]
pop ebp
and ebx, ecx
xor edi, dword [ebx*4 + reloc.oleaut32.dll_SysFreeString]
movzx ebx, byte [esi + 9]
and edx, ecx
push edi
pushal
mov ebp, dword [esp]
mov si, 0x7aec
setp cl
not bx
mov esi, ecx
mov bp, word [esp]
mov cx, di
mov dword [esp], edx
pushfd
push word [esp]
lea esp, [esp + 4]
push word [esp + 1]
mov byte [esp], al
mov word [esp], bp
pushfd
push word [esp + 5]
pushal
lea esp, [esp + 2]
lea esp, [esp + 0x28]
popal
lea edi, [edi*4]
lea edi, reloc.oleaut32.dll_SysFreeString
mov edx, dword [edi]
pop edi
and edx, ecx
xor edi, dword [edx*4 + reloc.oleaut32.dll_SysFreeString]
mov edx, dword [esi + 8]
mov dword [esi + 4], edi
push ebp
mov ebp, ebx
lea ebp, [ebp*4]
lea ebp, reloc.oleaut32.dll_SysFreeString
mov ebx, dword [ebp]
pop ebp
pushal
mov bp, word [esp]
mov esi, 0x36806c4c
setge ch
setg ah
lea eax, [eax - 0xfd]
setne ah
mov dword [esp], edx
push si
push word [esp]
push dword [esp + 3]
mov byte [esp], dh
lea esp, [esp + 8]
popal
shr edi, 0x18
push ecx
mov ecx, edi
lea ecx, [ecx*4]
lea ecx, reloc.oleaut32.dll_SysFreeString
mov edi, dword [ecx]
pop ecx
sub esp, 0x19
mov word [esp + 0xd], bp
lea esp, [esp + 1]
and edi, ecx
push di
push word [esp]
push sp
lea esp, [esp + 2]
lea esp, [esp + 0x1c]
mov edi, dword [edi*4 + reloc.oleaut32.dll_SysFreeString]
and ebx, ecx
xor edi, dword [ebx*4 + reloc.oleaut32.dll_SysFreeString]
movzx ebx, byte [esi + 0xa]
mov ebx, dword [ebx*4 + reloc.oleaut32.dll_SysFreeString]
sub esp, 0x13
pop dword [esp + 8]
pushal
mov word [esp + 0xf], bx
add esp, 0x2a
pop word [esp]
stc
stc
lea esp, [esp + 3]
and ebx, ecx
push dx
mov byte [esp], ah
push bp
pop word [esp]
push eax
lea esp, [esp + 4]
lea esp, [esp + 1]
lea esp, [esp]
lea esp, [esp + 1]
xor edi, dword [ebx*4 + reloc.oleaut32.dll_SysFreeString]
movzx ebx, byte [esi + 0xd]
and edx, ecx
push esi
mov esi, edx
lea esi, [esi*4]
lea esi, reloc.oleaut32.dll_SysFreeString
mov edx, dword [esi]
pop esi
sub esp, 0x10
mov byte [esp + 0xd], ch
and edx, ecx
pushal
mov dword [esp + 0x19], esi
push ax
pop word [esp + 0x18]
lea esp, [esp + 0x30]
xor edi, dword [edx*4 + reloc.oleaut32.dll_SysFreeString]
mov edx, dword [esi + 0xc]
mov dword [esi + 8], edi
push edi
pushal
mov esi, dword [esp]
xchg bp, dx
mov al, 0xdd
lea esi, [ebp*4]
lea esi, [ebx*4]
mov dl, bl
mov dword [esp], ebx
popal
lea edi, [edi*4]
lea edi, reloc.oleaut32.dll_SysFreeString
mov ebx, dword [edi]
pop edi
mov edi, edx
shr edi, 0x18
mov edi, dword [edi*4 + reloc.oleaut32.dll_SysFreeString]
stc
sub esp, 0xf
pushal
stc
lea esp, [esp + 3]
and edi, ecx
pushal
pop dword [esp + 0xa]
lea esp, [esp + 0x19]
mov byte [esp], al
push cx
push dword [esp + 3]
pushfd
lea esp, [esp + 1]
lea esp, [esp + 0x38]
push ebp
pushal
lea ebp, [ebx + ebp]
mov bl, byte [esp]
pushal
mov ebp, dword [esp + 0x19]
mov dword [esp + 0x28], edi
push edi
pushfd
lea esp, [esp + 0x28]
popal
lea ebp, [ebp*4]
lea ebp, reloc.oleaut32.dll_SysFreeString
mov edi, dword [ebp]
pop ebp
stc
sub esp, 0x1e
push bx
sub esp, 0x15
push dword [esp + 0x25]
add esp, 9
pop dword [esp + 9]
lea esp, [esp + 0x14]
push dx
lea esp, [esp + 2]
and ebx, ecx
pushal
push dword [esp + 4]
pop dword [esp + 2]
pop word [esp + 0x18]
push word [esp + 0xb]
lea esp, [esp + 0x38]
xor edi, dword [ebx*4 + reloc.oleaut32.dll_SysFreeString]
movzx ebx, byte [esi + 0xe]
jmp 0x53b9eb
lea edi, [esi*4]
mov di, word [esp]
mov edi, dword [esp]
lea esp, [esp + 4]
pop esi
bswap bx
lea ebx, [ecx*4]
lea ebx, [esi + esi]
lea ebx, [ecx*4]
lea ebx, reloc.oleaut32.dll_SysFreeString
mov ebx, dword [esp]
push cx
push word [esp]
mov byte [esp + 2], bh
lea esp, [esp + 8]
leave
ret
xor edi, dword [edx*4 + reloc.oleaut32.dll_SysFreeString]
dec dword [ebp - 4]
mov dword [esi + 0xc], edi
jne 0x53b47f
je 0x53b496
pop eax
jmp 0x53bf8d
pushfd
push word [esp + 1]
mov byte [esp + 1], cl
push edi
push dword [esp + 3]
mov word [esp + 3], ax
push eax
mov byte [esp + 0xe], ah
lea esp, [esp + 2]
mov dword [esp + 0xc], esi
pushal
jmp 0x53bfce
push word [esp + 3]
mov byte [esp + 0xc], bh
lea esp, [esp + 2]
jmp 0x53c03c
cmp bl, 0x2f
jne 0x53c049
push 0x3f
jmp 0x53c073
push eax
pushal
lea ebp, [eax + ecx]
mov dword [esp + 0x1c], edi
pushal
lea esp, [esp]
jmp 0x53c0e9
lea esp, [esp + 0x2c]
cmp bl, 0x2b
jne 0x53c015
push 0x3e
jmp 0x53c073
movzx esi, bl
cmp bl, 0x39
ja 0x53c076
add esi, 4
jmp 0x53c01e
sub esi, 0x47
jmp 0x53c01e
pop esi
jmp 0x53c01e
cmp bl, 0x5a
ja 0x53c056
sub esi, 0x41
jmp 0x53c01e
cmp dl, 0x2f
jne 0x53c1b7
push 0x3f
jmp 0x53c200
push eax
pushal
push ax
xchg word [esp], bx
mov cl, ch
mov ebx, dword [esp]
pop dx
mov ecx, 0x45bf17a6
pushal
jmp 0x53c1c4
lea esp, [esp + 0x1d]
lea esp, [esp + 3]
popal
mov edi, dword [eax]
pop eax
cmp edi, 2
jb 0x53c0c7
cmp dl, 0x2b
jmp 0x53c255
cmp dl, 0x5a
movzx edx, dl
ja 0x53c1e0
sub edx, 0x41
jmp 0x53c190
cmp edi, 3
jne 0x53c203
cmp cl, 0x2b
jne 0x53c795
push 0x3e
jmp 0x53c2bd
cmp dl, 0x39
ja 0x53c16e
movzx edx, dl
add edx, 4
jmp 0x53c190
xchg dl, bh
mov word [esp + 0x1c], bx
mov dword [esp + 0x3c], ebp
pushal
jmp 0x53c22f
sub edx, 0x47
jmp 0x53c190
pop edx
jmp 0x53c190
mov ecx, dword [ebp - 8]
jmp 0x53c25f
push dword [esp + 4]
cmc
or eax, esi
pushal
mov dword [esp + 0xa], esp
mov word [esp + 0xd], dx
mov dword [esp + 0xc], ebp
mov byte [esp + 4], cl
jmp 0x53c29e
mov word [esp + 0x12], dx
push dword [esp + 0x15]
lea esp, [esp + 0x44]
popal
lea eax, [eax - 8]
mov edx, dword [eax]
pop eax
jmp 0x53c190
jne 0x53c0a2
push 0x3e
jmp 0x53c200
shl eax, 6
stc
cmc
stc
cmc
sub esp, 6
mov byte [esp + 2], bh
push word [esp + 1]
jmp 0x53c208
cmp cl, 0x39
jmp 0x53c493
cmp cl, 0x5a
movzx ecx, cl
ja 0x53c2fa
sub ecx, 0x41
jmp 0x53c25f
mov word [esp + 0xc], si
lea esp, [esp + 0x2c]
shl eax, 0xc
pop esi
cmp edi, 2
jmp 0x53c2c0
pop ecx
jmp 0x53c25f
jb 0x53c2dd
shl edx, 6
pushal
pop word [esp + 0xa]
push word [esp + 6]
jmp 0x53c451
cmp edi, 3
jne 0x53c424
or eax, ecx
jmp 0x53c424
sub ecx, 0x47
jmp 0x53c25f
xor eax, eax
jmp 0x4fb2c7
mov bl, ch
mov ebx, dword [esp]
push ebx
lea esp, [esp + 8]
leave
ret
mov edx, eax
shr edx, 8
pushal
lea esp, [esp + 0x11]
push word [esp + 2]
pop word [esp + 0xb]
lea esp, [esp + 3]
lea esp, [esp + 0xc]
mov byte [ecx + 1], dl
jmp 0x53c37e
cmp edi, 3
jne 0x53c302
mov byte [ecx + 2], al
jmp 0x53c302
mov dword [esp + 0x11], edi
pushal
lea esp, [esp + 2]
lea esp, [esp + 0x40]
mov byte [ecx], dl
cmp edi, 2
jb 0x53c37e
jmp 0x53c32d
push ax
mov dword [esp], esp
mov dword [esp], ecx
pop word [esp]
lea esp, [esp + 2]
shr edx, 0x10
pushal
push word [esp + 0x11]
pop word [esp + 6]
pop word [esp + 7]
pushfd
jmp 0x53c3ce
mov ecx, dword [ebp + 8]
pushal
bswap ebp
xchg edx, ecx
mov bh, dh
mov dh, 0x2c
lea edx, reloc.oleaut32.dll_SysFreeString
mov edi, edx
mov dword [esp + 0x14], eax
popal
push bp
jmp 0x53c3f2
lea esp, [esp + 0x1d]
pushfd
mov byte [esp], ch
lea esp, [esp + 4]
mov word [esp], bp
lea esp, [esp + 3]
clc
sub esp, 0
or eax, edx
pushal
lea esp, [esp + 0x20]
jmp 0x53c2dd
ja 0x53c291
movzx ecx, cl
add ecx, 4
jmp 0x53c25f
cmp cl, 0x2f
jne 0x53c27f
push 0x3f
jmp 0x53c2bd