Function at 0x4972a0
Capabilities:
Contain obfuscated stackstrings
Print debug messages

Disassembly:
rol eax, 1
rol eax, 0x1f
jo 0x497287
or ecx, 0
jbe 0x497297
jge 0x49728e
jae 0x497290
jnp 0x497292
lea ecx, [ecx]
ja 0x497297
lcall 0xc300, 0x487448a1
nop
nop
nop
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
push esi
push edi
push 0x4886f0
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
or esi, 0
rol edi, 0
shr esp, 0
jno 0x4972d4
mov eax, dword [0x487448]
ret
jge 0x4972c1
jnp 0x4972c3
lea edi, [edi + 0x25f1]
lea edi, [edi - 0x25f1]
jle 0x4972d1
jo 0x4972d4
sub dword [edx + 0x19], 0x6ae0458d
add byte [eax - 0x18], dl
call dword [eax]
add dword [eax], eax
push 0x19
lea eax, [ebp - 0x20]
push 0
push eax
call fcn.004a83e0
mov dl, 0x65
mov cl, 0x6f
mov byte [ebp - 0x1b], dl
mov byte [ebp - 0x18], dl
mov al, 0x66
mov bl, 0x75
mov dl, 0x6a
add esp, 0xc
mov byte [ebp - 0x20], 0x56
mov byte [ebp - 0x1f], cl
mov byte [ebp - 0x1e], 0x69
mov byte [ebp - 0x1d], 0x62
mov byte [ebp - 0x1c], cl
mov byte [ebp - 0x1a], 0x6d
mov byte [ebp - 0x19], al
mov byte [ebp - 0x17], 0x46
mov byte [ebp - 0x16], 0x79
mov byte [ebp - 0x15], 0x64
mov byte [ebp - 0x14], al
mov byte [ebp - 0x13], 0x71
mov byte [ebp - 0x12], bl
mov byte [ebp - 0x11], dl
mov byte [ebp - 0x10], 0x70
mov byte [ebp - 0xf], cl
mov byte [ebp - 0xe], 0x47
mov byte [ebp - 0xd], dl
mov byte [ebp - 0xc], 0x6d
mov byte [ebp - 0xb], bl
mov byte [ebp - 0xa], al
mov byte [ebp - 9], 0x73
mov byte [ebp - 8], 0
cmp ebx, dword [esp + 0x10]
add eax, 0
jb 0x49735a
mov ebx, ebx
je 0x497353
js 0x497355
lea edx, [edx]
jae 0x49735a
ljmp 0xe55d:0x8ae0458a
mov al, byte [ebp - 0x20]
mov bl, byte [ebp - 0x1b]
mov dl, byte [ebp - 0x16]
mov cl, byte [ebp - 0x11]
dec al
dec bl
mov byte [ebp - 0x20], al
mov al, byte [ebp - 0xc]
dec dl
mov byte [ebp - 0x1b], bl
mov bl, byte [ebp - 0x1f]
dec cl
mov byte [ebp - 0x16], dl
mov dl, byte [ebp - 0x1a]
mov byte [ebp - 0x11], cl
mov cl, byte [ebp - 0x15]
dec al
dec bl
mov byte [ebp - 0xc], al
mov al, byte [ebp - 0x10]
dec dl
mov byte [ebp - 0x1f], bl
mov bl, byte [ebp - 0xb]
dec cl
mov byte [ebp - 0x1a], dl
mov dl, byte [ebp - 0x1e]
mov byte [ebp - 0x15], cl
mov cl, byte [ebp - 0x19]
dec al
dec bl
mov byte [ebp - 0x10], al
mov al, byte [ebp - 0x14]
dec dl
dec cl
mov byte [ebp - 0xb], bl
mov byte [ebp - 0x1e], dl
mov byte [ebp - 0x19], cl
dec al
mov bl, byte [ebp - 0xf]
mov dl, byte [ebp - 0xa]
mov cl, byte [ebp - 0x1d]
dec bl
mov byte [ebp - 0x14], al
mov al, byte [ebp - 0x18]
dec dl
mov byte [ebp - 0xf], bl
mov bl, byte [ebp - 0x13]
dec cl
mov byte [ebp - 0xa], dl
mov dl, byte [ebp - 0xe]
mov byte [ebp - 0x1d], cl
mov cl, byte [ebp - 9]
dec al
dec bl
mov byte [ebp - 0x18], al
mov al, byte [ebp - 0x1c]
dec dl
mov byte [ebp - 0x13], bl
mov bl, byte [ebp - 0x17]
dec cl
mov byte [ebp - 0xe], dl
mov dl, byte [ebp - 0x12]
mov byte [ebp - 9], cl
mov cl, byte [ebp - 0xd]
dec al
dec bl
dec dl
dec cl
mov byte [ebp - 0x1c], al
mov byte [ebp - 0x17], bl
mov byte [ebp - 0x12], dl
mov byte [ebp - 0xd], cl
std
cld
or ebx, 0
jo 0x49742c
lea edi, [edi]
je 0x497425
lea ecx, [ecx]
jno 0x49742c
mov edi, 0x158bea83
sal byte [eax + 0x48], 0
mov edx, dword [0x4870c0]
lea ecx, [ebp - 0x20]
push ecx
push edx
call fcn.0049d0a0
mov dword [ebp - 4], eax
ror edi, 0
jb 0x497444
lea ebx, [ebx + 0x2616]
lea ebx, [ebx - 0x2616]
je 0x497475
pushf
call 0x497459
lea esp, [esp + 4]
cmc
lea edi, [edi + 0x6dfd]
sub edi, 0x6dfd
jnp 0x49746c
popf
jge 0x497470
lea edx, [edx]
jne 0x497475
mov ebx, 0x458d196a
loopne 0x4974e5
push 0x19
lea eax, [ebp - 0x20]
push 0
push eax
call fcn.004a83e0
add byte [eax - 0x18], dl
pop esi
sgdt [eax]
add esp, 0xc
jns 0x497487
shr esp, 0
jg 0x49748c
jp 0x49749b
pushf
dec edi
inc edi
inc esi
dec esi
popf
jns 0x497498
jnp 0x49749b
or dword [ebx - 0x367a03b3], 0x75902775
add byte [ebx + 0x137f00cb], al
mov ecx, dword [ebp - 4]
test ecx, ecx
jne 0x4974c9
nop
jne 0x4974a5
or ebx, 0
jg 0x4974bd
pushf
rol eax, 7
ror eax, 7
rol esi, 0
cld
popf
jnp 0x4974ba
jle 0x4974bd
mov esi, 0x6b8
add byte [edi + 0x5e], bl
mov eax, 6
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
std
cld
jge 0x4974cd
jge 0x4974d8
jo 0x4974d1
mov eax, eax
jp 0x4974d5
jl 0x4974d8
add eax, 0xf185098a
mov cl, byte [ecx]
test ecx, esi
jbe 0x4974fe
pushf
test edi, ebx
cmp eax, dword [esp + 0x10]
sub esp, 0
lea eax, [eax + 0x32a4]
lea eax, [eax - 0x32a4]
popf
jle 0x4974f9
adc byte [ebx - 0x7f72ff14], al
movsb byte es:[edi], byte [esi]
xor al, byte [eax]
add byte [ebp - 0x32a380], cl
jmp dword [esi - 0x63]
ja 0x4974fb
ja 0x4974fe
lcall 0x8d22, 0x75ccf980
wait
inc eax
add dword [eax], eax
add byte [ebp - 0x13f65], cl
invalid
cmp cl, 0xcc
jne 0x497525
lea ebx, [ebx + 0x140]
lea ebx, [ebx - 0x140]
js 0x497519
lea esi, [esi]
jg 0x497515
jns 0x497519
mov eax, 0x6b840
add byte [eax], al
mov eax, 6
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
add edi, 0x138b
sub edi, 0x138b
jb 0x497533
ror esp, 0
jg 0x497544
jmp 0x49753a
jae 0x49753c
jl 0x49753e
xchg edx, edx
jle 0x497544
mov ecx, 0x86e068d4
dec eax
add bh, bh
adc eax, sym.imp.KERNEL32.dll_OutputDebugStringA
push 0x4886e0
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
pop edi
pop esi
mov eax, 7
pop ebx
mov esp, ebp
pop ebp
ret