Function at 0x100072f0
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1009aa20
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x27c
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov eax, dword [0x100c3110]
mov ecx, dword [0x100c3114]
mov dword [ebp - 0x264], ecx
mov word [ebp - 0x134], ax
mov dword [ebp - 0x38], 0x3345f396
mov edx, 0xffffb7a0
mov word [ebp - 0x44], dx
xor eax, eax
mov dword [ebp - 0x9c], 0x22d26b75
mov dword [ebp - 0x98], eax
movsx eax, word [0x100c3118]
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
xor ecx, ecx
mov dword [ebp - 0x78], 0x3b78
mov dword [ebp - 0x74], ecx
mov edx, dword [0x100c30c8]
mov eax, dword [0x100c30cc]
mov dword [ebp - 0x25c], eax
mov byte [ebp - 0x12], dl
xor ecx, ecx
mov dword [ebp - 0x34], 0x603e5660
mov dword [ebp - 0x30], ecx
mov dx, word [0x100c3088]
mov word [ebp - 0x1c], dx
mov dword [ebp - 0x7c], 0x49a09f2e
xor eax, eax
mov dword [ebp - 0x40], 0xa8
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x48], 0xd0d7b0db
xor ecx, ecx
mov dword [ebp - 0x118], 3
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x64], 0x2b2123bf
mov byte [ebp - 0x11], 0x9c
mov edx, dword [0x100c30d8]
mov eax, dword [0x100c30dc]
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x70], 0x9b
xor ecx, ecx
mov dword [ebp - 0x50], 0xc34bde4f
mov dword [ebp - 0x4c], ecx
mov byte [ebp - 0x13], 0xa6
movsx edx, word [0x100c3090]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x60], 0x413c
mov ax, word [0x100c30fc]
mov word [ebp - 0x18], ax
movzx cx, byte [0x100c3063]
mov word [ebp - 0x24], cx
mov dx, word [0x100c30a0]
mov word [ebp - 0x20], dx
mov eax, dword [0x100c30d0]
mov ecx, dword [0x100c30d4]
mov dword [ebp - 0x258], ecx
mov dword [ebp - 0x5c], eax
mov edx, dword [0x100c30d0]
mov eax, dword [0x100c30d4]
mov dword [ebp - 0x250], eax
mov byte [ebp - 0x7f], dl
mov cx, word [0x100c3118]
mov word [ebp - 0x138], cx
mov edx, dword [0x100c3120]
mov eax, dword [0x100c3124]
mov dword [ebp - 0x24c], eax
mov byte [ebp - 0x80], dl
mov ecx, dword [0x100c30f8]
mov dword [ebp - 0x254], ecx
movsx eax, byte [str.NDisablePerfBackoff]
cdq
mov dword [ebp - 0x26c], eax
mov dword [ebp - 0x268], edx
mov dl, byte [0x100c30a0]
mov byte [ebp - 0x81], dl
mov al, byte [0x100c30a0]
mov byte [ebp - 0x82], al
mov ecx, 0x51e
mov word [ebp - 0x13c], cx
movzx eax, byte [0x100c3063]
cdq
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x270], edx
mov edx, 0xfffff59e
mov word [ebp - 0x140], dx
mov eax, dword [0x100c30d0]
mov ecx, dword [0x100c30d4]
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x278], ecx
movsx eax, byte [0x100c3075]
cdq
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x280], edx
mov dl, byte [0x100c3062]
mov byte [ebp - 0x83], dl
mov dword [ebp - 0x224], 0xd5
mov dword [ebp - 0x260], 0x72
mov eax, dword [0x100c30b8]
mov ecx, dword [0x100c30bc]
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x288], ecx
movzx edx, byte [0x100c303b]
mov dword [ebp - 0x228], edx
mov dword [ebp - 0x88], 0
jmp 0x1000755c
mov eax, dword [ebp - 0x88]
add eax, 1
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0x267
jge 0x1000765c
call dword [sym.imp.USER32.dll_IsWow64Message]
xor ecx, ecx
mov dword [0x100c3080], eax
mov dword [0x100c3084], ecx
mov edx, dword [0x100c3080]
or edx, dword [0x100c3084]
je 0x100075ea
mov eax, dword [str.FailedtogetInvento]
mov dword [ebp - 0x220], eax
mov ecx, dword [0x1009b40c]
mov dword [ebp - 0x21c], ecx
mov edx, dword [0x1009b410]
mov dword [ebp - 0x218], edx
mov eax, dword [0x1009b414]
mov dword [ebp - 0x214], eax
mov cx, word [0x1009b418]
mov word [ebp - 0x210], cx
mov dl, byte [0x1009b41a]
mov byte [ebp - 0x20e], dl
lea eax, [ebp - 0x220]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov word [0x100c3088], ax
jmp 0x1000764e
mov ecx, 2
imul edx, ecx, 0x43
mov ax, word [edx + 0x1017a490]
mov word [0x100c3090], ax
mov cl, byte [0x100c3b38]
mov byte [0x100c303b], cl
movzx edx, word [ebp - 0x20]
add edx, 0x7c0208ca
mov dword [0x100c30f8], edx
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x98]
mov dword [ebp - 0x22c], ecx
sub eax, 0x37
mov byte [0x100c3062], al
mov edx, 2
imul eax, edx, 0x321b
mov cx, word [0x100c308c]
mov word [eax + 0x1016f650], cx
mov edx, dword [ebp - 0x28]
add edx, 1
mov dword [ebp - 0x28], edx
jmp 0x1000754d
mov eax, dword [0x100c3b38]
mov dword [ebp - 0x8c], eax
mov ecx, dword [0x100c3098]
mov edx, dword [0x100c309c]
mov dword [ebp - 0x1d4], ecx
mov dword [ebp - 0x1d0], edx
mov eax, dword [ebp - 0x74]
cmp eax, dword [ebp - 0x1d0]
ja 0x100076a3
jb 0x10007697
mov ecx, dword [ebp - 0x78]
cmp ecx, dword [ebp - 0x1d4]
ja 0x100076a3
mov dword [ebp - 0xb0], 1
jmp 0x100076ad
mov dword [ebp - 0xb0], 0
cmp dword [ebp - 0x74], 0
ja 0x100076c7
jb 0x100076bb
cmp dword [ebp - 0x78], 0x4c
ja 0x100076c7
mov dword [ebp - 0xb4], 1
jmp 0x100076d1
mov dword [ebp - 0xb4], 0
mov edx, dword [ebp - 0xb0]
cmp edx, dword [ebp - 0xb4]
jl 0x100077a3
movzx eax, word [0x100c30e0]
sub eax, 0x3868575
xor ecx, ecx
mov dword [0x100c3100], eax
mov dword [0x100c3104], ecx
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov cl, 5
call fcn.1008ebd0
mov word [0x100c30fc], ax
movsx edx, word [ebp - 0x44]
test edx, edx
jne 0x1000772b
xor eax, eax
mov dword [ebp - 0x130], 1
mov dword [ebp - 0x12c], eax
jmp 0x10007736
xorps xmm0, xmm0
movlpd qword [ebp - 0x130], xmm0
mov ecx, dword [0x100c30f0]
not ecx
mov edx, dword [0x100c30f4]
not edx
push edx
push ecx
mov eax, dword [ebp - 0x12c]
push eax
mov ecx, dword [ebp - 0x130]
push ecx
call fcn.1008eb70
mov ebx, eax
sub ebx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x60]
movzx eax, word [ebp - 0x18]
cdq
mov ecx, dword [0x100c3120]
mov edi, dword [0x100c3124]
push edx
push eax
push edi
push ecx
call fcn.1008eb70
sub esi, eax
sub ebx, esi
mov byte [0x100c3063], bl
movzx eax, byte [0x100c3063]
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
movzx dx, byte [ebp - 0x13]
mov word [ebp - 0x20], dx
jmp 0x10007831
movsx eax, word [0x100c3088]
imul ecx, eax, 0xf0
mov dword [ebp - 0x38], ecx
mov eax, dword [0x100c3108]
cdq
mov ecx, eax
add ecx, 0x445bb1b8
mov eax, dword [0x100c30f8]
cdq
sub eax, ecx
mov dword [0x100c30f8], eax
mov ecx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x4c]
sub ecx, dword [ebp - 0x50]
sbb esi, edx
not ecx
not esi
movzx eax, word [ebp - 0x18]
not eax
cdq
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov ecx, eax
mov esi, edx
movsx eax, word [0x100c3118]
movzx edx, byte [0x100c3062]
sub eax, edx
movzx edx, word [0x100c30a0]
sub eax, edx
cdq
sub ecx, eax
sbb esi, edx
mov dword [0x100c3110], ecx
mov dword [0x100c3114], esi
movsx eax, word [0x100c3090]
cdq
mov dword [0x100c3080], eax
mov dword [0x100c3084], edx
mov eax, dword [ebp - 0x8c]
add eax, 0x6cc
mov dword [ebp - 0x1c4], eax
mov ecx, dword [0x100c30c8]
mov edx, dword [0x100c30cc]
mov dword [ebp - 0x1dc], ecx
mov dword [ebp - 0x1d8], edx
mov eax, dword [ebp - 0x1dc]
or eax, dword [ebp - 0x1d8]
jne 0x10007874
mov dword [ebp - 0xb8], 1
jmp 0x1000787e
mov dword [ebp - 0xb8], 0
mov ecx, dword [ebp - 0x7c]
not ecx
movzx edx, word [0x100c30b0]
sub ecx, edx
add ecx, dword [ebp - 0xb8]
jne 0x100078a8
xor eax, eax
mov dword [ebp - 0xf0], 1
mov dword [ebp - 0xec], eax
jmp 0x100078b3
xorps xmm0, xmm0
movlpd qword [ebp - 0xf0], xmm0
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ebp - 0xec]
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], edx
movzx eax, word [0x100c30e0]
add eax, 0x773566d2
cdq
mov dword [0x100c3100], eax
mov dword [0x100c3104], edx
mov eax, dword [ebp - 0x38]
xor ecx, ecx
sub eax, 0xf708f3ab
sbb ecx, 0x9e17c
mov dword [0x100c3080], eax
mov dword [0x100c3084], ecx
mov edx, 4
imul eax, edx, 0x3a
movzx ecx, word [ebp - 0x24]
or ecx, dword [eax + 0x10118848]
mov word [ebp - 0x24], cx
movzx edx, word [ebp - 0x20]
movzx eax, byte [ebp - 0x11]
sub edx, eax
mov word [ebp - 0x20], dx
mov ecx, dword [ebp - 0x8c]
add ecx, 0x848
mov dword [ebp - 0x148], ecx
movsx edx, word [0x100c308c]
not edx
mov word [ebp - 0x1c], dx
movzx eax, word [0x100c30e0]
cdq
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x68]
mov dword [ebp - 0x230], edx
add eax, ecx
mov word [0x100c30e0], ax
mov eax, dword [ebp - 0x28]
or eax, dword [0x100c3080]
mov word [ebp - 0x1c], ax
mov ecx, dword [ebp - 0x64]
and ecx, 0xdac7
mov byte [0x100c303b], cl
mov eax, dword [0x100c30f8]
shl eax, 6
cdq
mov dword [0x100c30c0], eax
mov dword [0x100c30c4], edx
mov edx, dword [ebp - 0x8c]
add edx, 0x679
mov dword [ebp - 0xa8], edx
movzx eax, word [0x100c30b0]
cdq
mov dword [ebp - 0x1e4], eax
mov dword [ebp - 0x1e0], edx
mov eax, dword [ebp - 0x1e0]
cmp eax, dword [ebp - 0x74]
ja 0x100079d1
jb 0x100079c5
mov ecx, dword [ebp - 0x1e4]
cmp ecx, dword [ebp - 0x78]
jae 0x100079d1
mov dword [ebp - 0xbc], 1
jmp 0x100079db
mov dword [ebp - 0xbc], 0
movzx edx, word [0x100c30b0]
cmp edx, 0x1a
jge 0x100079f3
mov dword [ebp - 0xc0], 1
jmp 0x100079fd
mov dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0xbc]
cmp eax, dword [ebp - 0xc0]
jg 0x10007baa
movzx ecx, byte [ebp - 0x11]
cmp dword [ebp - 0x38], ecx
ja 0x10007a58
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0
je 0x10007a53
mov edx, dword [ebp - 0x90]
push edx
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [ebp - 0x234], eax
mov eax, dword [ebp - 0x90]
push eax
call dword [sym.imp.USER32.dll_ArrangeIconicWindows]
mov dword [ebp - 0x238], eax
jmp 0x10007ba8
movsx eax, word [ebp - 0x44]
cdq
mov ecx, dword [0x100c3098]
mov esi, dword [0x100c309c]
mov dword [ebp - 0x1ec], eax
mov dword [ebp - 0x1e8], edx
mov dword [ebp - 0x1f4], ecx
mov dword [ebp - 0x1f0], esi
mov edx, dword [ebp - 0x1ec]
cmp edx, dword [ebp - 0x1f4]
jne 0x10007aa1
mov eax, dword [ebp - 0x1e8]
cmp eax, dword [ebp - 0x1f0]
je 0x10007b25
mov ecx, dword [0x100c30a8]
mov edx, dword [0x100c30ac]
push 0
push 0x111f5dc1
push edx
push ecx
call fcn.1008eb70
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], esi
mov edx, dword [0x100c30f8]
sub edx, 0x1c
mov word [ebp - 0x1c], dx
movsx eax, word [0x100c308c]
shl eax, 3
mov dword [ebp - 0x5c], eax
mov ecx, dword [0x100c3100]
mov edx, dword [0x100c3104]
mov dword [ebp - 0x23c], edx
sub ecx, 0xd5
mov word [0x100c30b0], cx
mov eax, dword [0x100c30b8]
sub eax, 0x29641802
mov word [ebp - 0x20], ax
movzx eax, word [ebp - 0x18]
sub eax, 0x6c
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
jmp 0x10007ba8
mov ecx, 0x7ae91658
or ecx, 0x76e30
je 0x10007ba8
mov dl, byte [0x100c3b38]
mov byte [ebp - 0x13], dl
movzx eax, word [ebp - 0x18]
imul ecx, eax, 0xde01
mov edx, dword [ebp - 0x60]
imul edx, ecx
mov dword [ebp - 0x60], edx
movsx eax, word [ebp - 0x1c]
movsx ecx, word [0x100c3088]
sub eax, ecx
mov dword [0x100c30f8], eax
movsx eax, word [0x100c3088]
and eax, 0x769e36cf
cdq
mov dword [0x100c3120], eax
mov dword [0x100c3124], edx
mov edx, dword [ebp - 0x118]
add edx, 0xe6
mov eax, dword [ebp - 0x114]
adc eax, 0
mov dword [0x100c30d8], edx
mov dword [0x100c30dc], eax
mov eax, dword [0x100c3108]
cdq
sub eax, 0x9b888294
mov byte [0x100c3062], al
jmp 0x10007c1e
movzx ecx, byte [0x100c3062]
movzx edx, word [0x100c30a0]
cmp ecx, edx
jg 0x10007bc8
mov dword [ebp - 0xc4], 1
jmp 0x10007bd2
mov dword [ebp - 0xc4], 0
movzx eax, byte [ebp - 0x11]
cmp dword [ebp - 0xc4], eax
jne 0x10007c1e
mov ecx, dword [ebp - 0x70]
add ecx, 0x5f6fe287
mov word [ebp - 0x18], cx
mov edx, dword [ebp - 0x28]
xor eax, eax
mov ecx, dword [0x100c3084]
push ecx
mov ecx, dword [0x100c3080]
push ecx
push eax
push edx
call fcn.1008eb70
mov edx, dword [ebp - 0x28]
sub edx, eax
mov dword [ebp - 0x28], edx
xor eax, eax
mov dword [0x100c30a8], 4
mov dword [0x100c30ac], eax
mov ecx, dword [ebp + 0xc]
push ecx
push 0x104
mov edx, dword [ebp + 8]
push edx
call fcn.100919c6
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
xor ecx, ecx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ecx
cmp dword [ebp + 0x10], 0
je 0x10007f55
mov edx, dword [ebp + 0x10]
movzx eax, word [edx]
test eax, eax
je 0x10007f55
mov ecx, dword [0x100c310c]
xor edx, edx
mov dword [ebp - 0x1fc], ecx
mov dword [ebp - 0x1f8], edx
mov eax, dword [ebp - 0x1fc]
cmp eax, dword [ebp - 0x78]
jne 0x10007c87
mov ecx, dword [ebp - 0x1f8]
cmp ecx, dword [ebp - 0x74]
je 0x10007e71
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x240], eax
movzx ecx, dx
push ecx
push 0
call fcn.10051570
add esp, 8
cwde
cdq
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x98], edx
movzx edx, byte [ebp - 0x13]
movsx eax, byte [ebp - 0x12]
cmp edx, eax
jge 0x10007cc7
mov dword [ebp - 0xc8], 1
jmp 0x10007cd1
mov dword [ebp - 0xc8], 0
mov ecx, dword [ebp - 0xc8]
sub ecx, dword [ebp - 0x5c]
je 0x10007dc0
mov eax, dword [ebp - 0x5c]
cdq
mov ecx, eax
mov esi, edx
movzx eax, word [ebp - 0x24]
cdq
sub eax, dword [ebp - 0x58]
sbb edx, dword [ebp - 0x54]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x204], ecx
mov dword [ebp - 0x200], esi
mov edx, dword [ebp - 0x204]
or edx, dword [ebp - 0x200]
jne 0x10007d25
xor eax, eax
mov dword [ebp - 0x20c], 1
mov dword [ebp - 0x208], eax
jmp 0x10007d30
xorps xmm0, xmm0
movlpd qword [ebp - 0x20c], xmm0
mov ecx, dword [0x100c3100]
mov edx, dword [0x100c3104]
and ecx, dword [ebp - 0x58]
and edx, dword [ebp - 0x54]
push edx
push ecx
mov eax, dword [0x100c30f4]
push eax
mov ecx, dword [0x100c30f0]
push ecx
call fcn.1008eb70
mov edx, dword [ebp - 0x20c]
sub edx, eax
mov byte [ebp - 0x11], dl
mov ax, word [0x100c30fc]
mov ecx, 2
imul edx, ecx, 0x32
mov word [edx + 0x10192bf0], ax
mov ecx, dword [0x100c310c]
add ecx, 0x6e925fa1
movzx eax, byte [0x100c3062]
cdq
sub eax, ecx
mov byte [0x100c3062], al
mov eax, dword [ebp - 0x7c]
cdq
push 0x44576
push 0xb8b99c55
push edx
push eax
call fcn.1008eb70
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movzx edx, word [ebp - 0x18]
movzx eax, byte [ebp - 0x13]
imul edx, eax
mov word [ebp - 0x18], dx
jmp 0x10007e6c
mov ecx, dword [0x100c30b8]
or ecx, dword [0x100c30bc]
jne 0x10007dda
mov dword [ebp - 0xcc], 1
jmp 0x10007de4
mov dword [ebp - 0xcc], 0
movzx edx, byte [0x100c3063]
cmp edx, dword [ebp - 0xcc]
jne 0x10007dff
mov dword [ebp - 0xd0], 1
jmp 0x10007e09
mov dword [ebp - 0xd0], 0
mov eax, dword [ebp - 0xd0]
not eax
test eax, eax
jne 0x10007e6c
mov ecx, 0xa25c
test ecx, ecx
jne 0x10007e6c
movsx eax, byte [0x100c3075]
cdq
mov ecx, dword [0x100c3098]
mov esi, dword [0x100c309c]
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov dword [0x100c3098], eax
mov dword [0x100c309c], edx
movzx edx, word [0x100c30e0]
imul edx, dword [ebp - 0x64]
mov word [0x100c30e0], dx
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
sub eax, 0x74bb0185
sbb ecx, 0
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ecx
jmp 0x10007f47
movsx edx, word [ebp - 0x1c]
test edx, edx
je 0x10007f47
movsx eax, word [0x100c30fc]
add eax, 0x1c16cc4c
mov word [ebp - 0x44], ax
movzx eax, byte [0x100c303b]
cdq
sub eax, 0xd559701a
sbb edx, 0x3d08a
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov ecx, 0x5f
mov word [0x100c308c], cx
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [0x100c3100]
mov esi, dword [0x100c3104]
push esi
push ecx
push eax
push edx
call fcn.1008eb70
mov ecx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], esi
movsx eax, byte [str.NDisablePerfBackoff]
sub eax, 0x414b4633
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
movsx edx, word [ebp - 0x1c]
test edx, edx
jne 0x10007f0c
xor eax, eax
mov dword [ebp - 0x150], 1
mov dword [ebp - 0x14c], eax
jmp 0x10007f17
xorps xmm0, xmm0
movlpd qword [ebp - 0x150], xmm0
mov eax, dword [0x100c3108]
cdq
mov ecx, dword [0x100c30e8]
mov edx, dword [0x100c30ec]
mov dword [ebp - 0x244], edx
xor ecx, eax
add ecx, dword [ebp - 0x150]
movzx eax, word [ebp - 0x18]
not eax
cdq
sub ecx, eax
mov word [0x100c30fc], cx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
push 0x1009b41c
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
xor edx, edx
mov dword [0x100c3100], eax
mov dword [0x100c3104], edx
mov eax, dword [0x100c3100]
mov ecx, dword [0x100c3104]
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x154], ecx
mov edx, dword [ebp - 0x158]
or edx, dword [ebp - 0x154]
je 0x10008053
mov ax, word [0x100c3b38]
mov word [ebp - 0x20], ax
movsx ecx, word [0x100c30fc]
movzx edx, byte [ebp - 0x11]
lea eax, [edx + ecx - 0x995e]
mov byte [ebp - 0x11], al
movzx ecx, byte [0x100c3062]
movsx edx, word [0x100c308c]
add ecx, edx
movzx eax, word [0x100c30b0]
movzx edx, byte [0x100c3062]
sub eax, edx
not eax
add ecx, eax
mov dword [ebp - 0x48], ecx
movsx eax, word [ebp - 0x1c]
test eax, eax
je 0x10007ff3
movzx ecx, byte [0x100c303b]
mov dword [ebp - 0xd4], ecx
jmp 0x10007ffc
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0xd4], edx
mov eax, dword [ebp - 0xd4]
cdq
mov dword [0x100c3110], eax
mov dword [0x100c3114], edx
mov eax, dword [ebp - 0x58]
or eax, dword [ebp - 0x54]
je 0x1000802a
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0xf4], edx
jmp 0x1000803a
mov eax, dword [ebp - 0x70]
cdq
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], edx
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x7c], eax
mov cx, word [0x100c3b38]
mov word [ebp - 0x20], cx
jmp 0x1000841b
movsx eax, word [0x100c3088]
cdq
mov ecx, dword [0x100c3100]
mov esi, dword [0x100c3104]
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x15c], edx
mov dword [ebp - 0x168], ecx
mov dword [ebp - 0x164], esi
mov edx, dword [ebp - 0x15c]
cmp edx, dword [ebp - 0x164]
jb 0x100081de
ja 0x100080a5
mov eax, dword [ebp - 0x160]
cmp eax, dword [ebp - 0x168]
jb 0x100081de
movsx ecx, word [0x100c308c]
mov edx, 0x9db5ee25
sub edx, dword [ebp - 0x28]
imul ecx, edx
test ecx, ecx
jne 0x100080c1
mov byte [ebp - 0x29], 1
jmp 0x100080c5
mov byte [ebp - 0x29], 0
mov al, byte [ebp - 0x29]
mov byte [0x100c3062], al
movsx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [0x100c3098]
mov esi, dword [0x100c309c]
add ecx, eax
adc esi, edx
movzx eax, byte [0x100c3062]
movsx edx, word [ebp - 0x1c]
xor eax, edx
cdq
add ecx, eax
adc esi, edx
mov dword [0x100c3100], ecx
mov dword [0x100c3104], esi
movzx eax, word [ebp - 0x20]
movsx ecx, word [0x100c3088]
add eax, ecx
movsx edx, byte [ebp - 0x12]
mov ecx, 0xecc9bfa0
sub ecx, edx
add eax, ecx
not eax
xor edx, edx
mov dword [0x100c30d0], eax
mov dword [0x100c30d4], edx
movsx eax, word [0x100c308c]
cdq
mov ecx, dword [0x100c3100]
mov esi, dword [0x100c3104]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x170], ecx
mov dword [ebp - 0x16c], esi
mov edx, dword [ebp - 0x170]
or edx, dword [ebp - 0x16c]
jne 0x1000816f
xor eax, eax
mov dword [ebp - 0x178], 1
mov dword [ebp - 0x174], eax
jmp 0x1000817a
xorps xmm0, xmm0
movlpd qword [ebp - 0x178], xmm0
mov ecx, dword [0x100c30c8]
mov edx, dword [0x100c30cc]
mov dword [ebp - 0x248], edx
not ecx
add ecx, dword [0x100c3080]
and ecx, dword [ebp - 0x178]
mov byte [ebp - 0x13], cl
mov dword [ebp - 0x60], 0x1627
cmp dword [0x100c30f8], 0
jne 0x100081b9
mov dword [ebp - 0xd8], 1
jmp 0x100081c3
mov dword [ebp - 0xd8], 0
movzx eax, byte [ebp - 0x11]
not eax
imul eax, dword [ebp - 0x70]
imul eax, dword [ebp - 0xd8]
not eax
mov dword [ebp - 0x38], eax
jmp 0x1000841b
movzx ecx, byte [ebp - 0x13]
or ecx, dword [ebp - 0x60]
jne 0x100081fb
xor edx, edx
mov dword [ebp - 0x100], 1
mov dword [ebp - 0xfc], edx
jmp 0x10008206
xorps xmm0, xmm0
movlpd qword [ebp - 0x100], xmm0
mov eax, dword [0x100c3098]
mov ecx, dword [0x100c309c]
add eax, 0xc5fb
adc ecx, 0
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x17c], ecx
mov edx, dword [ebp - 0xfc]
cmp edx, dword [ebp - 0x17c]
ja 0x100082d3
jb 0x1000824b
mov eax, dword [ebp - 0x100]
cmp eax, dword [ebp - 0x180]
ja 0x100082d3
mov ecx, dword [ebp - 0x60]
movzx edx, word [ebp - 0x24]
lea eax, [edx + ecx - 2]
mov word [ebp - 0x24], ax
mov eax, dword [ebp - 0x64]
cdq
push 0xd2aec
push 0xd06a44ce
push edx
push eax
call fcn.1008eb70
mov dword [0x100c30f8], eax
movsx ecx, word [0x100c308c]
mov edx, dword [ebp - 0x28]
lea eax, [ecx + edx + 0xd734]
mov word [0x100c308c], ax
mov ecx, dword [ebp - 0x5c]
mov dword [0x100c30f8], ecx
movzx edx, word [0x100c30b0]
add edx, 0x1b29
mov dword [ebp - 0x28], edx
mov eax, dword [0x100c30d8]
not eax
mov ecx, dword [0x100c30dc]
not ecx
mov edx, dword [0x100c3100]
mov esi, dword [0x100c3104]
push esi
push edx
push ecx
push eax
call fcn.1008eb70
mov word [0x100c30a0], ax
jmp 0x1000841b
cmp dword [ebp - 0x38], 0
jne 0x100082ed
xor eax, eax
mov dword [ebp - 0x108], 1
mov dword [ebp - 0x104], eax
jmp 0x100082f8
xorps xmm0, xmm0
movlpd qword [ebp - 0x108], xmm0
cmp dword [ebp - 0x108], 0xd8b53e1e
jne 0x1000841b
cmp dword [ebp - 0x104], 0x9db5b
jne 0x1000841b
movsx eax, byte [ebp - 0x12]
not eax
cdq
mov esi, eax
movzx eax, word [0x100c30e0]
cdq
mov ecx, dword [0x100c30d0]
mov edi, dword [0x100c30d4]
push edx
push eax
push edi
push ecx
call fcn.1008eb70
sub esi, eax
mov dword [ebp - 0x38], esi
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x188], edx
mov dword [ebp - 0x184], eax
mov ecx, dword [ebp - 0x188]
or ecx, dword [ebp - 0x184]
jne 0x10008377
xor edx, edx
mov dword [ebp - 0x110], 1
mov dword [ebp - 0x10c], edx
jmp 0x10008382
xorps xmm0, xmm0
movlpd qword [ebp - 0x110], xmm0
movsx eax, word [0x100c3088]
sub eax, dword [ebp - 0x70]
not eax
cdq
mov esi, eax
mov edi, edx
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x40]
push ecx
mov edx, dword [ebp - 0x10c]
push edx
mov eax, dword [ebp - 0x110]
push eax
call fcn.1008eb70
sub esi, eax
sbb edi, edx
mov dword [ebp - 0x190], esi
mov dword [ebp - 0x18c], edi
mov ecx, dword [ebp - 0x190]
or ecx, dword [ebp - 0x18c]
jne 0x100083d7
mov edx, 1
mov word [ebp - 0x7e], dx
jmp 0x100083dd
xor eax, eax
mov word [ebp - 0x7e], ax
mov cx, word [ebp - 0x7e]
mov word [ebp - 0x1c], cx
mov eax, dword [ebp - 0x64]
sub eax, 0x726f26b1
cdq
mov dword [0x100c3080], eax
mov dword [0x100c3084], edx
mov edx, 0x38ac3
mov dword [0x100c3110], 0x75cf7f9f
mov dword [0x100c3114], edx
movzx eax, word [ebp - 0x20]
sub eax, 0x86
mov word [ebp - 0x18], ax
cmp dword [ebp + 0x14], 0
je 0x10008538
mov ecx, dword [ebp + 0x14]
movzx edx, word [ecx]
test edx, edx
je 0x10008538
mov eax, dword [0x100c3080]
add eax, 0x5e3e67fa
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x38]
xor edx, edx
push edx
push ecx
mov eax, dword [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x40]
push ecx
call fcn.1008eb70
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x5c]
not eax
cdq
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x194], edx
mov edx, dword [ebp - 0x198]
or edx, dword [ebp - 0x194]
jne 0x10008495
xor eax, eax
mov dword [ebp - 0x120], 1
mov dword [ebp - 0x11c], eax
jmp 0x100084a0
xorps xmm0, xmm0
movlpd qword [ebp - 0x120], xmm0
mov ecx, dword [0x100c3110]
mov edx, dword [0x100c3114]
mov eax, dword [ebp - 0x11c]
push eax
mov eax, dword [ebp - 0x120]
push eax
push edx
push ecx
call fcn.1008eb70
mov word [0x100c3118], ax
mov ecx, dword [0x100c3108]
imul ecx, dword [ebp - 0x70]
mov dword [0x100c3108], ecx
movzx eax, word [0x100c30b0]
cdq
mov ecx, dword [ebp - 0x40]
sub ecx, eax
mov eax, dword [ebp - 0x3c]
sbb eax, edx
mov edx, dword [ebp - 0x40]
sub edx, ecx
mov ecx, dword [ebp - 0x3c]
sbb ecx, eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], ecx
mov edx, dword [0x100c3b38]
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x48]
xor ecx, ecx
add eax, dword [0x100c30b8]
adc ecx, dword [0x100c30bc]
add eax, dword [0x100c30b8]
adc ecx, dword [0x100c30bc]
mov dword [0x100c30b8], eax
mov dword [0x100c30bc], ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
mov ecx, dword [0x100c30d0]
mov edx, dword [0x100c30d4]
mov dword [ebp - 0x1a0], ecx
mov dword [ebp - 0x19c], edx
mov eax, dword [ebp - 0x19c]
cmp eax, dword [0x100c30f4]
jb 0x1000857a
ja 0x1000856e
mov ecx, dword [ebp - 0x1a0]
cmp ecx, dword [0x100c30f0]
jbe 0x1000857a
mov dword [ebp - 0xdc], 1
jmp 0x10008584
mov dword [ebp - 0xdc], 0
mov edx, dword [0x100c30d0]
mov eax, dword [0x100c30d4]
mov dword [ebp - 0x1a8], edx
mov dword [ebp - 0x1a4], eax
cmp dword [ebp - 0x1a4], 0
ja 0x100085ad
cmp dword [ebp - 0x1a8], 0x22
jbe 0x100085b9
mov dword [ebp - 0xe0], 1
jmp 0x100085c3
mov dword [ebp - 0xe0], 0
mov ecx, dword [ebp - 0xdc]
cmp ecx, dword [ebp - 0xe0]
jl 0x100087a0
mov dword [ebp - 4], 0
mov dword [ebp - 0x94], 0
jmp 0x100085f7
mov edx, dword [ebp - 0x94]
add edx, 2
mov dword [ebp - 0x94], edx
cmp dword [ebp - 0x94], 0x2ba
jge 0x10008617
call dword [sym.imp.USER32.dll_GetMessagePos]
mov word [ebp - 0x18], ax
mov al, byte [ebp - 0x12]
add al, 1
mov byte [ebp - 0x12], al
jmp 0x100085e8
jmp 0x1000878b
mov dword [ebp - 4], 0xffffffff
jmp 0x1000879b
jmp 0x10008a2c
movsx edx, word [0x100c30fc]
cmp edx, dword [ebp - 0x5c]
jle 0x1000887e
movsx eax, word [0x100c30fc]
and eax, dword [ebp - 0x28]
movsx ecx, word [0x100c30fc]
add ecx, eax
mov word [0x100c30fc], cx
movsx edx, word [ebp - 0x44]
imul edx, dword [0x100c3108]
add edx, dword [0x100c3108]
mov dword [0x100c3108], edx
mov eax, dword [ebp - 0x48]
xor ecx, ecx
push 0x8a219
push 0xfeb5c094
push ecx
push eax
call fcn.1008eb70
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x68]
mov cl, 8
call fcn.1008ebb0
mov word [ebp - 0x1c], ax
imul edx, dword [0x100c310c], 0x7302
mov word [0x100c3088], dx
movsx eax, byte [0x100c3027]
add eax, dword [0x100c3108]
cdq
mov ecx, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x68]
add ecx, eax
adc esi, edx
movzx eax, byte [ebp - 0x11]
not eax
movsx edx, word [0x100c308c]
and eax, edx
cdq
xor edi, edi
mov ebx, dword [0x100c30c8]
mov dword [ebp - 0x144], ecx
mov ecx, dword [0x100c30cc]
add ebx, dword [ebp - 0x28]
adc ecx, edi
sub eax, ebx
sbb edx, ecx
push edx
push eax
push esi
mov ecx, dword [ebp - 0x144]
push ecx
call fcn.1008eb70
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
jmp 0x10008a2c
movsx edx, word [0x100c3088]
test edx, edx
je 0x100088ba
mov eax, dword [0x100c3110]
mov ecx, dword [0x100c3114]
mov dword [ebp - 0x1cc], eax
mov dword [ebp - 0x1c8], ecx
mov edx, dword [ebp - 0x1cc]
or edx, dword [ebp - 0x1c8]
je 0x100088ba
mov dword [ebp - 0xe4], 1
jmp 0x100088c4
mov dword [ebp - 0xe4], 0
mov eax, dword [0x100c310c]
cmp dword [ebp - 0xe4], eax
je 0x1000899d
movzx ecx, word [ebp - 0x18]
imul eax, ecx, 0xd8c3
cdq
mov dword [0x100c30e8], eax
mov dword [0x100c30ec], edx
mov edx, dword [0x100c3b38]
mov dword [ebp - 0x60], edx
mov eax, dword [ebp - 0x58]
add eax, 0x6627f160
mov ecx, dword [ebp - 0x54]
adc ecx, 0
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ecx
movsx edx, word [0x100c3088]
not edx
mov dword [ebp - 0x38], edx
mov eax, dword [0x100c3b38]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x48], 0
jne 0x1000892e
mov dword [ebp - 0xe8], 1
jmp 0x10008938
mov dword [ebp - 0xe8], 0
cmp dword [ebp - 0x70], 0
jne 0x1000894a
mov dword [ebp - 0xa0], 1
jmp 0x10008954
mov dword [ebp - 0xa0], 0
movsx eax, word [ebp - 0x1c]
not eax
cdq
mov ecx, eax
mov esi, edx
movzx eax, word [0x100c30a0]
not eax
cdq
xor eax, dword [ebp - 0x40]
xor edx, dword [ebp - 0x3c]
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0xe8]
sub edx, dword [ebp - 0xa0]
mov eax, dword [0x100c310c]
xor eax, dword [0x100c30f8]
add edx, eax
xor eax, eax
add ecx, edx
adc esi, eax
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], esi
jmp 0x10008a2c
mov ecx, dword [0x100c30c8]
mov edx, dword [0x100c30cc]
mov dword [ebp - 0x1c0], ecx
mov dword [ebp - 0x1bc], edx
mov eax, dword [ebp - 0x1c0]
or eax, dword [ebp - 0x1bc]
je 0x10008a2c
imul ecx, dword [0x100c3108], 0x488f
mov dword [0x100c3108], ecx
movzx edx, word [0x100c30a0]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x118]
sub eax, 0x957d
mov byte [0x100c3063], al
cmp dword [ebp - 0x64], 0
jne 0x100089ff
mov dword [ebp - 0xa4], 1
jmp 0x10008a09
mov dword [ebp - 0xa4], 0
mov ecx, dword [ebp - 0x48]
not ecx
movsx edx, byte [str.NDisablePerfBackoff]
not edx
xor ecx, edx
or ecx, dword [ebp - 0xa4]
xor eax, eax
mov dword [0x100c30c0], ecx
mov dword [0x100c30c4], eax
mov ecx, dword [ebp - 0xa8]
sub ecx, dword [ebp - 0x148]
mov edx, dword [ebp - 0xa8]
imul edx, ecx
imul eax, dword [ebp - 0x1c4], 0x26f
cmp edx, eax
je 0x10008bd4
movsx ecx, byte [0x100c3027]
imul eax, ecx, 0x8ad2
cdq
mov dword [0x100c30a8], eax
mov dword [0x100c30ac], edx
mov eax, dword [0x100c30f8]
cdq
mov ecx, dword [0x100c30c8]
mov esi, dword [0x100c30cc]
sub ecx, eax
sbb esi, edx
mov dword [0x100c30c8], ecx
mov dword [0x100c30cc], esi
movzx edx, byte [ebp - 0x11]
imul eax, edx, 0x77d3
cdq
mov dword [0x100c30b8], eax
mov dword [0x100c30bc], edx
mov ax, word [0x100c308c]
sub ax, 1
mov word [0x100c308c], ax
mov byte [str.NDisablePerfBackoff], 8
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x98]
push 0x2f6f1
push 0xb5988022
push edx
push ecx
call fcn.1008eb70
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x58]
sub eax, 0x440e
mov ecx, dword [ebp - 0x54]
sbb ecx, 0
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], ecx
mov eax, dword [0x100c30f8]
cdq
mov ecx, dword [0x100c3110]
mov esi, dword [0x100c3114]
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov ecx, dword [0x100c3110]
mov esi, dword [0x100c3114]
push edx
push eax
push esi
push ecx
call fcn.1008eb70
mov dword [0x100c3110], eax
mov dword [0x100c3114], edx
mov edx, dword [0x100c30a8]
mov eax, dword [0x100c30ac]
push 0xf77ed
push 0xa8444dad
push eax
push edx
call fcn.1008eb70
mov dword [ebp - 0x7c], eax
xor ecx, ecx
mov dword [0x100c30c0], 0x69
mov dword [0x100c30c4], ecx
cmp dword [ebp + 0x18], 0
je 0x10008bd4
mov edx, dword [ebp + 0x18]
movzx eax, word [edx]
test eax, eax
je 0x10008bd4
mov cx, word [0x100c30a0]
add cx, 1
mov word [0x100c30a0], cx
mov edx, dword [0x100c30e8]
mov eax, dword [0x100c30ec]
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x74], eax
movsx ecx, byte [ebp - 0x12]
imul edx, ecx, 0x4d
mov dword [ebp - 0x64], edx
movsx eax, byte [ebp - 0x12]
imul eax, eax, 0xe60a
cdq
mov dword [0x100c3080], eax
mov dword [0x100c3084], edx
mov cl, byte [0x100c3b38]
mov byte [0x100c3062], cl
mov edx, 8
mov word [0x100c3090], dx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret