Function at 0x5248d0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
push ebx
push esi
push edi
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x58], 0
call 0x5248ec
lea esp, [esp + 4]
jae 0x52490a
pushf
stc
popf
xchg ecx, eax
xchg ecx, eax
lea edx, [edx + 0x627b]
lea edx, [edx - 0x627b]
mov eax, eax
jb 0x52490a
call 0xbc6378
push 0x1a
push 0
lea eax, [ebp - 0x28]
push eax
call fcn.0050e181
add esp, 0xc
sub esp, 0
cmc
jle 0x524941
pushf
nop
ror edi, 8
ror edi, 0x18
add esp, 0
popf
lea ebx, [ebx + 0x250a]
lea ebx, [ebx - 0x250a]
xchg esi, edx
xchg esi, edx
jg 0x524941
add eax, 0x6a0d6a
push 0xd
push 0
lea ecx, [ebp - 0x50]
push ecx
call fcn.0050e181
add esp, 0xc
push edx
add edx, 0x54a9
ror edx, 0xc
pop edx
call 0x524961
add esp, 4
and esp, 0xffffffff
or esp, 0
jno 0x52497d
pushf
jo 0x524970
mov ebx, ebx
xchg ebx, ebx
popf
ja 0x524978
jbe 0x52497a
jo 0x52497d
mov ebp, 0x6a0a6a
push 0xa
push 0
lea edx, [ebp - 0xc]
push edx
call fcn.0050e181
add esp, 0xc
add esp, 0
lea edi, [edi]
ror edi, 0x15
ror edi, 0xb
ja 0x5249a2
lea esp, [esp]
xchg ebx, eax
xchg ebx, eax
jbe 0x5249a2
mov esp, 0x46b045c6
mov byte [ebp - 0x50], 0x46
mov byte [ebp - 0x4f], 0x59
mov byte [ebp - 0x4e], 0x51
mov byte [ebp - 0x4d], 0x4d
mov byte [ebp - 0x4c], 0x50
mov byte [ebp - 0x4b], 0x53
mov byte [ebp - 0x4a], 0x46
mov byte [ebp - 0x49], 0x53
mov byte [ebp - 0x48], 0x2f
mov byte [ebp - 0x47], 0x46
mov byte [ebp - 0x46], 0x59
mov byte [ebp - 0x45], 0x46
mov byte [ebp - 0x44], 0
and edi, 0xffffffff
call 0x5249de
lea esp, [esp + 4]
jge 0x5249e4
jns 0x5249fb
pushf
jb 0x5249ea
popf
lea ebx, [ebx + 0x1dd5]
lea ebx, [ebx - 0x1dd5]
js 0x5249fb
or dword [edx + 0x12cb045], 0x8ab04588
dec ebp
mov cl, pe_nt_image_headers32
jmp 0xb19fd20d
mov al, byte [ebp - 0x50]
sub al, 1
mov byte [ebp - 0x50], al
mov cl, byte [ebp - 0x4f]
sub cl, 1
mov byte [ebp - 0x4f], cl
mov dl, byte [ebp - 0x4e]
sub dl, 1
mov byte [ebp - 0x4e], dl
mov al, byte [ebp - 0x4d]
sub al, 1
mov byte [ebp - 0x4d], al
mov cl, byte [ebp - 0x4c]
sub cl, 1
mov byte [ebp - 0x4c], cl
mov dl, byte [ebp - 0x4b]
sub dl, 1
mov byte [ebp - 0x4b], dl
mov al, byte [ebp - 0x4a]
sub al, 1
mov byte [ebp - 0x4a], al
mov cl, byte [ebp - 0x49]
sub cl, 1
mov byte [ebp - 0x49], cl
mov dl, byte [ebp - 0x48]
sub dl, 1
mov byte [ebp - 0x48], dl
mov al, byte [ebp - 0x47]
sub al, 1
mov byte [ebp - 0x47], al
mov cl, byte [ebp - 0x46]
sub cl, 1
mov byte [ebp - 0x46], cl
mov dl, byte [ebp - 0x45]
sub dl, 1
mov byte [ebp - 0x45], dl
lea esp, [esp]
test dword [esp], edx
ja 0x524a6b
jle 0x524a72
mov esi, esi
jg 0x524a72
lcall 0x45c6, 0x44f445c6
cmc
push esp
mov byte [ebp - 0xc], 0x44
mov byte [ebp - 0xb], 0x54
mov byte [ebp - 0xa], 0x53
mov byte [ebp - 9], 0x54
mov byte [ebp - 8], 0x54
mov byte [ebp - 7], 0x2f
mov byte [ebp - 6], 0x46
mov byte [ebp - 5], 0x59
mov byte [ebp - 4], 0x46
mov byte [ebp - 3], 0
cmc
xor ebx, 0x473a
xor ebx, 0x473a
lea esp, [esp]
jns 0x524ab3
jmp 0x524aae
xchg esp, esp
js 0x524ab3
mov ecx, 0x2cf4458a
add dword [eax + 0x4d8af445], ecx
cmc
mov al, byte [ebp - 0xc]
sub al, 1
mov byte [ebp - 0xc], al
mov cl, byte [ebp - 0xb]
sub cl, 1
mov byte [ebp - 0xb], cl
mov dl, byte [ebp - 0xa]
sub dl, 1
mov byte [ebp - 0xa], dl
mov al, byte [ebp - 9]
sub al, 1
mov byte [ebp - 9], al
mov cl, byte [ebp - 8]
sub cl, 1
mov byte [ebp - 8], cl
mov dl, byte [ebp - 7]
sub dl, 1
mov byte [ebp - 7], dl
mov al, byte [ebp - 6]
sub al, 1
mov byte [ebp - 6], al
mov cl, byte [ebp - 5]
sub cl, 1
mov byte [ebp - 5], cl
mov dl, byte [ebp - 4]
sub dl, 1
mov byte [ebp - 4], dl
xor edx, dword [esp + 0x10]
xor edx, dword [esp + 0x10]
shr esp, 0
jns 0x524b0e
jae 0x524b10
jae 0x524b1d
xchg esi, eax
xchg esi, eax
jo 0x524b16
je 0x524b18
jb 0x524b1a
jb 0x524b1d
jmp 0x5c2a90e7
mov byte [ebp - 0x28], 0x5b
mov byte [ebp - 0x27], 0x78
mov byte [ebp - 0x26], 0x52
mov byte [ebp - 0x25], 0x76
mov byte [ebp - 0x24], 0x66
mov byte [ebp - 0x23], 0x73
mov byte [ebp - 0x22], 0x7a
mov byte [ebp - 0x21], 0x4a
mov byte [ebp - 0x20], 0x6f
mov byte [ebp - 0x1f], 0x67
mov byte [ebp - 0x1e], 0x70
mov byte [ebp - 0x1d], 0x73
mov byte [ebp - 0x1c], 0x6e
mov byte [ebp - 0x1b], 0x62
mov byte [ebp - 0x1a], 0x75
mov byte [ebp - 0x19], 0x6a
mov byte [ebp - 0x18], 0x70
mov byte [ebp - 0x17], 0x6f
mov byte [ebp - 0x16], 0x51
mov byte [ebp - 0x15], 0x73
mov byte [ebp - 0x14], 0x70
mov byte [ebp - 0x13], 0x64
mov byte [ebp - 0x12], 0x66
mov byte [ebp - 0x11], 0x74
mov byte [ebp - 0x10], 0x74
mov byte [ebp - 0xf], 0
rol esp, 0
cmp ecx, dword [esp]
lea ecx, [ecx + 0x7669]
lea ecx, [ecx - 0x7669]
je 0x524b99
jle 0x524bb0
pushf
lea edx, [edx + 0x3cad]
sub edx, 0x3cad
popf
mov esi, esi
jg 0x524bb0
mov edi, 0x2cd8458a
add dword [eax + 0x4d8ad845], ecx
fld qword [eax + 0x4d8801e9]
fisttp qword [edx - 0x157f1dab]
add dword [eax + 0x458ae255], ecx
out 0x2c, eax
add dword [eax + 0x4d8ae745], ecx
in al, dx
mov al, byte [ebp - 0x28]
sub al, 1
mov byte [ebp - 0x28], al
mov cl, byte [ebp - 0x23]
sub cl, 1
mov byte [ebp - 0x23], cl
mov dl, byte [ebp - 0x1e]
sub dl, 1
mov byte [ebp - 0x1e], dl
mov al, byte [ebp - 0x19]
sub al, 1
mov byte [ebp - 0x19], al
mov cl, byte [ebp - 0x14]
sub cl, 1
mov byte [ebp - 0x14], cl
mov dl, byte [ebp - 0x27]
sub dl, 1
mov byte [ebp - 0x27], dl
mov al, byte [ebp - 0x22]
sub al, 1
mov byte [ebp - 0x22], al
mov cl, byte [ebp - 0x1d]
sub cl, 1
mov byte [ebp - 0x1d], cl
mov dl, byte [ebp - 0x18]
sub dl, 1
mov byte [ebp - 0x18], dl
mov al, byte [ebp - 0x13]
sub al, 1
mov byte [ebp - 0x13], al
mov cl, byte [ebp - 0x26]
sub cl, 1
mov byte [ebp - 0x26], cl
mov dl, byte [ebp - 0x21]
sub dl, 1
mov byte [ebp - 0x21], dl
mov al, byte [ebp - 0x1c]
sub al, 1
mov byte [ebp - 0x1c], al
mov cl, byte [ebp - 0x17]
sub cl, 1
mov byte [ebp - 0x17], cl
mov dl, byte [ebp - 0x12]
sub dl, 1
mov byte [ebp - 0x12], dl
mov al, byte [ebp - 0x25]
sub al, 1
mov byte [ebp - 0x25], al
mov cl, byte [ebp - 0x20]
sub cl, 1
mov byte [ebp - 0x20], cl
mov dl, byte [ebp - 0x1b]
sub dl, 1
mov byte [ebp - 0x1b], dl
mov al, byte [ebp - 0x16]
sub al, 1
mov byte [ebp - 0x16], al
mov cl, byte [ebp - 0x11]
sub cl, 1
mov byte [ebp - 0x11], cl
mov dl, byte [ebp - 0x24]
sub dl, 1
mov byte [ebp - 0x24], dl
mov al, byte [ebp - 0x1f]
sub al, 1
mov byte [ebp - 0x1f], al
mov cl, byte [ebp - 0x1a]
sub cl, 1
mov byte [ebp - 0x1a], cl
mov dl, byte [ebp - 0x15]
sub dl, 1
mov byte [ebp - 0x15], dl
mov al, byte [ebp - 0x10]
sub al, 1
mov byte [ebp - 0x10], al
jle 0x524c8a
cmp eax, 0x4364
je 0x524c9d
pushf
jb 0x524c95
popf
lea esp, [esp]
jne 0x524c9d
jmp 0x522a9a2e
lea ecx, [ebp - 0x28]
push ecx
mov edx, dword [0x504f78]
push edx
call fcn.00510bb9
mov dword [0x507468], eax
cmc
jnp 0x524ccd
xchg edx, edx
jno 0x524cb9
lea eax, [eax + 0x16e8]
lea eax, [eax - 0x16e8]
xchg esi, ebx
xchg esi, ebx
jp 0x524ccd
add eax, 0x6a1a6a65
add byte [ebp - 0x17af27bb], cl
cmpsd dword [esi], dword es:[edi]
xchg esp, eax
invalid
push 0x1a
push 0
lea eax, [ebp - 0x28]
push eax
call fcn.0050e181
add esp, 0xc
jne 0x524cdf
nop
jg 0x524ce2
and esp, 0xffffffff
jnp 0x524cf1
xchg ecx, ecx
xchg edi, esi
xchg edi, esi
jp 0x524cf1
sub eax, 0x64f0e870
invalid
call fcn.0051b1e6
mov dword [0x504f70], eax
xor esp, 0
shl esp, 0
jnp 0x524d17
ja 0x524d05
lea esi, [esi + 0xeb3]
lea esi, [esi - 0xeb3]
xchg edx, eax
xchg edx, eax
jp 0x524d17
mov eax, 0x680d8b5b
je 0x524d6c
mov ecx, dword [0x507468]
mov dword [ebp - 0x5c], ecx
rol ecx, 0xc
rol ecx, 0x14
mov edi, edi
add byte [ecx - 0x3e3e5bb3], cl
or al, 0xc1
rcl dword [ebx + ecx*4], 0xff
jno 0x524d30
lea esi, [esi]
jo 0x524d30
jmp 0xa4cfd08f
cmp dword [ebp - 0x5c], 0
jne 0x524d56
jle 0x524d38
cmp esi, dword [esp + 8]
rol edx, 0x13
ror edx, 0x13
jp 0x524d4c
jne 0x524d46
lea esp, [esp]
jnp 0x524d4c
mov esi, 0x54b8
add cl, ch
lahf
add byte [eax], al
add byte [edi], bh
mov eax, 0x54
jmp 0x524df5
jg 0x524d58
jl 0x524d75
pushf
ror edi, 0x15
rol edi, 0x15
test eax, 0x239a
std
cld
add esp, 0
popf
jle 0x524d70
js 0x524d72
jge 0x524d75
call 0x18bc4de3
push 0
push 0x18
lea edx, [ebp - 0x40]
push edx
push 0
mov eax, dword [0x504f70]
push eax
call dword [ebp - 0x5c]
test eax, eax
je 0x524d8e
jmp 0x524daa
js 0x524d90
clc
js 0x524da4
xchg edi, edi
lea edi, [edi + 0x5cff]
lea edi, [edi - 0x5cff]
jns 0x524da4
ljmp 0xac4d:0x89d44d8b
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x54], ecx
sub eax, 0
ror esi, 0x1e
rol esi, 0x1e
ror eax, 0x1c
ror eax, 4
jg 0x524dcf
js 0x524dbd
lea edx, [edx + 0x3816]
lea edx, [edx - 0x3816]
nop
lea edx, [edx]
jle 0x524dcf
mov edi, 0x52f4558d
lea edx, [ebp - 0xc]
push edx
call fcn.0051ab0f
add esp, 4
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0x54
je 0x524de9
mov eax, dword [ebp - 0x58]
jmp 0x524df5
mov eax, dword [ebp - 0x54]
push eax
call fcn.0051ecc7
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret