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

Disassembly:
imul ebp, eax, 0xffffff9d
popfd
pushfd
add ebp, 0x6a
popfd
lea ebp, [ebp - 0x6a]
je 0x10044568
jne 0x10044568
jmp 0x10044566
xchg edi, eax
mov edi, dword [edx + ebx + 4]
push eax
xchg edi, eax
pop edi
xchg edi, esi
lea esp, [esp - 4]
mov dword [esp], edi
mov edi, esi
mov esi, dword [esp]
lea esi, [edx + ebx]
push ebp
mov ebp, esp
leave
test eax, eax
lea edx, [edx]
je 0x100357b5
jmp 0x10030e9c
popfd
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x60]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
je 0x10034b48
jne 0x10034b48
jmp 0x10034b46
call fcn.1004ca74
cmp dh, al
xor dword [edi + 0x4cf5a63c], edi
adc dword [eax], eax
add byte [ebp - 0x7bf02d75], bl
or eax, dword [edx]
add al, byte [eax]
jne 0x1004f9fc
jmp 0x1004f9fa
pushfd
push ecx
mov ecx, eax
pop ecx
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 ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x6f]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
and eax, 1
push ebp
mov ebp, esp
leave
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 0x10055bf8
jne 0x1003b084
jmp 0x10055bf6
popfd
pushfd
add ebp, 0x42
popfd
lea ebp, [ebp - 0x42]
je 0x100378cc
jne 0x100378cc
jmp 0x100378ca
add byte [eax], al
xchg ecx, esi
xchg dword [esp], ecx
xchg ecx, esi
lea esp, [esp + 4]
cmp edi, 8
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x37]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
jle 0x1003cabc
lea esp, [esp - 4]
mov dword [esp], eax
mov eax, dword [ecx + 0x5a]
xchg dword [esp], eax
xchg edx, eax
mov edx, dword [ecx + 0x56]
push eax
xchg edx, eax
pop edx
add eax, ebx
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x39]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, 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, eax
lea esp, [esp - 4]
mov dword [esp], ecx
mov ecx, eax
mov eax, dword [esp]
lea eax, [ecx + 0x72]
push eax
mov eax, dword [esp + 4]
lea eax, [eax]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
xchg ecx, eax
lea esp, [esp - 4]
mov dword [esp], ecx
mov ecx, eax
mov eax, dword [esp]
pushfd
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x2d]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
call fcn.10034bfe
add byte [eax], al
inc ecx
lea edx, [edx]
cmp ecx, edi
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x6f]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
jb 0x1003803c
xchg ecx, eax
mov ecx, dword [esi + 4]
push eax
xchg ecx, eax
pop ecx
jmp 0x100458cc
pop esp
call fcn.10053f28
mov byte [ebx + esi + 0x3c], dh
or ch, byte [ecx + 5]
call fcn.10030470
push 0xffffffffffffffe5
ljmp 0x5711
mov ecx, dword [ebp + 8]
call fcn.10049240
aam 0xa4
sbb eax, 0x684a0d7a
jb 0x100357bf
pop ebp
pop esi
loop 0x10035761
hlt
pushfd
pushfd
add ebp, 0x2d
popfd
lea ebp, [ebp - 0x2d]
xchg esi, eax
lea esp, [esp - 4]
mov dword [esp], esi
mov esi, 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 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]
and eax, 1
pushfd
add ebp, 0x27
popfd
lea ebp, [ebp - 0x27]
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 0x1002d148
jne 0x1002f540
jmp 0x1002d146
add byte [eax], al
xchg edx, eax
mov eax, dword [ebp - 4]
push edx
xchg edx, eax
pop eax
and eax, 0xfff
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x7a]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
add eax, dword [esi]
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x26]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
add dword [eax + ebx], edx
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x17]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
jmp 0x10052388
xchg ebx, eax
ret 0xb70f
movzx eax, word [esi + ecx*2 + 8]
pushfd
add ebp, 0x16
popfd
lea ebp, [ebp - 0x16]
xchg edx, ecx
mov ecx, eax
push edx
xchg edx, ecx
pop ecx
shr edx, 0xc
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x54]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
cmp edx, 3
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x66]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
je 0x10037204
cmp edx, 0xa
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x6e]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
jne 0x10052388
jmp 0x10037204
sahf
add byte [edi], cl
mov bh, 0x44
dec esi
or byte [ebx - 0x74357825], cl
enter 0xffffffffffff8752, 0xffffffffffffffca
movzx eax, word [esi + ecx*2 + 8]
mov ebx, ebx
xchg edx, ecx
mov ecx, eax
push edx
xchg edx, ecx
pop ecx
shr edx, 0xc
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x5d]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
cmp edx, 3
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]
je 0x1004c0a0
cmp edx, 0xa
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x20]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
jne 0x10038e40
jmp 0x10037204
pushfd
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x32]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, 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 edi
mov edi, dword [esp + 4]
lea edi, [edi + 0xb]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
and eax, 1
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x67]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
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 0x100578ac
jne 0x1004e844
jmp 0x100578aa
add byte [eax], al
lea edi, [eax - 8]
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x7d]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
xchg ecx, eax
mov eax, 0x3d38880
push ecx
xchg ecx, eax
pop eax
pushfd
mov esi, esi
push 0x3d38880
push edi
mov edi, dword [esp + 4]
xor ecx, edi
mov edi, dword [esp]
lea esp, [esp + 8]
popfd
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x18]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
shr edi, 1
lea eax, [eax]
je 0x100458cc
mov edi, edi
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x3d]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
jmp 0x1003803c
popfd
mov edi, edi
je 0x10038fc0
jne 0x10038fc0
jmp 0x10038fbe
add byte [eax], al
xchg edx, ebx
mov ebx, dword [ebp - 4]
push edx
xchg edx, ebx
pop ebx
and eax, 0xfff
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]
add eax, dword [esi]
mov eax, eax
add dword [eax + ebx], edx
mov eax, eax
jmp 0x10052388
xchg ebx, edi
xchg dword [esp], ebx
xchg ebx, edi
lea esp, [esp + 4]
xor eax, eax
lea ecx, [ecx]
xchg ebx, eax
xchg dword [esp], eax
xchg ebx, eax
lea esp, [esp + 4]
mov esp, ebp
push ebp
mov ebp, esp
leave
xchg ebx, ebp
xchg dword [esp], ebx
xchg ebx, ebp
lea esp, [esp + 4]
ret
add dword [eax], 0x56f8788d
lea edi, [eax - 8]
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x24]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
xchg ecx, eax
mov eax, 0xba2344a
push ecx
xchg ecx, eax
pop eax
pushfd
lea ecx, [ecx]
push 0xba2344a
push esi
mov esi, dword [esp + 4]
xor ecx, esi
mov esi, dword [esp]
lea esp, [esp + 8]
popfd
push eax
mov eax, ecx
pop eax
shr edi, 1
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x17]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
je 0x100536a0
mov edi, edi
push ebp
mov ebp, esp
leave
jmp 0x10058c38
popfd
mov esi, esi
je 0x1003b370
jne 0x1003b370
jmp 0x1003b36e
pushfd
add ebp, 0x65
popfd
lea ebp, [ebp - 0x65]
add dword [esp], 0xfffececf
xchg dword [esp], eax
pushfd
add ebp, 0x66
popfd
lea ebp, [ebp - 0x66]
xchg dword [esp + 4], eax
push ebp
mov ebp, esp
leave
xchg dword [esp], eax
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x7a]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
popfd
push eax
mov eax, edx
pop eax
jmp 0x1002f7d8
popfd
pushfd
add ebp, 0x6d
popfd
lea ebp, [ebp - 0x6d]
je 0x1004cbf0
jne 0x1004cbf0
jmp 0x1004cbee
add byte [eax], al
xchg edx, esi
xchg dword [esp], edx
xchg edx, esi
lea esp, [esp + 4]
cmp edi, 8
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x45]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
jle 0x1003cabc
lea esp, [esp - 4]
mov dword [esp], ebx
mov ebx, dword [ecx + 0x5a]
xchg dword [esp], ebx
xchg edx, eax
mov edx, dword [ecx + 0x56]
push eax
xchg edx, eax
pop edx
add eax, ebx
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x23]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, 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, eax
lea esp, [esp - 4]
mov dword [esp], ecx
mov ecx, eax
mov eax, dword [esp]
lea eax, [ecx + 0x72]
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x1a]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
xchg edi, eax
lea esp, [esp - 4]
mov dword [esp], edi
mov edi, eax
mov eax, dword [esp]
pushfd
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x79]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
call 0x1004461e
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x27]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
add dword [esp], 0xffff11b3
xchg dword [esp], eax
push ecx
mov ecx, dword [esp + 4]
pop ecx
xchg dword [esp + 4], eax
pushfd
add ebp, 0x25
popfd
lea ebp, [ebp - 0x25]
xchg dword [esp], eax
push edi
mov edi, ecx
pop edi
popfd
lea edx, [edx]
jmp fcn.1002da30
add byte [eax], al
add esi, eax
mov ebx, ebx
xchg ecx, eax
mov ecx, dword [esi + 4]
push eax
xchg ecx, eax
pop ecx
test eax, eax
push ebp
mov ebp, esp
leave
jne 0x1003de0c
xchg ecx, edi
mov edi, dword [ebp + 8]
push ecx
xchg ecx, edi
pop edi
xchg edi, eax
mov eax, dword [ecx]
push edi
xchg edi, eax
pop eax
jmp 0x10035f10
sub dl, cl
popfd
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x39]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
je 0x1003803c
jne 0x1003803c
jmp 0x1003803a
pushfd
push eax
mov eax, edi
pop eax
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 + 0x25]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
and eax, 1
pushfd
add ebp, 0x43
popfd
lea ebp, [ebp - 0x43]
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 0x1004e458
jne 0x1003e7d8
jmp 0x1004e456
add byte [eax], al
add esi, eax
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x52]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
xchg edi, eax
mov edi, dword [esi + 4]
push eax
xchg edi, eax
pop edi
test eax, eax
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 5]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
jne 0x1003de0c
xchg ecx, edi
mov edi, dword [ebp + 8]
push ecx
xchg ecx, edi
pop edi
xchg edi, eax
mov eax, dword [ecx]
push edi
xchg edi, eax
pop eax
jmp 0x10044568
aad 0x97
popfd
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]
je 0x10037204
jne 0x10037204
jmp 0x10037202
popfd
pushfd
add ebp, 0x78
popfd
lea ebp, [ebp - 0x78]
je 0x1003551c
jne 0x1003551c
jmp 0x1003551a
cmp dword [eax], eax
xchg ebx, eax
mov eax, dword [ebp + 0xc]
push ebx
xchg ebx, eax
pop eax
xchg ecx, edx
mov edx, dword [ebx + 0x3c]
push ecx
xchg ecx, edx
pop edx
xchg edx, edi
mov edi, dword [ecx + ebx + 0xa0]
push edx
xchg edx, edi
pop edi
test edx, edx
lea edx, [edx]
je 0x1003cabc
xchg ecx, eax
mov ecx, ebx
push eax
xchg ecx, eax
pop ecx
push dword [ecx + ebx + 0x34]
cmp eax, dword [esp]
pushfd
not dword [esp + 4]
inc dword [esp + 4]
add eax, dword [esp + 4]
popfd
lea esp, [esp + 4]
xchg dword [ebp - 4], ecx
mov ecx, eax
push dword [ebp - 4]
xchg dword [ebp - 4], ecx
pop ecx
jmp 0x1002e54c
pop ebx
add byte [ecx - 0x64], al
inc ecx
pushfd
add ebp, 8
popfd
lea ebp, [ebp - 8]
cmp ecx, edi
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x24]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
jb 0x1003803c
xchg ecx, eax
mov ecx, dword [esi + 4]
push eax
xchg ecx, eax
pop ecx
jmp 0x100458cc
pushfd
push eax
mov eax, dword [esp + 0xb]
pop eax
xchg ebx, eax
lea esp, [esp - 4]
mov dword [esp], ebx
mov ebx, eax
mov eax, dword [esp]
xchg edi, edx
lea esp, [esp - 4]
mov dword [esp], edi
mov edi, edx
mov edx, dword [esp]
rdtsc
pushfd
add ebp, 0x20
popfd
lea ebp, [ebp - 0x20]
and eax, 1
push ecx
mov ecx, dword [esp + 0xa]
pop ecx
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 0x10057028
jne 0x10043f28
jmp 0x10057026
add byte [eax], al
popfd
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]
je 0x1003de0c
jne 0x1003de0c
jmp 0x1003de0a
add byte [eax], al
popfd
pushfd
add ebp, 0x14
popfd
lea ebp, [ebp - 0x14]
je 0x100458cc
jne 0x100458cc
jmp 0x100458ca
add byte [eax], al
popfd
mov edx, edx
je 0x10052388
jne 0x10052388
jmp 0x10052386
pushfd
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x24]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
xchg edi, eax
lea esp, [esp - 4]
mov dword [esp], edi
mov edi, eax
mov eax, dword [esp]
xchg esi, edx
lea esp, [esp - 4]
mov dword [esp], esi
mov esi, edx
mov edx, dword [esp]
rdtsc
lea esi, [esi]
and eax, 1
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]
xchg edi, edx
xchg dword [esp], edi
xchg edi, edx
lea esp, [esp + 4]
xchg edi, eax
xchg dword [esp], edi
xchg edi, eax
lea esp, [esp + 4]
je 0x10046154
jne 0x1003369c
jmp 0x10046152