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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffd94
test esi, esi
je 0x401559
mov dword [0x87e055], ecx
jmp 0x40156b
mov dword [0x87e0f7], eax
mov dword [0x87e07f], ebx
mov dword [0x87e09a], eax
mov dword [0x87e06d], edx
add ebx, 0x1e
mov edx, dword [0x87e061]
mov dword [ebp - 4], 0x1e92f
mov dword [ebp - 8], 0x155a7
mov eax, 0x402d18
mov dword [ebp - 0xc], eax
mov eax, 0x402d1c
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 4]
push eax
call sub.user32.dll_AnyPopup
test eax, eax
jne 0x4015bf
mov dword [esp - 0x28], edx
mov dword [esp - 0xc], esi
mov dword [0x87e0a6], eax
mov dword [0x87e052], 0x13671
cmp esi, 0xffffffff
jl 0x4015e7
mov dword [0x87e022], eax
mov edi, ecx
mov dword [0x87e03c], esi
mov dword [0x87e0b7], 0x12df1
inc esi
mov dword [0x87e018], edx
mov dword [0x87e030], 0x14663
inc ebx
add dword [0x87e067], edi
test bh, bh
je 0x401608
mov dword [esp - 0x28], edx
jmp 0x401615
lea eax, [0x87e058]
mov dword [eax + 0x24], 0xc1
mov ecx, dword [0x87e08b]
mov dword [0x87e0d9], 0x14e48
mov dword [ebp - 0x14], 0x1a98e
mov dword [ebp - 0x18], 0x1a78f
mov eax, 0x402d3c
mov dword [ebp - 0x1c], eax
mov eax, 0x402d50
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebp - 0x14]
push eax
call sub.user32.dll_CloseWindow
test eax, eax
jne 0x40167a
mov dword [0x87e093], ebx
sub dword [0x87e071], edi
inc byte [0x87e0ea]
and dword [0x87e038], esi
mov dword [0x87e0b4], edx
call fcn.0040857c
mov dword [ebp - 0x24], 0x1c033
mov eax, dword [ebp - 0x24]
push eax
call sub.advapi32.dll_RevertToSelf_1
mov byte [0x87e0ea], 0xb6
mov dword [0x87e0af], edi
lea esi, [0x87e0f4]
mov dword [esi + 0x20], 0xb0
mov dword [ebp - 0x28], 0x16bc1
mov dword [ebp - 0x2c], 0x1e114
mov eax, 0x402d60
mov dword [ebp - 0x30], eax
mov eax, 0x402d68
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
push eax
mov eax, dword [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x28]
push eax
call sub.user32.dll_CloseWindow
test eax, eax
jne 0x4016f9
mov dword [0x87e0a0], edi
mov dword [0x87e03c], 0x11207
mov word [0x87e086], 0xba4b
xchg dword [0x87e038], edi
mov dword [0x87e0af], esi
mov dword [0x87e05d], 0x12c87
lea eax, [ebp - 0x40]
push eax
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
jne 0x40174e
mov dword [esp - 0x1c], ebx
mov byte [0x87e0ad], 0xda
cmp eax, 0xffffffff
jge 0x401738
and dword [0x87e05a], edx
mov dword [0x87e0b6], eax
lea esi, [0x87e0bb]
add dword [esi], 0xc7
mov dword [esp - 0x12], ebx
mov dword [0x87e104], esi
mov dword [ebp - 0x44], 0x187a4
mov dword [ebp - 0x48], 0x1bf97
mov eax, 0x402d74
mov dword [ebp - 0x4c], eax
mov eax, 0x402d88
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
push eax
mov eax, dword [ebp - 0x4c]
push eax
mov eax, dword [ebp - 0x48]
push eax
mov eax, dword [ebp - 0x44]
push eax
call sub.user32.dll_CloseWindow
test eax, eax
je 0x40179b
sub eax, dword [0x87e012]
mov dword [0x87e062], ecx
mov dword [0x87e04f], 0x17501
mov dword [0x87e086], ecx
xchg dword [0x87e09f], ebx
cmp byte [0x87e069], 0
je 0x4017cf
mov dword [0x87e05a], edx
mov dword [0x87e075], 0x15a3d
mov dword [0x87e0bb], ecx
mov byte [0x87e015], 0x2c
jmp 0x4017db
sub dword [0x87e067], ebx
sub dword [0x87e087], edx
cmp ecx, 0xffffffff
jle 0x4017ef
mov word [0x87e0f4], 0x655d
and dword [0x87e0b5], eax
mov edi, dword [0x87e06a]
mov dword [0x87e03c], eax
mov dword [ebp - 0x54], 0x156b3
mov dword [ebp - 0x58], 0x18a15
mov eax, 0x402d90
mov dword [ebp - 0x5c], eax
mov eax, 0x402d98
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x5c]
push eax
mov eax, dword [ebp - 0x58]
push eax
mov eax, dword [ebp - 0x54]
push eax
call sub.user32.dll_CloseWindow
cmp dword [0x87e0de], 0
jge 0x401844
mov ebx, esi
mov eax, 0xa7
mov dword [0x87e0ed], esi
sub edx, 0x94
dec dword [0x87e085]
sub dword [0x87e09f], edi
mov dword [esp - 0x18], ebx
lea ecx, [0x87e0b9]
mov dword [ecx], 0xb
mov dword [0x87e016], eax
test edi, edi
jne 0x40188e
mov word [0x87e0e7], 0x79f
mov dword [0x87e026], 0x10eb8
lea edi, [0x87e0ce]
add dword [edi], 0x72
jmp 0x40189a
mov dword [0x87e038], eax
xchg dword [0x87e10a], edi
mov dword [ebp - 0x64], 0x13da3
mov dword [ebp - 0x68], 0x17de4
mov eax, 0x402db0
mov dword [ebp - 0x6c], eax
mov eax, 0x402dbc
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x70]
push eax
mov eax, dword [ebp - 0x6c]
push eax
mov eax, dword [ebp - 0x68]
push eax
mov eax, dword [ebp - 0x64]
push eax
call sub.user32.dll_AnyPopup
mov byte [0x87e0ac], 0x5a
mov esi, ecx
mov dword [0x87e0e3], edi
mov dword [0x87e07d], ecx
mov dword [0x87e040], eax
mov byte [ebp - 0x269], 0
mov dword [ebp - 0x74], 0x186ce
mov dword [ebp - 0x78], 0x11519
mov eax, 0x402dd8
mov dword [ebp - 0x7c], eax
mov eax, 0x402de8
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x80]
push eax
mov eax, dword [ebp - 0x7c]
push eax
mov eax, dword [ebp - 0x78]
push eax
mov eax, dword [ebp - 0x74]
push eax
call sub.user32.dll_AnyPopup
test eax, eax
jne 0x401946
mov word [0x87e098], 0xb38d
mov dword [0x87e05e], edi
lea ecx, [0x87e06b]
mov dword [ecx + 0x10], 0x5e
mov dword [esp - 4], edi
inc byte [ebp - 0x269]
cmp byte [ebp - 0x269], 2
jne 0x4018ef
mov byte [ebp - 0x269], 0
mov word [0x87e0b0], 0xfdb
xchg dword [0x87e0bd], edx
cmp esi, 0xffffffff
jg 0x401978
mov dword [0x87e014], eax
jmp 0x401987
add dword [0x87e06d], edx
mov word [0x87e097], 0x8554
xor eax, eax
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
push eax
mov eax, dword [ebp - 0x88]
push eax
mov eax, dword [ebp - 0x84]
push eax
call sub.advapi32.dll_RevertToSelf
xchg dword [0x87e07d], ebx
mov dword [esp - 0x28], edi
mov dword [0x87e016], esi
mov dword [0x87e029], 0x15e2f
add eax, 6
mov byte [0x87e0ea], 0xb6
mov dword [0x87e0af], edi
lea esi, [0x87e0f4]
mov dword [esi + 0x20], 0xb0
inc byte [ebp - 0x269]
cmp byte [ebp - 0x269], 1
jne 0x40195c
lea eax, [ebp - 0x98]
push eax
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
jne 0x401a16
mov dword [esp - 0x20], esi
mov dword [0x87e01c], edi
mov word [0x87e018], 0xe3bf
mov dword [0x87e0ee], eax
cmp byte [0x87e02d], 0
jg 0x401a40
mov dword [0x87e0d4], ebx
mov byte [0x87e097], 0x44
mov dword [0x87e0a9], esi
mov dword [0x87e01c], eax
jmp 0x401a52
and dword [0x87e07c], ecx
mov dword [0x87e01a], edi
and dword [0x87e024], ebx
mov edx, 0x1c8
lea eax, [ebp - 0xa0]
push eax
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
jne 0x401a79
mov dword [0x87e0c8], 0x17946
mov edi, esi
mov dword [0x87e02b], esi
mov word [0x87e086], 0x6398
mov dword [0x87e06a], ebx
mov dword [esp - 0x28], edx
mov dword [0x87e06b], 0x123ee
sub dword [0x87e105], edi
mov dword [ebp - 0xa4], 0x14fbf
mov dword [ebp - 0xa8], 0x1c59d
mov eax, 0x402e14
mov dword [ebp - 0xac], eax
mov eax, 0x402e1c
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
push eax
mov eax, dword [ebp - 0xac]
push eax
mov eax, dword [ebp - 0xa8]
push eax
mov eax, dword [ebp - 0xa4]
push eax
call sub.user32.dll_CloseWindow
mov dword [0x87e108], ecx
mov dword [0x87e102], edi
mov dword [0x87e0a0], ebx
cmp byte [0x87e05a], 0
jle 0x401b17
mov dword [0x87e01e], 0x16c14
mov word [0x87e02a], 0xf58c
jmp 0x401b36
mov dword [0x87e02d], edx
mov dword [0x87e0bc], 0x11443
mov dword [0x87e0c9], 0x17b2c
mov esi, 0x2c
xor eax, eax
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xbc]
push eax
mov eax, dword [ebp - 0xb8]
push eax
mov eax, dword [ebp - 0xb4]
push eax
call sub.advapi32.dll_RevertToSelf
test eax, eax
jne 0x401b78
lea eax, [0x87e01d]
mov dword [eax + 0x18], esi
sub ecx, dword [0x87e0de]
lea esi, [0x87e03f]
mov dword [esi + 0xc], 0xad
mov dword [0x87e0a7], 0x10549
inc byte [0x87e076]
mov edx, dword [0x87e011]
mov dword [0x87e0e3], esi
mov dword [0x87e041], ecx
mov byte [ebp - 0x269], 0
mov word [0x87e04f], 0x9c20
mov byte [0x87e065], 0x4e
mov dword [0x87e05a], edi
cmp edx, 0xffffffff
jl 0x401bd3
mov esi, 0x1de
mov dword [0x87e01d], edx
mov dword [0x87e057], 0x144da
jmp 0x401be5
mov dword [0x87e056], ebx
mov dword [0x87e0ac], esi
mov dword [0x87e0eb], ecx
cmp esi, dword [ebp - 0x20]
jne 0x401bef
sub ebx, 0x55
jmp 0x401c02
mov byte [0x87e0fc], 0x4d
mov dword [0x87e0f6], esi
add dword [0x87e047], ebx
mov dword [ebp - 0xc0], 0x17d06
mov dword [ebp - 0xc4], 0x1954e
mov eax, 0x402e34
mov dword [ebp - 0xc8], eax
mov eax, 0x402e40
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0xc8]
push eax
mov eax, dword [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0xc0]
push eax
call sub.user32.dll_CloseWindow
cmp dword [0x87e058], 0
jl 0x401c6a
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
inc byte [ebp - 0x269]
cmp byte [ebp - 0x269], 2
jne 0x401ba1
mov byte [ebp - 0x269], 0
lea eax, [ebp - 0xd8]
push eax
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
jne 0x401cde
cmp edi, dword [0x87e055]
jle 0x401cc7
mov byte [0x87e0fb], 0x42
add dword [0x87e0fc], ebx
jmp 0x401ccd
mov dword [0x87e090], ecx
mov dword [0x87e048], edi
mov eax, 0x11
xchg dword [0x87e102], edx
inc byte [ebp - 0x269]
cmp byte [ebp - 0x269], 3
jne 0x401ca0
mov dword [ebp - 0xdc], 0x14d3b
mov dword [ebp - 0xe0], 0x15616
mov eax, 0x402e58
mov dword [ebp - 0xe4], eax
mov eax, 0x402e84
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe8]
push eax
mov eax, dword [ebp - 0xe4]
push eax
mov eax, dword [ebp - 0xe0]
push eax
mov eax, dword [ebp - 0xdc]
push eax
call sub.user32.dll_AnyPopup
test eax, eax
jne 0x401d5c
mov dword [0x87e0fb], edi
mov dword [0x87e0d0], edx
mov dword [0x87e02c], edi
mov dword [0x87e0e9], 0x1701a
mov dword [esp - 0x12], edx
lea eax, [ebp - 0xf0]
push eax
call sub.kernel32.dll_QueryPerformanceCounter
call fcn.004033a0
mov dword [0x87e108], ecx
mov dword [0x87e102], edi
mov dword [0x87e0a0], ebx
cmp byte [0x87e05a], 0
jle 0x401d9d
mov dword [0x87e01e], 0x16c14
mov word [0x87e02a], 0xf58c
jmp 0x401dbc
mov dword [0x87e02d], edx
mov dword [0x87e0bc], 0x11443
mov dword [0x87e0c9], 0x17b2c
mov esi, 0x2c
mov byte [ebp - 0x269], 0
mov dword [0x87e0a1], ecx
mov ebx, 0x164
mov byte [0x87e0ea], 0x9d
mov dword [ebp - 0xf4], 0x19bde
mov dword [ebp - 0xf8], 0x130ff
mov eax, 0x402e94
mov dword [ebp - 0xfc], eax
mov eax, 0x402ea0
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x100]
push eax
mov eax, dword [ebp - 0xfc]
push eax
mov eax, dword [ebp - 0xf8]
push eax
mov eax, dword [ebp - 0xf4]
push eax
call sub.user32.dll_CloseWindow
test eax, eax
jne 0x401e3d
mov dword [0x87e097], ecx
mov byte [0x87e01d], 0x94
mov byte [0x87e0a6], 0x3b
mov edi, 0x42
inc byte [ebp - 0x269]
cmp byte [ebp - 0x269], 3
jne 0x401dc3
mov dword [esp - 0xc], edx
cmp esi, 0xbb
jg 0x401e71
sub dword [0x87e012], eax
mov dword [0x87e044], edi
mov word [0x87e0c1], 0xa1f3
mov dword [0x87e050], eax
mov dword [0x87e028], 0x17e97
lea ecx, [0x87e0fe]
and dword [ecx + 0x18], eax
mov eax, ebx
mov dword [0x87e101], edx
cmp word [0x87e041], 0
jle 0x401ebe
mov dword [0x87e061], 0x164c0
and ebx, 0x40
mov dword [0x87e07b], eax
mov byte [0x87e098], 0xf1
mov dword [0x87e0a4], esi
jmp 0x401ece
sub dword [0x87e0ae], ecx
mov word [0x87e094], 0xc498
inc esi
lea eax, [0x87e04f]
mov dword [eax + 0x1c], 0xd0
mov dword [ebp - 0x104], 0x14a91
mov eax, dword [ebp - 0x104]
push eax
call sub.advapi32.dll_RevertToSelf_1
test eax, eax
jne 0x401f07
xchg dword [0x87e0fc], edx
mov dword [0x87e0a4], esi
mov dword [0x87e0df], ebx
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 eax, eax
je 0x401f48
mov dword [0x87e02e], 0x124e4
xchg dword [esp - 0x12], ecx
mov byte [0x87e0ed], 0xf7
dec dword [0x87e0b8]
mov dword [ebp - 0x114], 0x1abad
mov eax, dword [ebp - 0x114]
push eax
call sub.advapi32.dll_RevertToSelf_1
test eax, eax
jne 0x401f88
mov dword [0x87e08b], 0x138d7
mov dword [0x87e06f], 0x10c4f
mov dword [0x87e0e9], ebx
xchg dword [0x87e079], edi
xchg dword [0x87e087], esi
call fcn.00403c3c
mov byte [ebp - 0x269], 0
mov byte [0x87e029], 0x38
mov dword [0x87e0eb], ebx
mov ecx, esi
xor eax, eax
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x120]
push eax
mov eax, dword [ebp - 0x11c]
push eax
mov eax, dword [ebp - 0x118]
push eax
call sub.advapi32.dll_RevertToSelf
mov dword [0x87e014], esi
mov dword [0x87e042], edx
and ebx, 0x6b
sub dword [0x87e0dc], eax
inc byte [ebp - 0x269]
cmp byte [ebp - 0x269], 2
jne 0x401f94
mov byte [ebp - 0x269], 0
mov dword [ebp - 0x124], 0x1c579
mov dword [ebp - 0x128], 0x1c4b6
mov eax, 0x402eac
mov dword [ebp - 0x12c], eax
mov eax, 0x402eb8
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x130]
push eax
mov eax, dword [ebp - 0x12c]
push eax
mov eax, dword [ebp - 0x128]
push eax
mov eax, dword [ebp - 0x124]
push eax
call sub.user32.dll_CloseWindow
test eax, eax
je 0x40205b
inc byte [0x87e091]
mov byte [0x87e074], 0xd5
mov edx, 0xf5
lea esi, [0x87e09d]
add dword [esi + 0x18], 0x50
inc byte [ebp - 0x269]
cmp byte [ebp - 0x269], 1
jne 0x401ff0
mov dword [ebp - 0x134], 0x1b94c
mov eax, dword [ebp - 0x134]
push eax
call sub.advapi32.dll_RevertToSelf_1
test eax, eax
jne 0x40209b
mov dword [0x87e0a0], ecx
xchg dword [0x87e091], ebx
mov dword [0x87e0d9], esi
mov edx, 0x111
mov byte [0x87e0ea], 0xb6
mov dword [0x87e0af], edi
lea esi, [0x87e0f4]
mov dword [esi + 0x20], 0xb0
mov dword [ebp - 0x138], 0x13cd5
mov eax, dword [ebp - 0x138]
push eax
call sub.advapi32.dll_RevertToSelf_1
test eax, eax
jne 0x4020eb
mov dword [0x87e07a], ecx
and dword [0x87e098], edx
mov dword [0x87e08f], edi
mov dword [0x87e036], edx
xchg dword [esp - 0x12], eax
call fcn.0040305c
lea eax, [ebp - 0x140]
push eax
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
jne 0x402119
mov dword [0x87e061], edi
mov dword [esp - 0xc], edx
xchg dword [0x87e0d6], eax
lea edi, [0x87e0cb]
and dword [edi + 4], edx
mov dword [0x87e0a7], 0x10549
inc byte [0x87e076]
mov edx, dword [0x87e011]
mov dword [0x87e0e3], esi
mov dword [0x87e041], ecx
mov dword [0x87e103], ebx
cmp dword [ebp - 0x28], eax
jne 0x40215d
mov dword [0x87e019], ecx
mov eax, 0x56
mov ebx, 0x76
mov esi, 0x1b3
jmp 0x402163
mov dword [0x87e0d4], ecx
sub edi, 0xb6
mov dword [ebp - 0x144], 0x1071c
mov eax, dword [ebp - 0x144]
push eax
call sub.advapi32.dll_RevertToSelf_1
test eax, eax
je 0x4021a9
mov esi, dword [0x87e061]
cmp edx, 0xe4
jge 0x40219d
mov dword [0x87e033], edi
mov dword [0x87e077], edx
and esi, 0xc4
mov dword [0x87e0d9], eax
mov byte [ebp - 0x269], 0
mov dword [0x87e0a8], ecx
sub dword [0x87e0f9], esi
mov dword [0x87e030], ecx
mov dword [ebp - 0x148], 0x1ed21
mov dword [ebp - 0x14c], 0x1717b
mov eax, 0x402ec4
mov dword [ebp - 0x150], eax
mov eax, 0x402edc
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_CloseWindow
test eax, eax
jne 0x40222f
mov dword [0x87e107], 0x15f32
mov dword [0x87e014], 0x152aa
mov dword [esp - 8], eax
and edi, 0x89
call fcn.0040305c
xchg dword [0x87e038], edi
mov dword [0x87e0af], esi
mov dword [0x87e05d], 0x12c87
inc byte [ebp - 0x269]
cmp byte [ebp - 0x269], 3
jne 0x4021b0
mov dword [0x87e0f2], esi
mov dword [0x87e0ce], edx
mov eax, ebx
mov dword [ebp - 0x158], 0x13e42
mov dword [ebp - 0x15c], 0x1ebb3
mov eax, 0x402ef4
mov dword [ebp - 0x160], eax
mov eax, 0x402f1c
mov dword [ebp - 0x164], eax
mov eax, dword [ebp - 0x164]
push eax
mov eax, dword [ebp - 0x160]
push eax
mov eax, dword [ebp - 0x15c]
push eax
mov eax, dword [ebp - 0x158]
push eax
call sub.user32.dll_AnyPopup
xchg dword [0x87e038], edi
mov dword [0x87e0af], esi
mov dword [0x87e05d], 0x12c87
mov dword [0x87e02f], ebx
xchg dword [0x87e020], edx
cmp word [0x87e04a], 0
jg 0x4022f4
add dword [0x87e092], esi
sub dword [0x87e0f6], ecx
mov dword [0x87e047], eax
mov dword [0x87e098], ebx
xor eax, eax
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x170]
push eax
mov eax, dword [ebp - 0x16c]
push eax
mov eax, dword [ebp - 0x168]
push eax
call sub.advapi32.dll_RevertToSelf
test eax, eax
je 0x40233b
mov byte [0x87e0b5], 0x79
mov dword [0x87e0ff], 0x12473
mov dword [0x87e0d6], ecx
mov dword [esp - 0x20], edx
mov dword [ebp - 0x174], 0x116e7
mov eax, dword [ebp - 0x174]
push eax
call sub.advapi32.dll_RevertToSelf_1
test eax, eax
jne 0x40236f
mov dword [0x87e0bd], ebx
mov esi, 0xa9
mov dword [0x87e0b2], ecx
mov word [0x87e0ac], 0xd23e
call fcn.00403c3c
mov dword [0x87e058], edi
mov dword [0x87e0cd], edx
cmp byte [0x87e105], ah
jle 0x402396
mov dword [0x87e0c9], edi
mov dword [0x87e05e], eax
jmp 0x4023b2
and dword [0x87e036], ecx
mov byte [0x87e0fe], 0xd7
sub dword [0x87e09d], edx
mov word [0x87e027], 0x8f8a
mov dword [ebp - 0x178], 0x1d6c1
mov dword [ebp - 0x17c], 0x1d2bd
mov eax, 0x402f30
mov dword [ebp - 0x180], eax
mov eax, 0x402f48
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x184]
push eax
mov eax, dword [ebp - 0x180]
push eax
mov eax, dword [ebp - 0x17c]
push eax
mov eax, dword [ebp - 0x178]
push eax
call sub.user32.dll_AnyPopup
test eax, eax
je 0x40240f
mov ebx, esi
mov dword [0x87e022], eax
mov dword [0x87e0fa], ebx
mov byte [ebp - 0x269], 0
mov byte [0x87e019], 0xf1
test edx, edx
je 0x40242d
mov dword [0x87e095], eax
mov dword [0x87e01f], edi
add dword [0x87e06a], edx
mov dword [0x87e085], ebx
mov dword [0x87e057], ecx
cmp word [0x87e088], 0x74
jne 0x402463
mov dword [0x87e0a2], eax
mov dword [0x87e038], esi
add dword [0x87e07c], ecx
mov dword [0x87e066], edx
jmp 0x402479
mov dword [0x87e096], 0x14748
mov dword [0x87e02f], ebx
xchg dword [0x87e0a7], edi
mov dword [ebp - 0x188], 0x14a65
mov dword [ebp - 0x18c], 0x174f9
mov eax, 0x402f64
mov dword [ebp - 0x190], eax
mov eax, 0x402f70
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
mov eax, dword [ebp - 0x188]
push eax
call sub.user32.dll_CloseWindow
test eax, eax
je 0x4024e9
sub dword [0x87e0cf], ecx
inc byte [0x87e030]
lea esi, [0x87e05d]
sub dword [esi], 0x4b
mov dword [0x87e0f0], edi
mov dword [0x87e044], edx
call fcn.00403c3c
inc byte [ebp - 0x269]
cmp byte [ebp - 0x269], 3
jne 0x402416
mov dword [0x87e02f], ebx
sub ecx, dword [0x87e0aa]
test cl, cl
je 0x402514
and eax, 0x66
mov dword [0x87e0bd], ecx
lea eax, [ebp - 0x1a0]
push eax
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
jne 0x402555
mov dword [0x87e089], eax
cmp ebx, 0x33
jne 0x402549
mov dword [0x87e0e2], edi
mov dword [0x87e09b], ecx
mov dword [0x87e0f7], esi
jmp 0x40254f
mov dword [0x87e099], ebx
mov dword [0x87e016], ecx
xor eax, eax
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0x1ac]
push eax
mov eax, dword [ebp - 0x1a8]
push eax
mov eax, dword [ebp - 0x1a4]
push eax
call sub.advapi32.dll_RevertToSelf
test eax, eax
jne 0x402591
mov dword [0x87e030], 0x12f23
sub edx, dword [0x87e0de]
mov dword [0x87e0b2], esi
mov dword [0x87e0e2], edi
mov dword [esp - 0x20], eax
mov word [0x87e022], 0x43d4
mov dword [0x87e01f], ecx
mov dword [ebp - 0x1b0], 0x133fa
mov dword [ebp - 0x1b4], 0x1a017
mov eax, 0x402f80
mov dword [ebp - 0x1b8], eax
mov eax, 0x402f94
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp - 0x1bc]
push eax
mov eax, dword [ebp - 0x1b8]
push eax
mov eax, dword [ebp - 0x1b4]
push eax
mov eax, dword [ebp - 0x1b0]
push eax
call sub.user32.dll_AnyPopup
test eax, eax
je 0x402623
add dword [0x87e091], edx
mov dword [0x87e039], 0x1273d
mov dword [0x87e09d], 0x12840
mov dword [0x87e043], edx
mov dword [0x87e0e4], 0x1444b
mov esi, dword [esp + 0x10]
mov dword [0x87e05f], edi
mov word [0x87e0ec], 0xa5ec
mov dword [0x87e0ea], ebx
mov dword [ebp - 0x1c0], 0x1088c
mov eax, dword [ebp - 0x1c0]
push eax
call sub.advapi32.dll_RevertToSelf_1
test eax, eax
jne 0x40266c
mov dword [0x87e05d], esi
mov dword [0x87e09f], ebx
mov dword [0x87e0fb], 0x143ce
mov byte [ebp - 0x269], 0
xor eax, eax
mov dword [ebp - 0x1cc], eax
mov eax, dword [ebp - 0x1cc]
push eax
mov eax, dword [ebp - 0x1c8]
push eax
mov eax, dword [ebp - 0x1c4]
push eax
call sub.advapi32.dll_RevertToSelf
test eax, eax
jne 0x4026a7
mov ebx, edx
mov dword [0x87e0d5], edi
inc dword [0x87e09c]
mov byte [0x87e0d7], 0x17
mov word [0x87e0f8], 0xb7c6
mov dword [0x87e024], 0x1595d
mov dword [esp - 0x18], ecx
sub esi, 0x5a
inc byte [ebp - 0x269]
cmp byte [ebp - 0x269], 1
jne 0x402673
mov dword [ebp - 0x1d0], 0x14a29
mov dword [ebp - 0x1d4], 0x1c32b
mov eax, 0x402fa0
mov dword [ebp - 0x1d8], eax
mov eax, 0x402fb4
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
mov dword [ebp - 0x1e0], 0x1bd70
mov dword [ebp - 0x1e4], 0x1f349
mov eax, 0x402fc8
mov dword [ebp - 0x1e8], eax
mov eax, 0x402fd0
mov dword [ebp - 0x1ec], eax
mov eax, dword [ebp - 0x1ec]
push eax
mov eax, dword [ebp - 0x1e8]
push eax
mov eax, dword [ebp - 0x1e4]
push eax
mov eax, dword [ebp - 0x1e0]
push eax
call sub.user32.dll_CloseWindow
sub dword [0x87e0d1], ecx
mov dword [esp - 8], esi
sub dword [0x87e072], ebx
mov word [0x87e0ee], 0xfc26
cmp cx, word [ebp + 0x24]
jle 0x4027b0
mov dword [0x87e0fa], edi
mov word [0x87e0df], 0x4aad
mov byte [0x87e08e], 0x4c
and dword [0x87e01d], esi
mov dword [0x87e033], ebx
jmp 0x4027cf
add dword [0x87e0c7], edi
lea esi, [0x87e0c0]
mov dword [esi], 0x16
mov byte [0x87e0f4], 0x98
mov dword [0x87e066], edx
inc dword [0x87e0b0]
mov word [0x87e0d0], 0x9f89
mov dword [ebp - 0x1f0], 0x1ebbd
mov eax, dword [ebp - 0x1f0]
push eax
call sub.advapi32.dll_RevertToSelf_1
test eax, eax
jne 0x40281d
mov dword [0x87e063], 0x1299a
mov dword [0x87e032], eax
xchg dword [esp - 0xc], esi
mov byte [0x87e0fd], 0x29
mov dword [0x87e090], 0x14ade
mov dword [ebp - 0x1f4], 0x1c7e9
mov dword [ebp - 0x1f8], 0x168de
mov eax, 0x402fe4
mov dword [ebp - 0x1fc], eax
mov eax, 0x402ff8
mov dword [ebp - 0x200], eax
mov eax, dword [ebp - 0x200]
push eax
mov eax, dword [ebp - 0x1fc]
push eax
mov eax, dword [ebp - 0x1f8]
push eax
mov eax, dword [ebp - 0x1f4]
push eax
call sub.user32.dll_CloseWindow
test eax, eax
jne 0x40288c
dec esi
mov byte [0x87e01f], 0xcd
mov dword [esp - 0x12], ecx
mov dword [0x87e03d], 0x13c8f
mov dword [0x87e08d], 0x107d0
mov dword [ebp - 0x204], 0x1caa7
mov dword [ebp - 0x208], 0x1307f
mov eax, 0x403004
mov dword [ebp - 0x20c], eax
mov eax, 0x40301c
mov dword [ebp - 0x210], eax
mov eax, dword [ebp - 0x210]
push eax
mov eax, dword [ebp - 0x20c]
push eax
mov eax, dword [ebp - 0x208]
push eax
mov eax, dword [ebp - 0x204]
push eax
call sub.user32.dll_CloseWindow
test eax, eax
je 0x4028fa
sub edi, 0x92
mov dword [0x87e087], eax
mov dword [0x87e07b], edx
add eax, 0x51
mov dword [0x87e07b], 0x17a6b
mov dword [ebp - 0x214], 0x1aa36
mov dword [ebp - 0x218], 0x19965
mov eax, 0x403024
mov dword [ebp - 0x21c], eax
mov eax, 0x40303c
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x220]
push eax
mov eax, dword [ebp - 0x21c]
push eax
mov eax, dword [ebp - 0x218]
push eax
mov eax, dword [ebp - 0x214]
push eax
call sub.user32.dll_AnyPopup
mov dword [0x87e09d], eax
mov dword [esp - 0x1c], edx
mov ecx, esi
mov byte [0x87e0a1], 0x7d
cmp byte [0x87e107], 0
jge 0x402989
mov byte [0x87e093], 0x72
mov byte [0x87e094], 0xef
mov dword [0x87e0a6], ecx
and dword [0x87e012], ebx
mov dword [0x87e07a], eax
mov dword [0x87e0b6], esi
jmp 0x402991
sub dword [0x87e024], edi
mov edx, esi
and dword [0x87e052], ebx
mov dword [0x87e06c], edx
lea eax, [ebp - 0x228]
push eax
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
jne 0x4029c9
mov dword [0x87e0c4], ebx
mov dword [0x87e08b], edx
mov dword [0x87e011], edi
mov dword [esp - 4], edx
add dword [0x87e08b], eax
mov dword [ebp - 0x22c], 0x1c9f8
mov eax, dword [ebp - 0x22c]
push eax
call sub.advapi32.dll_RevertToSelf_1
test eax, eax
je 0x4029f9
add dword [0x87e03e], edx
mov dword [0x87e06c], ebx
mov dword [0x87e0cd], 0x10adb
mov dword [esp - 0x28], ebx
sub dword [0x87e101], edx
cmp byte [0x87e06d], 0
jl 0x402a1a
mov dword [0x87e092], esi
mov dword [0x87e048], edx
jmp 0x402a2f
mov edi, 0x170
sub dword [0x87e095], edx
add dword [0x87e07d], ecx
mov ebx, dword [esp + 0x20]
mov dword [0x87e0dd], 0x15ff4
mov dword [0x87e0f3], esi
xor eax, eax
mov dword [ebp - 0x238], eax
mov eax, dword [ebp - 0x238]
push eax
mov eax, dword [ebp - 0x234]
push eax
mov eax, dword [ebp - 0x230]
push eax
call sub.advapi32.dll_RevertToSelf
test eax, eax
jne 0x402a8c
mov byte [0x87e025], 0x2a
mov dword [0x87e070], ebx
mov dword [0x87e039], 0x13bfd
mov dword [0x87e0fb], ecx
mov dword [0x87e07e], 0x13b45
mov dword [0x87e09d], eax
mov dword [esp - 0x1c], edx
mov ecx, esi
mov byte [0x87e0a1], 0x7d
mov dword [0x87e02b], 0x17964
cmp eax, dword [0x87e069]
jne 0x402ac3
mov word [0x87e01d], 0x6b53
mov byte [0x87e0b5], 0xbc
jmp 0x402adf
add edi, dword [0x87e029]
mov dword [0x87e04e], 0x14346
add dword [0x87e027], eax
mov dword [0x87e0a7], edx
mov dword [0x87e06c], 0x177e7
cmp ebx, dword [esp - 0x24]
jg 0x402b05
mov ecx, dword [esp + 0x10]
mov dword [0x87e0f8], esi
lea edi, [0x87e0ab]
add dword [edi], 0xc8
mov byte [0x87e0e7], 0xd4
xchg dword [0x87e034], ecx
lea eax, [ebp - 0x240]
push eax
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
je 0x402b59
cmp edi, 0xffffffff
jle 0x402b35
mov eax, 0x19e
mov word [0x87e03b], 0xb23c
xchg dword [esp - 0xc], edi
add dword [0x87e0da], esi
mov edi, dword [esp + 0x18]
mov dword [0x87e0b8], 0x16b7d
add dword [0x87e0e4], esi
mov dword [0x87e108], ebx
and dword [0x87e0a3], eax
dec edx
cmp ebx, 0x48
je 0x402b73
mov dword [0x87e018], edi
mov dword [0x87e0f0], ebx
jmp 0x402b79
mov dword [0x87e0d7], edx
mov dword [0x87e075], ecx
cmp edx, 0x1a
jge 0x402b8c
mov dword [0x87e044], ebx
jmp 0x402b98
mov dword [0x87e025], edx
mov dword [0x87e05a], edi
xor eax, eax
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x24c]
push eax
mov eax, dword [ebp - 0x248]
push eax
mov eax, dword [ebp - 0x244]
push eax
call sub.advapi32.dll_RevertToSelf
test eax, eax
je 0x402be9
mov dword [esp - 0x20], esi
cmp edx, dword [0x87e03d]
jge 0x402bcd
inc edi
jmp 0x402bd7
mov dword [0x87e084], 0x151bb
mov dword [0x87e049], esi
xchg dword [0x87e101], edi
mov dword [0x87e045], edx
mov dword [0x87e108], ecx
mov dword [0x87e102], edi
mov dword [0x87e0a0], ebx
cmp byte [0x87e05a], 0
jle 0x402c19
mov dword [0x87e01e], 0x16c14
mov word [0x87e02a], 0xf58c
jmp 0x402c38
mov dword [0x87e02d], edx
mov dword [0x87e0bc], 0x11443
mov dword [0x87e0c9], 0x17b2c
mov esi, 0x2c
mov eax, edi
mov dword [0x87e017], ebx
lea edi, [0x87e103]
mov dword [edi + 8], 0xb7
mov esi, ecx
mov dword [0x87e0c0], edx
mov dword [ebp - 0x250], 0x1e984
mov eax, dword [ebp - 0x250]
push eax
call sub.advapi32.dll_RevertToSelf_1
test eax, eax
jne 0x402c81
mov dword [0x87e0b3], ebx
add edi, dword [0x87e106]
mov dword [0x87e032], eax
mov byte [0x87e0ea], 0xb6
mov dword [0x87e0af], edi
lea esi, [0x87e0f4]
mov dword [esi + 0x20], 0xb0
inc esi
mov dword [0x87e0fc], edi
mov dword [0x87e05b], esi
xor eax, eax
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x25c]
push eax
mov eax, dword [ebp - 0x258]
push eax
mov eax, dword [ebp - 0x254]
push eax
call sub.advapi32.dll_RevertToSelf
test eax, eax
jne 0x402cea
mov dword [0x87e105], 0x16f52
mov dword [0x87e067], ecx
mov dword [0x87e0c3], eax
mov dword [0x87e064], edi
lea eax, [ebp - 0x268]
push eax
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
je 0x402d12
mov dword [0x87e08d], ebx
mov word [0x87e04f], 0xdb5a
mov word [0x87e0b3], 0xbd41
mov esp, ebp
pop ebp
ret