Function at 0x403e40
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffd60
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 4]
push eax
call sub.advapi32.dll_RevertToSelf
mov byte [ebp - 0x29d], 0
xchg dword [esp - 0x1c], eax
and esi, dword [0x87e0c0]
xchg dword [0x87e0ab], ebx
lea ecx, [0x87e107]
mov dword [ecx + 0x12], 0xd1
mov ebx, dword [0x87e0b0]
mov dword [ebp - 0x10], 0x1085e
mov dword [ebp - 0x14], 0x190b1
mov eax, 0x405924
mov dword [ebp - 0x18], eax
mov eax, 0x405930
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.user32.dll_CloseWindow
test eax, eax
jne 0x403ed5
mov dword [0x87e053], 0x13c5b
mov ebx, 0x65
mov dword [0x87e0eb], esi
inc byte [ebp - 0x29d]
cmp byte [ebp - 0x29d], 1
jne 0x403e66
mov byte [ebp - 0x29d], 0
cmp dword [0x87e0f2], 0
je 0x403efc
mov dword [0x87e06c], edx
jmp 0x403f18
mov dword [0x87e063], 0x11587
mov dword [0x87e0ff], edx
sub dword [0x87e032], esi
add dword [0x87e065], eax
mov dword [0x87e0e1], 0x12b6a
inc byte [0x87e08b]
mov dword [ebp - 0x20], 0x1d2e8
mov dword [ebp - 0x24], 0x15762
mov eax, 0x405938
mov dword [ebp - 0x28], eax
mov eax, 0x40594c
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x28]
push eax
mov eax, dword [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x20]
push eax
call sub.user32.dll_CloseWindow
call fcn.0040305c
inc byte [ebp - 0x29d]
cmp byte [ebp - 0x29d], 1
jne 0x403eeb
lea eax, [0x87e025]
add dword [eax + 0x24], 0xf7
test ebx, ebx
je 0x403f8d
mov byte [0x87e02e], 0x83
jmp 0x403f98
mov word [0x87e025], 0x11fd
mov eax, ecx
mov byte [0x87e03c], 0x64
xchg dword [0x87e04c], edi
push edx
call fcn.00401544
lea eax, [ebp - 0x38]
push eax
call sub.kernel32.dll_QueryPerformanceCounter
xchg dword [0x87e038], edi
mov dword [0x87e0af], esi
mov dword [0x87e05d], 0x12c87
mov dword [0x87e0a7], 0x10549
inc byte [0x87e076]
mov edx, dword [0x87e011]
mov dword [0x87e0e3], esi
mov dword [0x87e041], ecx
mov edx, 0x87e082
call fcn.00401544
mov dword [ebp - 0x3c], 0x1f5d2
mov eax, dword [ebp - 0x3c]
push eax
call sub.advapi32.dll_RevertToSelf_1
test eax, eax
jne 0x40401e
mov dword [esp - 0x1c], ecx
mov edx, dword [esp + 4]
mov dword [0x87e07d], esi
mov dword [0x87e0ab], ebx
xor eax, eax
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
push eax
mov eax, dword [ebp - 0x44]
push eax
mov eax, dword [ebp - 0x40]
push eax
call sub.advapi32.dll_RevertToSelf
mov dword [0x87e02c], ecx
mov dword [esp - 0x10], edi
mov dword [esp - 0x18], ecx
mov dword [0x87e09a], edi
mov byte [0x87e10a], 0x72
mov dword [ebp - 0x4c], 0x1982c
mov dword [ebp - 0x50], 0x1060d
mov eax, 0x405958
mov dword [ebp - 0x54], eax
mov eax, 0x405964
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
push eax
mov eax, dword [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x50]
push eax
mov eax, dword [ebp - 0x4c]
push eax
call sub.user32.dll_AnyPopup
test eax, eax
jne 0x40409e
mov dword [0x87e0f7], edx
dec byte [0x87e053]
mov dword [0x87e08a], ebx
mov dword [0x87e0fa], edx
mov byte [ebp - 0x29d], 0
cmp byte [0x87e065], 0
jge 0x4040be
lea ebx, [0x87e0ce]
sub dword [ebx + 0xc], 0x31
mov dword [0x87e01d], eax
mov dword [0x87e02a], 0x12c71
mov esi, dword [0x87e0b2]
sub esi, eax
test bl, bl
jne 0x4040e2
mov dword [0x87e0a6], edx
mov dword [0x87e052], edi
jmp 0x4040fb
sub esi, 0x47
xchg dword [0x87e078], edx
mov dword [0x87e0ea], 0x1363f
mov dword [0x87e074], edi
mov dword [ebp - 0x5c], 0x18851
mov dword [ebp - 0x60], 0x19172
mov eax, 0x405980
mov dword [ebp - 0x64], eax
mov eax, 0x405994
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x64]
push eax
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x5c]
push eax
call sub.user32.dll_CloseWindow
test eax, eax
jne 0x404147
sub dword [0x87e0fc], eax
mov dword [0x87e02d], edx
lea esi, [0x87e05f]
mov dword [esi + 0x1c], edi
call fcn.0040857c
inc byte [ebp - 0x29d]
cmp byte [ebp - 0x29d], 2
jne 0x4040a5
call fcn.00401544
cmp edx, 0xffffffff
jge 0x40417d
mov dword [0x87e096], 0x17fe6
mov ecx, edx
xchg dword [0x87e047], ebx
jmp 0x404190
mov word [0x87e0e2], 0x3742
mov dword [0x87e08d], 0x15567
mov dword [0x87e01c], eax
mov dword [0x87e02a], 0x1707b
add edi, ecx
mov dword [ebp - 0x6c], 0x11857
mov dword [ebp - 0x70], 0x16bfc
mov eax, 0x4059a4
mov dword [ebp - 0x74], eax
mov eax, 0x4059b8
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
push eax
mov eax, dword [ebp - 0x74]
push eax
mov eax, dword [ebp - 0x70]
push eax
mov eax, dword [ebp - 0x6c]
push eax
call sub.user32.dll_CloseWindow
mov dword [0x87e04b], eax
mov dword [0x87e062], 0x1648d
mov dword [0x87e04f], 0x14e03
mov edi, 0x114
call fcn.0040305c
xor eax, eax
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x84]
push eax
mov eax, dword [ebp - 0x80]
push eax
mov eax, dword [ebp - 0x7c]
push eax
call sub.advapi32.dll_RevertToSelf
test eax, eax
jne 0x40422c
mov dword [0x87e0eb], edx
mov byte [0x87e0ed], 0xc1
mov dword [0x87e028], eax
mov dword [ebp - 0x88], 0x1aa97
mov dword [ebp - 0x8c], 0x1bdbf
mov eax, 0x4059c8
mov dword [ebp - 0x90], eax
mov eax, 0x4059cc
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x94]
push eax
mov eax, dword [ebp - 0x90]
push eax
mov eax, dword [ebp - 0x8c]
push eax
mov eax, dword [ebp - 0x88]
push eax
call sub.user32.dll_CloseWindow
xchg dword [0x87e038], edi
mov dword [0x87e0af], esi
mov dword [0x87e05d], 0x12c87
mov eax, 0x87e10c
push eax
mov edx, 0x87e0ab
call fcn.00401544
mov byte [0x87e0d7], 0x17
mov word [0x87e0f8], 0xb7c6
mov dword [0x87e024], 0x1595d
mov dword [esp - 0x18], ecx
sub esi, 0x5a
mov edx, 0x87e0d0
call fcn.00401544
mov byte [ebp - 0x29d], 0
mov dword [0x87e06c], esi
mov eax, dword [0x87e10a]
cmp dword [0x87e0d6], 0
jge 0x404301
mov dword [0x87e09d], edx
mov byte [0x87e0d9], 0x3f
mov dword [0x87e0c7], ebx
mov dword [0x87e099], 0x13094
add dword [0x87e0d6], eax
lea ecx, [0x87e07e]
and dword [ecx + 0x18], 0x9b
mov dword [0x87e047], eax
mov word [0x87e0be], 0xb920
lea eax, [ebp - 0xa0]
push eax
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
jne 0x404346
mov dword [0x87e0f2], ecx
mov dword [esp - 8], edx
mov edi, esi
mov byte [0x87e0a4], 0xe2
inc byte [ebp - 0x29d]
cmp byte [ebp - 0x29d], 3
jne 0x4042cf
mov dword [0x87e069], eax
lea ecx, [0x87e031]
add dword [ecx + 0x12], 0x6f
cmp eax, 0xffffffff
jge 0x40437a
mov esi, dword [0x87e01d]
mov dword [esp - 0x18], eax
jmp 0x40439d
mov dword [0x87e024], edx
lea esi, [0x87e048]
mov dword [esi + 0x12], 0x29
mov dword [0x87e058], 0x11a10
xchg dword [0x87e019], eax
xor eax, eax
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xac]
push eax
mov eax, dword [ebp - 0xa8]
push eax
mov eax, dword [ebp - 0xa4]
push eax
call sub.advapi32.dll_RevertToSelf
test eax, eax
je 0x4043f2
cmp edi, 0xffffffff
jg 0x4043d6
add dword [0x87e03c], ecx
mov dword [0x87e0e2], edi
jmp 0x4043e3
mov word [0x87e0f0], 0x61d
mov dword [esp - 0x1c], edx
mov word [0x87e099], 0x4b2d
sub dword [0x87e0cb], edi
mov dword [0x87e0a7], 0x10549
inc byte [0x87e076]
mov edx, dword [0x87e011]
mov dword [0x87e0e3], esi
mov dword [0x87e041], ecx
xchg dword [0x87e038], edi
mov dword [0x87e0af], esi
mov dword [0x87e05d], 0x12c87
mov eax, 0x87e031
push ebx
call fcn.00401544
mov dword [0x87e038], eax
inc dword [0x87e050]
mov word [0x87e06f], 0x43db
test esi, esi
jne 0x40445b
inc edx
mov dword [0x87e0e3], ebx
mov dword [0x87e0ac], edx
mov dword [0x87e101], esi
mov word [0x87e028], 0xec6f
mov ebx, 0x12f
mov edi, dword [0x87e0ca]
mov dword [ebp - 0xb0], 0x1b99c
mov eax, dword [ebp - 0xb0]
push eax
call sub.advapi32.dll_RevertToSelf_1
test eax, eax
jne 0x4044c3
and dword [0x87e0cd], edi
mov dword [0x87e067], ecx
mov dword [0x87e0dc], edx
cmp byte [0x87e0e7], bh
jge 0x4044af
mov dword [0x87e017], ebx
mov dword [0x87e039], edi
mov dword [esp - 0xc], ebx
lea ecx, [0x87e0ad]
and dword [ecx + 8], 0x54
mov dword [0x87e108], ecx
mov dword [0x87e102], edi
mov dword [0x87e0a0], ebx
cmp byte [0x87e05a], 0
jle 0x4044f3
mov dword [0x87e01e], 0x16c14
mov word [0x87e02a], 0xf58c
jmp 0x404512
mov dword [0x87e02d], edx
mov dword [0x87e0bc], 0x11443
mov dword [0x87e0c9], 0x17b2c
mov esi, 0x2c
and dword [0x87e103], edx
mov word [0x87e056], 0x99d3
test bl, bl
je 0x404537
mov dword [0x87e0b0], 0x15132
mov dword [0x87e0f5], ecx
jmp 0x404550
xchg dword [esp - 4], esi
mov word [0x87e04e], 0xdf90
mov dword [0x87e0d6], ecx
and dword [0x87e066], edx
mov dword [0x87e04d], 0x12304
lea eax, [ebp - 0xb8]
push eax
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
je 0x404586
mov dword [0x87e09e], ebx
sub dword [0x87e032], ecx
mov dword [0x87e085], esi
mov dword [0x87e0b6], 0x14b3c
call fcn.00403c3c
mov byte [ebp - 0x29d], 0
mov dword [0x87e0b1], edx
cmp dword [0x87e057], 0
jge 0x4045b8
dec byte [0x87e053]
mov word [0x87e090], 0xf31
inc dword [0x87e094]
jmp 0x4045d2
mov dword [0x87e100], ecx
mov dword [esp - 0x12], eax
mov dword [0x87e02a], ecx
mov dword [0x87e0c8], 0x14ef6
and dword [0x87e017], ecx
xor eax, eax
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0xc0]
push eax
mov eax, dword [ebp - 0xbc]
push eax
call sub.advapi32.dll_RevertToSelf
test eax, eax
jne 0x404613
mov dword [0x87e044], edx
mov word [0x87e103], 0xaa7f
mov dword [0x87e0c7], ebx
call fcn.004033a0
inc byte [ebp - 0x29d]
cmp byte [ebp - 0x29d], 1
jne 0x404592
push 0
push ebx
call fcn.00401544
push eax
push edi
push 0x87e0cd
call fcn.00401544
dec ecx
cmp edi, dword [ebp - 0x20]
jg 0x40465b
mov edx, esi
mov dword [0x87e052], 0x14c87
add esi, ecx
mov dword [0x87e020], edx
jmp 0x40466e
mov dword [0x87e044], ecx
mov dword [0x87e017], edi
dec esi
mov dword [0x87e0ab], eax
mov dword [esp - 0xc], edi
xchg dword [0x87e071], ecx
mov ecx, eax
mov dword [ebp - 0xc8], 0x116e4
mov eax, dword [ebp - 0xc8]
push eax
call sub.advapi32.dll_RevertToSelf_1
test eax, eax
je 0x4046b0
mov word [0x87e024], 0x8150
mov dword [0x87e092], edx
mov byte [0x87e046], 0x38
mov dword [0x87e057], ecx
call fcn.00401544
mov dword [0x87e09e], edi
mov dword [0x87e067], 0x14142
cmp si, word [esp + 0x20]
jle 0x4046dc
mov dword [0x87e102], eax
mov dword [esp - 0x12], ebx
mov eax, dword [0x87e081]
mov edi, dword [esp + 0x28]
mov dword [0x87e109], 0x135df
mov dword [0x87e0db], 0x15608
mov dword [0x87e0a4], edi
lea eax, [ebp - 0xd0]
push eax
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
jne 0x404729
lea edx, [0x87e0f9]
add dword [edx + 8], 0x29
mov dword [0x87e030], esi
and dword [0x87e0ec], edi
add eax, 0x6a
mov dword [0x87e017], ebx
mov dword [0x87e0a7], 0x10549
inc byte [0x87e076]
mov edx, dword [0x87e011]
mov dword [0x87e0e3], esi
mov dword [0x87e041], ecx
mov dword [0x87e0aa], edi
mov dword [esp - 0x20], esi
mov byte [0x87e0c2], 0x2b
mov byte [0x87e06f], 0x7b
mov dword [ebp - 0xd4], 0x11fc0
mov eax, dword [ebp - 0xd4]
push eax
call sub.advapi32.dll_RevertToSelf_1
test eax, eax
jne 0x40479f
mov ecx, dword [0x87e079]
mov dword [0x87e0e0], edx
mov dword [0x87e0b0], 0x17eb0
mov dword [0x87e09a], ecx
mov dword [0x87e07c], edi
mov dword [0x87e0df], ecx
mov dword [0x87e0bc], 0x15941
cmp ecx, 0x9a
jge 0x4047c3
mov dword [0x87e015], 0x12784
jmp 0x4047df
mov dword [0x87e0c6], 0x11017
mov word [0x87e09d], 0xfdd0
lea edi, [0x87e0fb]
add dword [edi + 0x24], ecx
mov dword [0x87e020], ebx
xor eax, eax
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xe0]
push eax
mov eax, dword [ebp - 0xdc]
push eax
mov eax, dword [ebp - 0xd8]
push eax
call sub.advapi32.dll_RevertToSelf
mov dword [0x87e04c], ecx
mov edi, dword [0x87e042]
mov dword [0x87e084], 0x150ef
and edx, 0x82
lea eax, [ebp - 0xe8]
push eax
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
je 0x404859
mov word [0x87e02c], 0xdb26
sub dword [0x87e0a3], ebx
lea esi, [0x87e02d]
mov dword [esi], ebx
mov dword [0x87e063], ecx
mov word [0x87e0bf], 0x8ec1
call fcn.0040305c
mov edx, 0x87e014
mov edx, 0x87e08c
push eax
call fcn.00401544
lea eax, [ebp - 0xf0]
push eax
call sub.kernel32.dll_QueryPerformanceCounter
mov dword [0x87e03f], 0x109c3
mov dword [0x87e0e2], edi
mov byte [0x87e040], 0x18
cmp ecx, dword [0x87e062]
jne 0x40489f
mov dword [0x87e014], esi
mov byte [0x87e05b], 0x99
mov edi, 0xf1
mov dword [0x87e03e], ebx
mov byte [0x87e0d7], 0x17
mov word [0x87e0f8], 0xb7c6
mov dword [0x87e024], 0x1595d
mov dword [esp - 0x18], ecx
sub esi, 0x5a
push ebx
push 1
mov edx, 0x87e09c
call fcn.00401544
lea eax, [ebp - 0xf8]
push eax
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
je 0x404919
mov word [0x87e0ea], 0x2f24
mov dword [0x87e0b5], 0x16e8f
mov byte [0x87e0d4], 0xef
mov dword [0x87e072], ebx
mov dword [0x87e06e], 0x1193e
call fcn.0040305c
xor eax, eax
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x104]
push eax
mov eax, dword [ebp - 0x100]
push eax
mov eax, dword [ebp - 0xfc]
push eax
call sub.advapi32.dll_RevertToSelf
test eax, eax
jne 0x404969
mov word [0x87e03e], 0x9ecc
add dword [0x87e05c], edx
mov dword [0x87e108], 0x122b6
mov dword [0x87e085], ecx
dec byte [0x87e021]
call fcn.00403c3c
mov byte [0x87e0ea], 0xb6
mov dword [0x87e0af], edi
lea esi, [0x87e0f4]
mov dword [esi + 0x20], 0xb0
xor eax, eax
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x110]
push eax
mov eax, dword [ebp - 0x10c]
push eax
mov eax, dword [ebp - 0x108]
push eax
call sub.advapi32.dll_RevertToSelf
test ebx, ebx
je 0x4049c3
mov word [0x87e055], 0x9d8e
mov dword [0x87e0b6], 0x103f6
jmp 0x4049c9
mov dword [0x87e08d], eax
mov dword [0x87e0b5], edi
mov dword [0x87e0c5], 0x16eed
mov dword [ebp - 0x114], 0x19d44
mov eax, dword [ebp - 0x114]
push eax
call sub.advapi32.dll_RevertToSelf_1
lea eax, [ebp - 0x120]
push eax
call sub.kernel32.dll_QueryPerformanceCounter
call fcn.0040857c
call fcn.00401544
lea eax, [ebp - 0x128]
push eax
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
je 0x404a34
mov dword [0x87e0ca], edx
mov dword [0x87e070], ebx
mov dword [0x87e046], eax
mov dword [0x87e041], ebx
mov byte [0x87e0c5], 0x4b
xchg dword [0x87e038], edi
mov dword [0x87e0af], esi
mov dword [0x87e05d], 0x12c87
mov ecx, 0x87e0ad
push ebx
call fcn.00401544
cmp dl, byte [esp + 0x28]
jge 0x404a6a
mov byte [0x87e029], 0xf7
mov dword [0x87e048], eax
jmp 0x404a89
mov dword [0x87e082], edx
lea eax, [0x87e105]
mov dword [eax], 0xae
mov byte [0x87e055], 0x3b
xchg dword [0x87e0bd], ecx
test eax, eax
jne 0x404aad
mov dword [0x87e0ac], 0x10f59
mov dword [0x87e09a], ebx
mov dword [0x87e02f], 0x16b5c
mov dword [esp - 0x20], edi
jmp 0x404ac8
mov dword [0x87e058], 0x16093
mov dword [0x87e01c], esi
mov dword [esp - 0xc], eax
mov byte [0x87e07f], 0x8c
and dword [0x87e02e], ecx
mov dword [ebp - 0x12c], 0x1871f
mov dword [ebp - 0x130], 0x1e8b4
mov eax, 0x4059d0
mov dword [ebp - 0x134], eax
mov eax, 0x4059f0
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x138]
push eax
mov eax, dword [ebp - 0x134]
push eax
mov eax, dword [ebp - 0x130]
push eax
mov eax, dword [ebp - 0x12c]
push eax
call sub.user32.dll_AnyPopup
test eax, eax
je 0x404b30
mov byte [0x87e109], 0x6a
mov dword [0x87e058], ebx
mov dword [0x87e0bb], eax
mov dword [0x87e073], ecx
mov dword [0x87e014], 0x11166
cmp edx, 0xffffffff
jg 0x404b62
lea eax, [0x87e0b5]
sub dword [eax], 0x1f
xchg dword [0x87e05e], ebx
mov dword [0x87e0c6], edi
lea esi, [0x87e0b1]
add dword [esi], ebx
and dword [0x87e0e9], esi
mov dword [esp - 0x12], eax
mov dword [0x87e072], 0x17879
mov ebx, eax
xor eax, eax
mov dword [ebp - 0x144], eax
mov eax, dword [ebp - 0x144]
push eax
mov eax, dword [ebp - 0x140]
push eax
mov eax, dword [ebp - 0x13c]
push eax
call sub.advapi32.dll_RevertToSelf
test eax, eax
je 0x404bb4
mov esi, dword [esp + 0x20]
mov dword [0x87e075], eax
mov dword [0x87e0f3], 0x1650f
mov ecx, edx
mov word [0x87e0e1], 0x502b
lea esi, [0x87e0f8]
and dword [esi + 0x12], ecx
mov dword [esp - 0x20], edx
mov dword [esp - 0x28], ecx
mov edx, ebx
mov dword [ebp - 0x148], 0x1300e
mov dword [ebp - 0x14c], 0x1fded
mov eax, 0x405a1c
mov dword [ebp - 0x150], eax
mov eax, 0x405a3c
mov dword [ebp - 0x154], eax
mov eax, dword [ebp - 0x154]
push eax
mov eax, dword [ebp - 0x150]
push eax
mov eax, dword [ebp - 0x14c]
push eax
mov eax, dword [ebp - 0x148]
push eax
call sub.user32.dll_AnyPopup
test eax, eax
je 0x404c4c
and dword [0x87e09f], eax
mov dword [0x87e0cd], esi
cmp edx, dword [esp + 0x10]
jne 0x404c46
and dword [0x87e0f7], ebx
mov dword [esp - 0x12], esi
mov word [0x87e01e], 0xf69e
jmp 0x404c4c
xchg dword [0x87e020], edx
lea eax, [0x87e025]
add dword [eax + 0x24], 0xf7
test ebx, ebx
je 0x404c66
mov byte [0x87e02e], 0x83
jmp 0x404c71
mov word [0x87e025], 0x11fd
mov eax, ecx
mov byte [0x87e03c], 0x64
xchg dword [0x87e04c], edi
mov dword [0x87e0d8], edi
cmp dword [0x87e0e1], ecx
jle 0x404c98
mov dword [0x87e068], eax
mov dword [0x87e0dc], ebx
mov dword [0x87e0e9], ecx
mov dword [0x87e0e1], 0x104a7
mov dword [0x87e0ed], esi
cmp ebx, dword [0x87e0dd]
jl 0x404cc5
mov dword [0x87e04b], esi
xchg dword [0x87e0d8], eax
inc ecx
jmp 0x404cdc
mov dword [0x87e066], esi
mov dword [0x87e057], edx
mov dword [esp - 0x28], edi
mov byte [0x87e08a], 0x83
mov dword [ebp - 0x158], 0x1c4f8
mov eax, dword [ebp - 0x158]
push eax
call sub.advapi32.dll_RevertToSelf_1
mov byte [ebp - 0x29d], 0
mov dword [ebp - 0x15c], 0x1e034
mov dword [ebp - 0x160], 0x13fd7
mov eax, 0x405a44
mov dword [ebp - 0x164], eax
mov eax, 0x405a64
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x168]
push eax
mov eax, dword [ebp - 0x164]
push eax
mov eax, dword [ebp - 0x160]
push eax
mov eax, dword [ebp - 0x15c]
push eax
call sub.user32.dll_AnyPopup
inc byte [ebp - 0x29d]
cmp byte [ebp - 0x29d], 3
jne 0x404cf9
cmp dword [0x87e058], 0
jl 0x404d70
mov dword [0x87e0c3], eax
mov dword [0x87e0f4], ecx
xchg dword [0x87e030], edi
mov esi, edx
mov dword [0x87e02f], ebx
mov dword [0x87e0a3], 0x16293
xchg dword [0x87e0b0], eax
mov dword [0x87e066], ecx
call fcn.00401544
mov dword [0x87e0c1], ebx
xchg dword [0x87e01c], esi
mov dword [0x87e044], ebx
mov dword [ebp - 0x16c], 0x10dba
mov eax, dword [ebp - 0x16c]
push eax
call sub.advapi32.dll_RevertToSelf_1
test eax, eax
je 0x404dd4
mov dword [0x87e0fd], edi
mov dword [0x87e0f7], eax
mov eax, esi
mov dword [esp - 8], ebx
mov ecx, 0x146
mov dword [ebp - 0x170], 0x1e8df
mov dword [ebp - 0x174], 0x151e1
mov eax, 0x405a88
mov dword [ebp - 0x178], eax
mov eax, 0x405a9c
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp - 0x17c]
push eax
mov eax, dword [ebp - 0x178]
push eax
mov eax, dword [ebp - 0x174]
push eax
mov eax, dword [ebp - 0x170]
push eax
call sub.user32.dll_CloseWindow
test eax, eax
jne 0x404e3b
mov edx, 0xa8
mov dword [0x87e0fd], eax
mov ebx, esi
mov edi, 0x141
sub dword [0x87e088], eax
lea eax, [ebp - 0x188]
push eax
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
jne 0x404e70
mov word [0x87e055], 0xef8a
xchg dword [0x87e09b], edx
mov dword [0x87e101], 0x17fd7
mov dword [0x87e0cc], ebx
sub edi, 0xa9
call fcn.0040305c
xchg dword [0x87e038], edi
mov dword [0x87e0af], esi
mov dword [0x87e05d], 0x12c87
xor eax, eax
mov dword [ebp - 0x194], eax
mov eax, dword [ebp - 0x194]
push eax
mov eax, dword [ebp - 0x190]
push eax
mov eax, dword [ebp - 0x18c]
push eax
call sub.advapi32.dll_RevertToSelf
xchg dword [0x87e038], edi
mov dword [0x87e0af], esi
mov dword [0x87e05d], 0x12c87
mov edx, 0x87e0d8
push 0x87e0cc
push edi
call fcn.00401544
call fcn.00401544
mov byte [ebp - 0x29d], 0
mov dword [0x87e094], ebx
mov dword [0x87e0cb], eax
cmp byte [0x87e0f8], dl
jle 0x404efb
mov edi, edx
mov dword [0x87e04e], eax
mov dword [esp - 0x20], ecx
xchg dword [0x87e0e3], edi
lea eax, [ebp - 0x1a0]
push eax
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
jne 0x404f27
mov dword [0x87e0b3], eax
inc dword [0x87e0b1]
mov dword [0x87e063], ecx
inc byte [ebp - 0x29d]
cmp byte [ebp - 0x29d], 2
jne 0x404edf
mov dword [0x87e0ae], ebx
mov dword [0x87e0cf], edi
mov dword [0x87e0be], 0x15ff6
mov dword [0x87e07f], esi
mov dword [0x87e050], ecx
lea eax, [ebp - 0x1a8]
push eax
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
je 0x404f79
mov edx, 0x169
mov dword [0x87e056], eax
mov dword [0x87e06a], ebx
mov byte [0x87e0d7], 0x17
mov word [0x87e0f8], 0xb7c6
mov dword [0x87e024], 0x1595d
mov dword [esp - 0x18], ecx
sub esi, 0x5a
call fcn.00401544
cmp edi, 0xffffffff
jle 0x404fbb
mov word [0x87e0f2], 0x7164
mov dword [0x87e0c5], eax
mov dword [0x87e09a], ebx
jmp 0x404fd3
mov dword [0x87e0ec], edi
xchg dword [0x87e0a7], eax
mov dword [0x87e073], ebx
mov dword [0x87e058], esi
mov byte [0x87e0d8], 0xc
mov dword [0x87e06f], edx
mov ecx, dword [0x87e034]
mov dword [0x87e0b7], 0x100cc
mov dword [ebp - 0x1ac], 0x1bddc
mov dword [ebp - 0x1b0], 0x19987
mov eax, 0x405aa4
mov dword [ebp - 0x1b4], eax
mov eax, 0x405aac
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp - 0x1b8]
push eax
mov eax, dword [ebp - 0x1b4]
push eax
mov eax, dword [ebp - 0x1b0]
push eax
mov eax, dword [ebp - 0x1ac]
push eax
call sub.user32.dll_CloseWindow
test eax, eax
jne 0x405056
mov dword [0x87e088], esi
dec ecx
mov dword [0x87e024], esi
mov dword [esp - 0x12], edi
and ecx, 0x81
call fcn.0040305c
cmp dword [0x87e045], 0
jne 0x40506c
mov dword [0x87e05f], edi
jmp 0x405082
sub dword [0x87e0aa], ebx
inc dword [0x87e0a9]
mov dword [0x87e0fd], 0x13e60
mov dword [0x87e03b], edx
lea ecx, [0x87e0e8]
and dword [ecx + 0x10], 0x33
mov dword [0x87e026], ebx
mov dword [0x87e102], eax
mov dword [ebp - 0x1bc], 0x124fc
mov dword [ebp - 0x1c0], 0x1cc32
mov eax, 0x405abc
mov dword [ebp - 0x1c4], eax
mov eax, 0x405adc
mov dword [ebp - 0x1c8], eax
mov eax, dword [ebp - 0x1c8]
push eax
mov eax, dword [ebp - 0x1c4]
push eax
mov eax, dword [ebp - 0x1c0]
push eax
mov eax, dword [ebp - 0x1bc]
push eax
call sub.user32.dll_AnyPopup
test eax, eax
je 0x405109
mov dword [esp - 4], ecx
xchg dword [0x87e0e0], eax
mov edi, 0x57
mov byte [0x87e035], 0xa1
mov dword [0x87e08a], eax
sub dword [0x87e05e], edi
and ecx, 0x1a
mov dword [0x87e013], ebx
mov dword [0x87e09d], edi
test edx, edx
je 0x405143
mov dword [esp - 0x20], ecx
xchg dword [esp - 0x10], edx
mov eax, ecx
mov dword [esp - 4], edx
add dword [0x87e051], edi
mov dword [0x87e0eb], eax
mov byte [0x87e0b5], 0xe8
mov ebx, esi
mov dword [0x87e0f9], esi
mov dword [0x87e0ec], eax
cmp dword [0x87e0c3], 0
jl 0x405160
mov dword [0x87e08f], edi
mov dword [0x87e014], ecx
cmp esi, dword [0x87e09a]
jne 0x405177
xchg dword [0x87e0a3], edx
add eax, 0x51
mov edx, dword [esp + 0x12]
xchg dword [0x87e06f], ebx
mov dword [ebp - 0x1cc], 0x10585
mov eax, dword [ebp - 0x1cc]
push eax
call sub.advapi32.dll_RevertToSelf_1
test eax, eax
je 0x4051d6
mov dword [0x87e08e], esi
mov dword [0x87e0e3], ecx
cmp edi, 0xffffffff
jle 0x4051be
and dword [0x87e08c], esi
mov dword [0x87e044], ebx
add ecx, dword [0x87e0c6]
mov word [0x87e057], 0x29a7
mov dword [0x87e092], edi
mov word [0x87e03c], 0xb8b
call fcn.004033a0
mov byte [ebp - 0x29d], 0
mov dword [0x87e0e9], 0x122f0
xchg dword [esp - 8], esi
mov dword [0x87e0bb], edi
mov dword [0x87e0c5], eax
xchg dword [esp - 0x12], edi
mov dword [ebp - 0x1d0], 0x10367
mov dword [ebp - 0x1d4], 0x147c8
mov eax, 0x405afc
mov dword [ebp - 0x1d8], eax
mov eax, 0x405b14
mov dword [ebp - 0x1dc], eax
mov eax, dword [ebp - 0x1dc]
push eax
mov eax, dword [ebp - 0x1d8]
push eax
mov eax, dword [ebp - 0x1d4]
push eax
mov eax, dword [ebp - 0x1d0]
push eax
call sub.user32.dll_CloseWindow
test eax, eax
jne 0x40526d
lea edx, [0x87e045]
mov dword [edx], 0xd0
mov edx, ecx
mov dword [0x87e0b7], 0x122c8
mov dword [0x87e0a9], edx
call fcn.0040305c
inc byte [ebp - 0x29d]
cmp byte [ebp - 0x29d], 2
jne 0x4051e2
xchg dword [0x87e038], edi
mov dword [0x87e0af], esi
mov dword [0x87e05d], 0x12c87
push eax
push ecx
mov ecx, 0x87e028
call fcn.00401544
mov byte [ebp - 0x29d], 0
lea eax, [ebp - 0x1e8]
push eax
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
je 0x4052df
lea ebx, [0x87e105]
mov dword [ebx + 8], 0xf7
mov dword [esp - 0xc], edi
sub edx, dword [0x87e087]
mov dword [0x87e089], 0x11538
inc byte [ebp - 0x29d]
cmp byte [ebp - 0x29d], 1
jne 0x4052ae
mov dword [0x87e079], eax
mov dword [0x87e08e], ecx
mov dword [0x87e092], eax
and dword [0x87e02e], esi
mov dword [ebp - 0x1ec], 0x15846
mov dword [ebp - 0x1f0], 0x1c2a9
mov eax, 0x405b2c
mov dword [ebp - 0x1f4], eax
mov eax, 0x405b34
mov dword [ebp - 0x1f8], eax
mov eax, dword [ebp - 0x1f8]
push eax
mov eax, dword [ebp - 0x1f4]
push eax
mov eax, dword [ebp - 0x1f0]
push eax
mov eax, dword [ebp - 0x1ec]
push eax
call sub.user32.dll_CloseWindow
test eax, eax
jne 0x40536d
mov dword [0x87e0c4], edi
lea ecx, [0x87e025]
sub dword [ecx], 0xeb
sub edx, dword [0x87e0e6]
mov byte [ebp - 0x29d], 0
mov dword [ebp - 0x1fc], 0x11db5
mov dword [ebp - 0x200], 0x12011
mov eax, 0x405b48
mov dword [ebp - 0x204], eax
mov eax, 0x405b54
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x208]
push eax
mov eax, dword [ebp - 0x204]
push eax
mov eax, dword [ebp - 0x200]
push eax
mov eax, dword [ebp - 0x1fc]
push eax
call sub.user32.dll_CloseWindow
test eax, eax
je 0x4053ec
cmp dword [0x87e06d], 0
jg 0x4053d8
add esi, 0xcf
mov dword [0x87e041], edi
mov dword [0x87e015], esi
mov dword [0x87e048], 0x16608
mov dword [esp - 0x1c], esi
inc byte [ebp - 0x29d]
cmp byte [ebp - 0x29d], 2
jne 0x405374
push edi
mov eax, 0x87e03a
call fcn.00401544
mov eax, 0x87e0de
push 1
mov eax, 0x87e09f
call fcn.00401544
mov ebx, 0x138
mov dword [0x87e094], eax
dec esi
inc dword [0x87e037]
mov dword [0x87e053], eax
mov dword [ebp - 0x20c], 0x1d580
mov dword [ebp - 0x210], 0x13157
mov eax, 0x405b68
mov dword [ebp - 0x214], eax
mov eax, 0x405b74
mov dword [ebp - 0x218], eax
mov eax, dword [ebp - 0x218]
push eax
mov eax, dword [ebp - 0x214]
push eax
mov eax, dword [ebp - 0x210]
push eax
mov eax, dword [ebp - 0x20c]
push eax
call sub.user32.dll_CloseWindow
test eax, eax
jne 0x405497
mov dword [0x87e025], ebx
mov ecx, 0x66
mov dword [0x87e0e3], 0x1203c
mov dword [0x87e09d], eax
mov dword [esp - 0x1c], edx
mov ecx, esi
mov byte [0x87e0a1], 0x7d
push 0
call fcn.00401544
xchg dword [0x87e038], edi
mov dword [0x87e0af], esi
mov dword [0x87e05d], 0x12c87
call fcn.00401544
mov dword [ebp - 0x21c], 0x1301f
mov dword [ebp - 0x220], 0x13b0c
mov eax, 0x405b80
mov dword [ebp - 0x224], eax
mov eax, 0x405b9c
mov dword [ebp - 0x228], eax
mov eax, dword [ebp - 0x228]
push eax
mov eax, dword [ebp - 0x224]
push eax
mov eax, dword [ebp - 0x220]
push eax
mov eax, dword [ebp - 0x21c]
push eax
call sub.user32.dll_AnyPopup
test eax, eax
je 0x405537
mov byte [0x87e0d8], 0x26
mov dword [0x87e0a5], esi
mov dword [0x87e0dc], ebx
mov word [0x87e01d], 0x5695
call fcn.0040857c
lea esi, [0x87e075]
mov dword [esi + 0x12], edx
mov dword [0x87e079], ecx
mov edx, 0x141
lea eax, [ebp - 0x230]
push eax
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
je 0x405571
mov dword [0x87e059], edi
mov eax, 0x184
add dword [0x87e0f2], esi
call fcn.00401544
mov byte [ebp - 0x29d], 0
xor eax, eax
mov dword [ebp - 0x23c], eax
mov eax, dword [ebp - 0x23c]
push eax
mov eax, dword [ebp - 0x238]
push eax
mov eax, dword [ebp - 0x234]
push eax
call sub.advapi32.dll_RevertToSelf
mov dword [esp - 0x24], ebx
mov dword [0x87e039], edi
sub dword [0x87e053], edx
mov dword [0x87e0c4], 0x17db3
mov dword [0x87e095], 0x162e1
mov dword [0x87e09d], eax
mov dword [esp - 0x1c], edx
mov ecx, esi
mov byte [0x87e0a1], 0x7d
inc byte [ebp - 0x29d]
cmp byte [ebp - 0x29d], 3
jne 0x40557d
mov byte [0x87e0ea], 0xb6
mov dword [0x87e0af], edi
lea esi, [0x87e0f4]
mov dword [esi + 0x20], 0xb0
call fcn.00401544
mov byte [ebp - 0x29d], 0
mov byte [0x87e102], 0x7f
mov dword [0x87e044], 0x10c4b
mov ecx, ebx
xor eax, eax
mov dword [ebp - 0x248], eax
mov eax, dword [ebp - 0x248]
push eax
mov eax, dword [ebp - 0x244]
push eax
mov eax, dword [ebp - 0x240]
push eax
call sub.advapi32.dll_RevertToSelf
test eax, eax
jne 0x405670
lea edx, [0x87e0b3]
mov dword [edx + 0x18], 0xe0
mov dword [0x87e082], 0x1172c
mov word [0x87e0af], 0xac2d
mov dword [0x87e084], esi
mov dword [0x87e0ef], edx
inc byte [ebp - 0x29d]
cmp byte [ebp - 0x29d], 3
jne 0x40560b
mov byte [ebp - 0x29d], 0
mov dword [ebp - 0x24c], 0x120f7
mov dword [ebp - 0x250], 0x11626
mov eax, 0x405bc8
mov dword [ebp - 0x254], eax
mov eax, 0x405bd0
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x258]
push eax
mov eax, dword [ebp - 0x254]
push eax
mov eax, dword [ebp - 0x250]
push eax
mov eax, dword [ebp - 0x24c]
push eax
call sub.user32.dll_CloseWindow
inc byte [ebp - 0x29d]
cmp byte [ebp - 0x29d], 1
jne 0x405686
lea eax, [ebp - 0x260]
push eax
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
jne 0x405725
mov dword [0x87e0f7], ebx
cmp esi, 0xffffffff
je 0x405715
mov dword [0x87e0b2], 0x12a7a
mov dword [0x87e07d], edx
mov dword [0x87e0c0], ebx
mov edi, dword [esp + 4]
and dword [0x87e0fe], ebx
and dword [0x87e0db], edi
mov dword [esp - 0x12], esi
call fcn.004033a0
sub dword [0x87e05e], edi
and ecx, 0x1a
mov dword [0x87e013], ebx
call fcn.00401544
mov dword [ebp - 0x264], 0x10dcc
mov dword [ebp - 0x268], 0x1e42a
mov eax, 0x405bd4
mov dword [ebp - 0x26c], eax
mov eax, 0x405be8
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x270]
push eax
mov eax, dword [ebp - 0x26c]
push eax
mov eax, dword [ebp - 0x268]
push eax
mov eax, dword [ebp - 0x264]
push eax
call sub.user32.dll_AnyPopup
test eax, eax
jne 0x4057a4
and edx, 0x87
xchg dword [0x87e07f], ebx
inc edx
mov dword [0x87e0ac], 0x14823
call fcn.0040857c
mov byte [ebp - 0x29d], 0
mov dword [ebp - 0x274], 0x1515f
mov dword [ebp - 0x278], 0x13214
mov eax, 0x405c00
mov dword [ebp - 0x27c], eax
mov eax, 0x405c10
mov dword [ebp - 0x280], eax
mov eax, dword [ebp - 0x280]
push eax
mov eax, dword [ebp - 0x27c]
push eax
mov eax, dword [ebp - 0x278]
push eax
mov eax, dword [ebp - 0x274]
push eax
call sub.user32.dll_CloseWindow
test eax, eax
je 0x405821
mov dword [esp - 0x10], edx
mov dword [0x87e03b], esi
mov dword [0x87e0b9], 0x1107f
mov dword [esp - 0x28], eax
mov dword [0x87e0ac], 0x171bd
inc byte [ebp - 0x29d]
cmp byte [ebp - 0x29d], 2
jne 0x4057b0
mov dword [ebp - 0x284], 0x1f900
mov dword [ebp - 0x288], 0x1beea
mov eax, 0x405c18
mov dword [ebp - 0x28c], eax
mov eax, 0x405c2c
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x290]
push eax
mov eax, dword [ebp - 0x28c]
push eax
mov eax, dword [ebp - 0x288]
push eax
mov eax, dword [ebp - 0x284]
push eax
call sub.user32.dll_AnyPopup
test eax, eax
jne 0x405896
mov dword [0x87e04c], esi
mov ecx, edi
xchg dword [0x87e0be], edx
mov word [0x87e0aa], 0x52d
mov ebx, eax
mov dword [0x87e01c], eax
dec dword [0x87e048]
lea edx, [0x87e07a]
mov dword [edx + 0x18], 0x53
cmp dword [ebp - 0x10], edi
jle 0x4058c8
sub eax, 0x1d
xchg dword [0x87e077], esi
mov byte [0x87e075], 0xec
jmp 0x4058cc
mov dword [esp - 8], eax
xor eax, eax
mov dword [ebp - 0x29c], eax
mov eax, dword [ebp - 0x29c]
push eax
mov eax, dword [ebp - 0x298]
push eax
mov eax, dword [ebp - 0x294]
push eax
call sub.advapi32.dll_RevertToSelf
test eax, eax
jne 0x40591f
cmp byte [esp + 0x20], bl
jle 0x405900
mov dword [0x87e045], ebx
jmp 0x405909
lea ecx, [0x87e05d]
mov dword [ecx + 0xc], edi
mov dword [0x87e09c], eax
mov dword [0x87e045], 0x10b55
mov dword [0x87e039], edx
mov esp, ebp
pop ebp
ret