Function at 0x4cf153
Capabilities:
Execute anti-debugging instructions

Disassembly:
cmp dword [ebp - 0x14], 0
lea esi, [esi]
je 0x4d7f49
jmp 0x4d7f4b
xchg ecx, eax
mov ecx, dword [ebp - 8]
push eax
xchg ecx, eax
pop ecx
cmp eax, dword [ebp - 0x10]
push ecx
mov ecx, dword [esp + 7]
pop ecx
je 0x5642cc
imul ecx, dword [ebp - 8], 0xc
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x3e]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
xchg edx, ebx
mov ebx, dword [ebp - 4]
push edx
xchg edx, ebx
pop ebx
xchg esi, eax
mov eax, dword [edx + ecx + 0x18]
push esi
xchg esi, eax
pop eax
shr esi, 0xb
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 4]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
imul eax, dword [ebp - 8], 0xc
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0xe]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
xchg ecx, eax
mov eax, dword [ebp - 4]
push ecx
xchg ecx, eax
pop eax
xchg edx, ebx
mov ebx, dword [ecx + eax + 0x18]
push edx
xchg edx, ebx
pop ebx
shl edx, 0x15
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x3a]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
or esi, edx
pushfd
add ebp, 2
popfd
lea ebp, [ebp - 2]
xchg ecx, eax
mov ecx, dword [ebp - 4]
push eax
xchg ecx, eax
pop ecx
push dword [eax + 4]
push ebx
mov ebx, dword [esp + 4]
xor esi, ebx
mov ebx, dword [esp]
lea esp, [esp + 8]
imul ecx, dword [ebp - 8], 0xc
push eax
mov eax, dword [esp + 2]
pop eax
xchg edx, ecx
mov ecx, dword [ebp - 4]
push edx
xchg edx, ecx
pop ecx
xchg ebx, eax
mov ebx, dword [edx + ecx + 0x14]
push eax
xchg ebx, eax
pop ebx
shr eax, 0xb
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 7]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
imul ecx, dword [ebp - 8], 0xc
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x11]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
xchg edx, esi
mov esi, dword [ebp - 4]
push edx
xchg edx, esi
pop esi
mov ecx, dword [edx + ecx + 0x14]
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 6]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
shl ecx, 0x15
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x20]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
or eax, ecx
pushfd
add ebp, 0x68
popfd
lea ebp, [ebp - 0x68]
xchg edx, esi
mov esi, dword [ebp - 4]
push edx
xchg edx, esi
pop esi
push dword [edx + 4]
push ecx
mov ecx, dword [esp + 4]
xor eax, ecx
mov ecx, dword [esp]
lea esp, [esp + 8]
xchg esi, eax
lea esp, [esp - 4]
mov dword [esp], esi
mov esi, eax
mov eax, dword [esp]
imul eax, dword [ebp - 8], 0xc
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x76]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg ecx, ebx
mov ebx, dword [ebp - 4]
push ecx
xchg ecx, ebx
pop ebx
lea edx, [ecx + eax + 0x10]
lea ecx, [ecx]
imul eax, dword [ebp - 8], 0xc
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x6d]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
xchg ecx, eax
mov eax, dword [ebp - 4]
push ecx
xchg ecx, eax
pop eax
mov eax, dword [ecx + eax + 0x10]
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x37]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
shr eax, 0xb
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x58]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
imul ecx, dword [ebp - 8], 0xc
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x29]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
xchg edi, ecx
mov ecx, dword [ebp - 4]
push edi
xchg edi, ecx
pop ecx
mov ecx, dword [edi + ecx + 0x10]
pushfd
add ebp, 0x4a
popfd
lea ebp, [ebp - 0x4a]
shl ecx, 0x15
pushfd
add ebp, 0xa
popfd
lea ebp, [ebp - 0xa]
or eax, ecx
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x5e]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
xchg ecx, edi
mov edi, dword [ebp - 4]
push ecx
xchg ecx, edi
pop edi
push dword [ecx + 4]
push edx
mov edx, dword [esp + 4]
xor eax, edx
mov edx, dword [esp]
lea esp, [esp + 8]
add edx, eax
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x21]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg ebx, edx
lea esp, [esp - 4]
mov dword [esp], ebx
mov ebx, edx
mov edx, dword [esp]
pushfd
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x21]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
call 0x44e9fe
mov edi, edi
add dword [esp], 0x1166b9
xchg dword [esp], ebx
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x3f]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
xchg dword [esp + 4], ebx
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x1f]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
xchg dword [esp], ebx
push ebp
mov ebp, esp
leave
popfd
pushfd
add ebp, 0x14
popfd
lea ebp, [ebp - 0x14]
jmp 0x569428
add byte [eax], al
popfd
mov edx, edx
je 0x560e8c
jne 0x560e8c
jmp 0x560e8a
cmp al, byte [eax]
popfd
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0xa]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
je 0x4d62e8
jne 0x4d62e8
jmp 0x4d62e6
popfd
mov esi, esi
je 0x5769a4
jne 0x5769a4
jmp 0x5769a2
call fcn.004c6074
xor eax, 0x941e32bc
cmp ebp, dword [eax]
imul dword [esi]
dec edx
and dword [edx + ebx*4 - 0x7be04700], eax
arpl word [ebx - 0x74aaf73c], ax
in al, dx
leave
cmp esi, eax
lea edi, [edi]
je 0x565414
lea esp, [esp - 4]
mov dword [esp], ecx
mov ecx, 0xdead
xchg dword [esp], ecx
jmp 0x5650c3
leave
add cl, ch
sbb edx, dword [eax + ecx]
shr ebx, 1
add byte [edi], cl
mov bh, 0x45
clc
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x6e]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
cmp dword [ebp - 4], eax
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0xe]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
jge 0x4d7d35
jmp 0x55b708
xchg ecx, edx
mov edx, dword [ebp - 4]
push ecx
xchg ecx, edx
pop edx
xchg edx, eax
mov eax, dword [ebp + ecx*4 - 0x1c]
push edx
xchg edx, eax
pop eax
xchg ebx, edx
lea esp, [esp - 4]
mov dword [esp], ebx
mov ebx, edx
mov edx, dword [esp]
lea eax, [ebp - 0x124]
push ebp
mov ebp, esp
leave
xchg edx, eax
lea esp, [esp - 4]
mov dword [esp], edx
mov edx, eax
mov eax, dword [esp]
lea ecx, [ebp - 0x228]
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x4e]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
xchg esi, ecx
lea esp, [esp - 4]
mov dword [esp], esi
mov esi, ecx
mov ecx, dword [esp]
pushfd
pushfd
add ebp, 0x33
popfd
lea ebp, [ebp - 0x33]
call 0x4d639a
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x60]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
add dword [esp], 0x197f
xchg dword [esp], ecx
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x7e]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg dword [esp + 4], ecx
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x25]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg dword [esp], ecx
pushfd
add ebp, 0x26
popfd
lea ebp, [ebp - 0x26]
popfd
pushfd
add ebp, 0x36
popfd
lea ebp, [ebp - 0x36]
jmp dword [0x580cc8]
xor eax, eax
mov esp, ebp
pop ebp
ret
call fcn.00574cf8
ret 0x6f6e
jmp 0x4d7ed4
mov eax, dword [ebp - 0x14]
mov esp, ebp
pop ebp
ret
popfd
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x7c]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
je 0x55a624
jne 0x55a624
jmp 0x55a622
stc
add byte [edi - 0x78a740e], al
xchg edx, esi
mov esi, dword [ebp - 8]
push edx
xchg edx, esi
pop esi
add edx, 1
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x3a]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
xchg dword [ebp - 8], edi
mov edi, edx
push dword [ebp - 8]
xchg dword [ebp - 8], edi
pop edi
jmp 0x44e748
add byte [eax], al
xchg edx, edi
mov edi, dword [ebp - 8]
push edx
xchg edx, edi
pop edi
add edx, 1
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x29]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
xchg dword [ebp - 8], eax
mov eax, edx
push dword [ebp - 8]
xchg dword [ebp - 8], eax
pop eax
jmp 0x44e748
xor dword [esi - 0x6f], ebp
xchg ecx, eax
mov ecx, 0x7af8145
push eax
xchg ecx, eax
pop ecx
pushfd
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x75]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
push 0x7af8144
push ebx
mov ebx, dword [esp + 4]
xor eax, ebx
mov ebx, dword [esp]
lea esp, [esp + 8]
popfd
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 8]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
xchg ecx, edi
xchg dword [esp], ecx
xchg ecx, edi
lea esp, [esp + 4]
xchg esi, eax
xchg dword [esp], eax
xchg esi, eax
lea esp, [esp + 4]
mov esp, ebp
lea eax, [eax]
xchg ebp, eax
xchg dword [esp], eax
xchg ebp, eax
lea esp, [esp + 4]
ret
pushfd
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x53]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
xchg edx, eax
lea esp, [esp - 4]
mov dword [esp], edx
mov edx, eax
mov eax, dword [esp]
xchg edx, eax
lea esp, [esp - 4]
mov dword [esp], eax
mov eax, edx
mov edx, dword [esp]
rdtsc
mov edi, edi
and eax, 1
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x23]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
xchg edi, edx
xchg dword [esp], edi
xchg edi, edx
lea esp, [esp + 4]
xchg edx, eax
xchg dword [esp], edx
xchg edx, eax
lea esp, [esp + 4]
je 0x56b110
jne 0x57a63c
jmp 0x56b10e
jg 0x560e8c
xchg ecx, eax
mov ecx, 0x24b2a1ab
push eax
xchg ecx, eax
pop ecx
pushfd
mov ebx, ebx
push 0x24b2a1aa
push ecx
mov ecx, dword [esp + 4]
xor eax, ecx
mov ecx, dword [esp]
lea esp, [esp + 8]
popfd
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x2c]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg edi, eax
xchg dword [esp], eax
xchg edi, eax
lea esp, [esp + 4]
xchg ecx, esi
xchg dword [esp], ecx
xchg ecx, esi
lea esp, [esp + 4]
mov esp, ebp
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x70]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
xchg ebx, ebp
xchg dword [esp], ebx
xchg ebx, ebp
lea esp, [esp + 4]
ret
pushfd
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x6a]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
xchg ecx, eax
lea esp, [esp - 4]
mov dword [esp], ecx
mov ecx, eax
mov eax, dword [esp]
xchg ecx, edx
lea esp, [esp - 4]
mov dword [esp], ecx
mov ecx, edx
mov edx, dword [esp]
rdtsc
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x16]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
and eax, 1
lea edx, [edx]
xchg ecx, edx
xchg dword [esp], ecx
xchg ecx, edx
lea esp, [esp + 4]
xchg ebx, eax
xchg dword [esp], ebx
xchg ebx, eax
lea esp, [esp + 4]
je 0x44fa2c
jne 0x5566f8
jmp 0x44fa2a
jmp 0x4cf138
call fcn.004e9948
add esp, 4
call fcn.004cc4e0
call fcn.0055b4e0
lodsb al, byte [esi]
sub eax, 0xcad83b5
add byte [ebp + 0x247c8b57], bl
add al, 0x8d
jg 0x56515e
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
je 0x56ad88
jne 0x56ad88
jmp 0x56ad86
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
xchg dword [esp + 4], edx
pushfd
add ebp, 0x3a
popfd
lea ebp, [ebp - 0x3a]
xchg dword [esp], edx
pushfd
add ebp, 4
popfd
lea ebp, [ebp - 4]
popfd
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x2f]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
ret
pushfd
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x41]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
xchg ecx, eax
lea esp, [esp - 4]
mov dword [esp], ecx
mov ecx, eax
mov eax, dword [esp]
xchg edx, eax
lea esp, [esp - 4]
mov dword [esp], eax
mov eax, edx
mov edx, dword [esp]
rdtsc
pushfd
add ebp, 0x71
popfd
lea ebp, [ebp - 0x71]
and eax, 1
mov edi, edi
xchg edx, eax
xchg dword [esp], eax
xchg edx, eax
lea esp, [esp + 4]
xchg edx, eax
xchg dword [esp], edx
xchg edx, eax
lea esp, [esp + 4]
je 0x4c7b20
jne 0x4ca65c
jmp 0x4c7b1e
add al, 0x8b
sbb al, 0x24
lea esp, [esp + 4]
jmp 0x44d1cc
out dx, al
call ecx
test byte [eax], al
add byte [eax], al
call fcn.0056ba4c
test dword [ecx + 0x24], esi
js 0x569440
inc esi
loop 0x569451
dec esp
jb 0x569410
paddsw mm5, qword [0x6e5b5208]
add byte [eax], bl
and byte [edx - 0xc], ah
jo 0x56941b
sbb edx, dword [esi]
cmp esi, dword [edx]
cmp eax, 0x26468c55
cmp eax, 0xe1671786
jecxz 0x569426
xchg byte [edi], dl
loope 0x569439
iretd
xor ebp, eax
retf
add byte [eax], al
lea esp, [esp - 4]
mov dword [esp], edi
mov edi, 0x8000
xchg dword [esp], edi
xchg edx, edi
lea esp, [esp - 4]
mov dword [esp], edx
mov edx, edi
mov edi, dword [esp]
xchg esi, eax
lea esp, [esp - 4]
mov dword [esp], eax
mov eax, esi
mov esi, dword [esp]
pushfd
pushfd
add ebp, 0x74
popfd
lea ebp, [ebp - 0x74]
call 0x56adc0
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x3f]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
add dword [esp], 0xffff447b
xchg dword [esp], ecx
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x70]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
xchg dword [esp + 4], ecx
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x17]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
xchg dword [esp], ecx
pushfd
add ebp, 0x3f
popfd
lea ebp, [ebp - 0x3f]
popfd
pushfd
add ebp, 0x33
popfd
lea ebp, [ebp - 0x33]
jmp dword [0x581dd8]
lea eax, [eax]
popfd
push eax
mov eax, dword [esp + 0xb]
pop eax
je 0x5593f8
jne 0x5593f8
jmp 0x5593f6
inc byte [eax]
jmp 0x5593f8
popfd
pushfd
add ebp, 0x2d
popfd
lea ebp, [ebp - 0x2d]
je 0x55844c
jne 0x55844c
jmp 0x55844a