Function at 0x46a120
Capabilities:
Execute anti-debugging instructions
Resolve function by parsing pe exports

Disassembly:
pushfd
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x6b]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, 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 edi, edx
lea esp, [esp - 4]
mov dword [esp], edi
mov edi, edx
mov edx, dword [esp]
rdtsc
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x5d]
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 + 0x20]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg ebx, edx
xchg dword [esp], ebx
xchg ebx, edx
lea esp, [esp + 4]
xchg ebx, eax
xchg dword [esp], ebx
xchg ebx, eax
lea esp, [esp + 4]
je 0x468c14
jne 0x468be8
jmp 0x468c12
sub cl, byte [ebp - 0x74ae03bb]
dec esp
and al, 4
lea eax, [ebp - 4]
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x45]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg edi, eax
lea esp, [esp - 4]
mov dword [esp], edi
mov edi, eax
mov eax, dword [esp]
lea esp, [esp - 4]
mov dword [esp], eax
mov eax, dword [esi + 0x1c]
xchg dword [esp], eax
pushfd
mov ebx, ebx
call int.00468b94
popfd
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x44]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
je 0x468b58
jne 0x468b58
jmp 0x468b56
jnp 0x468c14
popfd
pushfd
add ebp, 0x1e
popfd
lea ebp, [ebp - 0x1e]
je 0x4694b8
jne 0x4694b8
jmp 0x4694b6
pushfd
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x20]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, 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 ecx, edx
lea esp, [esp - 4]
mov dword [esp], ecx
mov ecx, edx
mov edx, dword [esp]
rdtsc
mov ecx, ecx
and eax, 1
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x64]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
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 0x468dd4
jne 0x468da8
jmp 0x468dd2
mov edi, 0xfc558d00
lea edx, [ebp - 4]
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x38]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
xchg edx, eax
lea esp, [esp - 4]
mov dword [esp], eax
mov eax, edx
mov edx, dword [esp]
push 2
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]
lea esp, [esp - 4]
mov dword [esp], edx
mov edx, dword [eax + 0xc]
xchg dword [esp], edx
xchg ebx, ecx
lea esp, [esp - 4]
mov dword [esp], ebx
mov ebx, ecx
mov ecx, dword [esp]
pushfd
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x14]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
call fcn.00468d28
popfd
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x5b]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
je 0x468cb0
jne 0x468cb0
jmp 0x468cae
sbb dword [eax], eax
popfd
pushfd
add ebp, 0x3e
popfd
lea ebp, [ebp - 0x3e]
je 0x4692a8
jne 0x4692a8
jmp 0x4692a6
pushfd
lea ecx, [ecx]
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
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x74]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
and eax, 1
push ebx
mov ebx, ecx
pop ebx
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 0x468f34
jne 0x468f08
jmp 0x468f32
xor al, 0
lea eax, [ebp - 4]
pushfd
add ebp, 0x71
popfd
lea ebp, [ebp - 0x71]
xchg edi, eax
lea esp, [esp - 4]
mov dword [esp], edi
mov edi, eax
mov eax, dword [esp]
lea esp, [esp - 4]
mov dword [esp], edx
mov edx, dword [esi + 0xc]
xchg dword [esp], edx
pushfd
push edi
mov edi, ecx
pop edi
call fcn.00468e8b
popfd
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x67]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
je 0x468e5c
jne 0x468e5c
jmp 0x468e5a
sbb eax, 0x8b519d00
dec esp
and al, 4
popfd
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x43]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
je 0x469854
jne 0x469854
jmp 0x469852
pushfd
push esi
mov esi, dword [esp + 6]
pop esi
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, 0xe
popfd
lea ebp, [ebp - 0xe]
and eax, 1
push ebp
mov ebp, esp
leave
xchg ecx, edx
xchg dword [esp], ecx
xchg ecx, edx
lea esp, [esp + 4]
xchg esi, eax
xchg dword [esp], esi
xchg esi, eax
lea esp, [esp + 4]
je 0x46909c
jne 0x469084
jmp 0x46909a
cld
popal
lea eax, [ebp - 4]
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x3c]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
xchg edi, eax
lea esp, [esp - 4]
mov dword [esp], edi
mov edi, eax
mov eax, dword [esp]
push 2
pushfd
add ebp, 0x22
popfd
lea ebp, [ebp - 0x22]
lea esp, [esp - 4]
mov dword [esp], ecx
mov ecx, dword [edi + 0x5e]
xchg dword [esp], ecx
xchg ecx, eax
lea esp, [esp - 4]
mov dword [esp], eax
mov eax, ecx
mov ecx, dword [esp]
pushfd
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x5e]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
call fcn.00469028
popfd
push ecx
mov ecx, eax
pop ecx
je 0x468fc0
jne 0x468fc0
jmp 0x468fbe
or dword [ecx - 0x63], 0x51
popfd
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
je 0x469684
jne 0x469684
jmp 0x469682
pushfd
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x2e]
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
mov ecx, ecx
and eax, 1
pushfd
add ebp, 0x5c
popfd
lea ebp, [ebp - 0x5c]
xchg esi, edx
xchg dword [esp], esi
xchg esi, edx
lea esp, [esp + 4]
xchg ebx, eax
xchg dword [esp], ebx
xchg ebx, eax
lea esp, [esp + 4]
je 0x469218
jne 0x4691fc
jmp 0x469216
mov byte [eax], al
xchg ebx, eax
mov eax, dword [ecx + 0x3c]
push ebx
xchg ebx, eax
pop eax
xor edx, edx
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x26]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
add ebx, ecx
mov esi, esi
xor edi, edi
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x6a]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
movzx eax, word [ebx + 0x14]
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x79]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
add eax, 0x18
push edi
mov edi, dword [esp + 0xb]
pop edi
add eax, ebx
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x19]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
xchg dword [ebp + 8], ecx
mov ecx, eax
push dword [ebp + 8]
xchg dword [ebp + 8], ecx
pop ecx
cmp dx, word [ebx + 6]
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]
jae 0x4692a8
lea esi, [eax + 8]
mov eax, eax
lea ebx, [ebx]
pushfd
add ebp, 0x79
popfd
lea ebp, [ebp - 0x79]
jmp 0x4694b8
popfd
pushfd
add ebp, 0x53
popfd
lea ebp, [ebp - 0x53]
je 0x469138
jne 0x469138
jmp 0x469136
cli
adc ebx, dword [ebp + 0x24548b52]
add al, 0x8d
push edx
pop esp
popfd
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x5c]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
je 0x469550
jne 0x469550
jmp 0x46954e
add byte [eax], al
lea edx, [ebp - 4]
lea esi, [esi]
xchg edx, eax
lea esp, [esp - 4]
mov dword [esp], eax
mov eax, edx
mov edx, dword [esp]
push 2
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]
lea esp, [esp - 4]
mov dword [esp], ebx
mov ebx, dword [eax + 0xc]
xchg dword [esp], ebx
xchg ebx, ecx
lea esp, [esp - 4]
mov dword [esp], ebx
mov ebx, ecx
mov ecx, dword [esp]
pushfd
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x22]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
call fcn.0046930b
add byte [eax], al
lea eax, [ebp - 4]
push edx
mov edx, esi
pop edx
xchg ecx, eax
lea esp, [esp - 4]
mov dword [esp], ecx
mov ecx, eax
mov eax, dword [esp]
lea esp, [esp - 4]
mov dword [esp], eax
mov eax, dword [esi + 0x1c]
xchg dword [esp], eax
pushfd
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x46]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
call fcn.004694f6
iret
xchg ebx, eax
mov eax, dword [ecx + 0x3c]
push ebx
xchg ebx, eax
pop eax
xor edx, edx
pushfd
add ebp, 0x60
popfd
lea ebp, [ebp - 0x60]
add ebx, ecx
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x12]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
xor edi, edi
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x20]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
movzx eax, word [ebx + 0x14]
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x35]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
add eax, 0x18
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x75]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
add eax, ebx
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x5f]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
xchg dword [ebp + 8], edx
mov edx, eax
push dword [ebp + 8]
xchg dword [ebp + 8], edx
pop edx
cmp dx, word [ebx + 6]
pushfd
add ebp, 0x3e
popfd
lea ebp, [ebp - 0x3e]
jae 0x468c30
lea esi, [eax + 8]
pushfd
add ebp, 0x65
popfd
lea ebp, [ebp - 0x65]
lea ebx, [ebx]
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x43]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
jmp 0x468ac4
add byte [eax], al
lea eax, [ebp - 4]
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x77]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
xchg ebx, eax
lea esp, [esp - 4]
mov dword [esp], ebx
mov ebx, eax
mov eax, dword [esp]
push 2
pushfd
add ebp, 0x52
popfd
lea ebp, [ebp - 0x52]
lea esp, [esp - 4]
mov dword [esp], ecx
mov ecx, dword [edi + 0x5e]
xchg dword [esp], ecx
xchg edx, ecx
lea esp, [esp - 4]
mov dword [esp], edx
mov edx, ecx
mov ecx, dword [esp]
pushfd
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 2]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
call fcn.004696ed
add byte [eax], al
lea eax, [ebp - 4]
pushfd
add ebp, 0xc
popfd
lea ebp, [ebp - 0xc]
xchg ecx, eax
lea esp, [esp - 4]
mov dword [esp], ecx
mov ecx, eax
mov eax, dword [esp]
lea esp, [esp - 4]
mov dword [esp], ebx
mov ebx, dword [esi + 0xc]
xchg dword [esp], ebx
pushfd
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]
call fcn.00469896
lea eax, [eax]
cmp dword [edi], 8
push ebp
mov ebp, esp
leave
jle 0x4690c8
xor eax, eax
pushfd
add ebp, 0x46
popfd
lea ebp, [ebp - 0x46]
xor ebx, ebx
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]
cmp ax, word [edi + 6]
pushfd
add ebp, 0x1a
popfd
lea ebp, [ebp - 0x1a]
jae 0x468f60
lea esi, [edi + 0x62]
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x38]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
jmp 0x468df0
call fcn.0046b13c
jbe 0x46a14d
sbb byte [ecx], ah
jge 0x46a11b
and dword [ebp - 0x70], edi
mov eax, dword ss:[0x639f9a18]
inc edi
inc eax
mov ah, 0x8a
cmp edi, eax
push esi
out 0x5d, al
int 0x96
shr edi, 1
pushal
out dx, al
rcl dword [eax + 0x54]
adc esp, dword [edx - 0x53]
test ebp, ebp
scasd eax, dword es:[edi]
call fcn.0046b1f8
mov al, 0x86
jmp 0x46a188
push esi
mov esi, dword [esp + 5]
pop esi
add dword [esp], 0xfffff945
xchg dword [esp], ebx
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x49]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
xchg dword [esp + 4], ebx
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x3e]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg dword [esp], ebx
push ebp
mov ebp, esp
leave
popfd
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x64]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
jmp 0x46a180