Function at 0x10049c11
Capabilities:
Execute anti-debugging instructions

Disassembly:
imul eax, dword [eax], 0x4e44b70f
or byte [ebp - 0x75], dl
in al, dx
movzx eax, word [esi + ecx*2 + 8]
push ebp
mov ebp, esp
leave
xchg edx, ecx
mov ecx, eax
push edx
xchg edx, ecx
pop ecx
shr edx, 0xc
lea ecx, [ecx]
cmp edx, 3
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x63]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
je 0x1004d16c
cmp edx, 0xa
push eax
mov eax, dword [esp - 0xd]
pop eax
jne 0x10067ad4
jmp 0x1004d16c
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x6f]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
add dword [esp], 0x11c73
xchg dword [esp], ecx
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x41]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
xchg dword [esp + 4], ecx
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x18]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg dword [esp], ecx
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]
popfd
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x16]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
jmp 0x1005c000
lodsb al, byte [esi]
add byte [edx + 0x52fc458b], dl
xchg edx, eax
mov eax, dword [ebp - 4]
push edx
xchg edx, eax
pop eax
and eax, 0xfff
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x54]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
add eax, dword [esi]
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x6c]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
add dword [eax + ebx], edx
pushfd
add ebp, 0x68
popfd
lea ebp, [ebp - 0x68]
jmp 0x10067ad4
add byte [eax], al
inc ecx
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x3c]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
cmp ecx, edi
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x2d]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
jb 0x10059b84
xchg edx, ecx
mov ecx, dword [ebp - 8]
push edx
xchg edx, ecx
pop ecx
jmp 0x10056fec
pushfd
pushfd
add ebp, 0x66
popfd
lea ebp, [ebp - 0x66]
xchg ecx, eax
lea esp, [esp - 4]
mov dword [esp], ecx
mov ecx, eax
mov eax, dword [esp]
xchg esi, edx
lea esp, [esp - 4]
mov dword [esp], esi
mov esi, edx
mov edx, dword [esp]
rdtsc
pushfd
add ebp, 9
popfd
lea ebp, [ebp - 9]
and eax, 1
pushfd
add ebp, 0x69
popfd
lea ebp, [ebp - 0x69]
xchg esi, edx
xchg dword [esp], esi
xchg esi, edx
lea esp, [esp + 4]
xchg esi, eax
xchg dword [esp], esi
xchg esi, eax
lea esp, [esp + 4]
je 0x10065c28
jne 0x1006adf0
jmp 0x10065c26
pushfd
push edi
mov edi, ebx
pop edi
xchg ebx, eax
lea esp, [esp - 4]
mov dword [esp], ebx
mov ebx, eax
mov eax, dword [esp]
xchg ebx, edx
lea esp, [esp - 4]
mov dword [esp], ebx
mov ebx, edx
mov edx, dword [esp]
rdtsc
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x10]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
and eax, 1
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0xf]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg edx, eax
xchg dword [esp], eax
xchg edx, eax
lea esp, [esp + 4]
xchg ecx, eax
xchg dword [esp], ecx
xchg ecx, eax
lea esp, [esp + 4]
je 0x10056cc4
jne 0x1005e158
jmp 0x10056cc2
add byte [eax], al
popfd
push ebp
mov ebp, esp
leave
je 0x10067ad4
jne 0x10067ad4
jmp 0x10067ad2
add byte [eax], al
add esi, dword [edx]
mov ebx, ebx
xchg ecx, eax
mov ecx, dword [esi + 4]
push eax
xchg ecx, eax
pop ecx
lea edx, [esi + 4]
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x61]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, 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
test eax, eax
pushfd
add ebp, 0xe
popfd
lea ebp, [ebp - 0xe]
jne 0x1006c408
xchg edi, eax
mov eax, dword [ebp + 8]
push edi
xchg edi, eax
pop eax
jmp 0x1006506c
xchg ecx, edi
xchg dword [esp], ecx
xchg ecx, edi
lea esp, [esp + 4]
xchg ebx, esi
xchg dword [esp], ebx
xchg ebx, esi
lea esp, [esp + 4]
xor eax, 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 edi, ebx
xchg dword [esp], edi
xchg edi, ebx
lea esp, [esp + 4]
mov esp, ebp
lea esi, [esi]
xchg ebp, eax
xchg dword [esp], eax
xchg ebp, eax
lea esp, [esp + 4]
ret
pushfd
pushfd
add ebp, 0x18
popfd
lea ebp, [ebp - 0x18]
xchg ecx, eax
lea esp, [esp - 4]
mov dword [esp], ecx
mov ecx, eax
mov eax, dword [esp]
xchg edi, edx
lea esp, [esp - 4]
mov dword [esp], edi
mov edi, edx
mov edx, dword [esp]
rdtsc
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x42]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
and eax, 1
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 edx, eax
xchg dword [esp], eax
xchg edx, eax
lea esp, [esp + 4]
xchg esi, eax
xchg dword [esp], esi
xchg esi, eax
lea esp, [esp + 4]
je 0x10065040
jne 0x1005c010
jmp 0x1006503e
stosb byte es:[edi], al
add byte [edi], cl
mov bh, 0x44
dec esi
or byte [eax - 0x75], dl
inc esp
and al, 4
movzx eax, word [esi + ecx*2 + 8]
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x7b]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
xchg edx, ecx
mov ecx, eax
push edx
xchg edx, ecx
pop ecx
shr edx, 0xc
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x60]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
cmp edx, 3
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x2c]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
je 0x1006cc9c
cmp edx, 0xa
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0xc]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
jne 0x100559ac
jmp 0x1004d16c
add byte [eax], al
popfd
lea esi, [esi]
je 0x1004d16c
jne 0x1004d16c
jmp 0x1004d16a
call fcn.10054698
mov byte [0x4b5fcdbe], al
cmp byte [ecx], bh
call 0xad05c058
popfd
push ebp
mov ebp, esp
leave
je 0x10049c0c
jne 0x10049c0c
jmp 0x10049c0a
popfd
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]
je 0x100509c4
jne 0x100509c4
jmp 0x100509c2
jmp 0x5591a9f1
xchg edx, eax
mov eax, dword [ebp - 4]
push edx
xchg edx, eax
pop eax
and eax, 0xfff
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x7d]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
add eax, dword [esi]
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x62]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
add dword [eax + ebx], edx
pushfd
add ebp, 0x29
popfd
lea ebp, [ebp - 0x29]
jmp 0x10067ad4
rol byte [eax], 1
popfd
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x22]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
je 0x10059b84
jne 0x10059b84
jmp 0x10059b82
cmp dword [edi], 8
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x40]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
jle 0x10057dec
lea esp, [esp - 4]
mov dword [esp], eax
mov eax, dword [edi + 0x5a]
xchg dword [esp], eax
xchg ecx, eax
mov ecx, dword [edi + 0x56]
push eax
xchg ecx, eax
pop ecx
add eax, ebx
pushfd
add ebp, 0x28
popfd
lea ebp, [ebp - 0x28]
xchg ebx, eax
lea esp, [esp - 4]
mov dword [esp], ebx
mov ebx, eax
mov eax, dword [esp]
xchg ebx, eax
lea esp, [esp - 4]
mov dword [esp], ebx
mov ebx, eax
mov eax, dword [esp]
lea eax, [edi + 0x72]
pushfd
add ebp, 0x44
popfd
lea ebp, [ebp - 0x44]
xchg edi, eax
lea esp, [esp - 4]
mov dword [esp], edi
mov edi, eax
mov eax, dword [esp]
pushfd
lea ebx, [ebx]
call 0x100650e4
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x45]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
add dword [esp], 0x4abb
xchg dword [esp], eax
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x77]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
xchg dword [esp + 4], eax
pushfd
add ebp, 0x6d
popfd
lea ebp, [ebp - 0x6d]
xchg dword [esp], eax
mov eax, eax
popfd
pushfd
add ebp, 1
popfd
lea ebp, [ebp - 1]
jmp fcn.10065cf8
mov ecx, 0xc08b9d53
popfd
mov eax, eax
je 0x10056fec
jne 0x10056fec
jmp 0x10056fea
add byte [eax], al
inc ecx
mov ecx, ecx
cmp ecx, edi
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x77]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
jb 0x10059b84
xchg edx, eax
mov eax, dword [ebp - 8]
push edx
xchg edx, eax
pop eax
jmp 0x10056fec
popfd
pushfd
add ebp, 0x24
popfd
lea ebp, [ebp - 0x24]
je 0x1006b228
jne 0x1006b228
jmp 0x1006b226
jb 0x1006b228
add esi, dword [edx]
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x31]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg ecx, eax
mov ecx, dword [esi + 4]
push eax
xchg ecx, eax
pop ecx
lea edx, [esi + 4]
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]
xchg dword [ebp - 8], ecx
mov ecx, edx
push dword [ebp - 8]
xchg dword [ebp - 8], ecx
pop ecx
test eax, eax
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x71]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
jne 0x1006c408
xchg edi, edx
mov edx, dword [ebp + 8]
push edi
xchg edi, edx
pop edx
jmp 0x1006506c
lea edi, [eax - 8]
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x59]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg ecx, eax
mov eax, 0xe782ff89
push ecx
xchg ecx, eax
pop eax
pushfd
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x7e]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
push 0xe782ff89
push edx
mov edx, dword [esp + 4]
xor ecx, edx
mov edx, dword [esp]
lea esp, [esp + 8]
popfd
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x48]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
shr edi, 1
lea ebx, [ebx]
je 0x1005472c
lea esp, [esp]
lea ecx, [ecx]
jmp 0x10058ad4
popfd
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x6e]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
je 0x1006176c
jne 0x1006176c
jmp 0x1006176a
pushfd
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 5]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
xchg esi, eax
lea esp, [esp - 4]
mov dword [esp], esi
mov esi, eax
mov eax, dword [esp]
xchg ebx, edx
lea esp, [esp - 4]
mov dword [esp], ebx
mov ebx, edx
mov edx, dword [esp]
rdtsc
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x10]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
and eax, 1
mov ecx, ecx
xchg edi, edx
xchg dword [esp], edi
xchg edi, edx
lea esp, [esp + 4]
xchg ecx, eax
xchg dword [esp], ecx
xchg ecx, eax
lea esp, [esp + 4]
je 0x10059cf0
jne 0x1006c820
jmp 0x10059cee