Function at 0x1002fcbe
Capabilities:
Delete registry key
Enumerate gui resources
Get file system object information
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1007f90e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x260
push ebx
push esi
push edi
push 3
pop esi
mov dword [esp + 0x40], ecx
lea ecx, [esp + 0x180]
push esi
mov dword [esp + 0xd8], edx
call fcn.10012956
mov dword [esp + 0x28], 0x3f7e813a
xor ecx, ecx
mov dword [esp + 0x28], 0xfffffff6
inc ecx
mov dword [esp + 0x28], ecx
xor ebx, ebx
mov dword [esp + 0x1c], 0xdac3
mov dword [esp + 0xc], ebx
jmp 0x1002fd37
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x1ec], 0xffffffff
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x1002fd24
mov dword [esp + 0xc], ebx
cmp dword [esp + 0xc], esi
jge 0x1002fd66
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x180]
mov dword [eax + ecx*4], 0xadae8c9f
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x1002fd47
xor ecx, ecx
inc ecx
mov eax, dword [esp + 0x1c]
inc dword [esp + 0x1c]
cmp eax, 4
cmovne ecx, ebx
mov dword [esp + 0x1f4], ecx
lea ecx, [esp + 0x180]
call fcn.10012bab
mov dword [esp + 0x1c], 9
mov dword [esp + 0x24], esi
xor esi, esi
mov dword [esp + 0x14], 0xfd77ccca
inc esi
mov dword [esp + 0x28], 0xfffffff9
mov dword [esp + 0xc], ebx
jmp 0x1002fdbc
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x34], 0x1d925b0e
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x1002fdac
mov dword [esp + 0xc], ebx
jmp 0x1002fddb
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x8c], 0xffffffff
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x1002fdc8
mov edi, 0xcd2466e9
cmp dword [esp + 0x34], ebx
jne 0x1002fe53
mov ecx, dword [esp + 0x34]
xor edx, edx
mov eax, dword [esp + 0x1c]
cmp eax, ecx
mov eax, dword [esp + 0x34]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esp + 0x34]
setle cl
cmp edi, ecx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
sete cl
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x34]
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x1c]
jne 0x1002fe3a
mov edx, ebx
cmp dword [esp + 0x14], ebx
je 0x1002fe3c
mov edx, esi
mov eax, dword [esp + 0x34]
xor ecx, ecx
cmp eax, edx
setge cl
sub ecx, dword [esp + 0x14]
mov dword [esp + 0x14], ecx
jne 0x1002fe53
mov esi, ebx
mov edi, dword [sym.imp.USER32.dll_EnumWindows]
mov dword [esp + 0x90], esi
cmp dword [esp + 0x90], ebx
je 0x1002fe96
mov dword [esp + 0x20], 0xe1054d81
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], bl
je 0x1002fe89
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowInfo]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x8c], eax
jmp 0x1002fea4
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], bl
je 0x1002fea4
push ebx
push ebx
call edi
push 0xfffffffffffffff8
pop edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], 0xfffffff7
mov dword [esp + 0x20], 0x5d06f629
mov dword [esp + 0x18], 0xfffffffb
jmp 0x1002ff2e
mov dword [esp + 0xc], ebx
mov dword [esp + 0x24], 0xaf1e2cd8
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
add eax, 0x4083d0a6
add eax, ecx
cmp eax, dword [esp + 0xc]
jne 0x1002ff06
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x24], eax
dec dword [esp + 0x18]
cmp dword [esp + 0x18], edx
jg 0x1002fec5
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], bl
je 0x1002ff50
push 0x117c
push ebx
push 0x1a01
push ebx
call dword [sym.imp.USER32.dll_LoadStringA]
push 3
lea ecx, [esp + 0x178]
call fcn.10012956
mov dword [esp + 0x274], ebx
xor ecx, ecx
mov dword [esp + 0xc], 0x30f94f37
inc ecx
mov dword [esp + 0x18], 0x64de8cc1
mov dword [esp + 0xc], ebx
jmp 0x1002ff8e
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x30], 0xcf57
inc dword [esp + 0xc]
cmp dword [esp + 0xc], ecx
jl 0x1002ff7e
mov dword [esp + 0xc], ebx
jmp 0x1002ffaa
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x48], 0x52324067
inc dword [esp + 0xc]
cmp dword [esp + 0xc], ecx
jl 0x1002ff9a
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x1002ffc3
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SizeofResource]
xor esi, esi
mov dword [esp + 0xc], ebx
inc esi
cmp dword [esp + 0xc], ebx
jg 0x10030120
mov eax, dword [esp + 0xc]
cmp dword [esp + eax*4 + 0x30], ebx
jne 0x10030120
mov eax, dword [esp + 0xc]
mov edx, dword [esp + eax*4 + 0x30]
mov eax, dword [esp + 0xc]
sub edx, 2
sub edx, dword [esp + eax*4 + 0x30]
mov eax, dword [esp + 0xc]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [esp + 0xc]
setl cl
xor edx, edx
mov eax, dword [esp + eax*4 + 0x30]
cmp ecx, eax
mov eax, dword [esp + 0xc]
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
cmp eax, ecx
sbb eax, eax
inc eax
mov dword [esp + 0x18], eax
jne 0x10030038
mov eax, dword [esp + 0xc]
mov edx, ebx
cmp dword [esp + eax*4 + 0x30], ebx
je 0x1003003a
mov edx, esi
mov eax, dword [esp + 0xc]
xor ecx, ecx
mov eax, dword [esp + eax*4 + 0x30]
cmp edx, eax
mov eax, dword [esp + 0xc]
setne cl
xor edx, edx
cmp ecx, eax
mov ecx, dword [esp + 0x30]
setl dl
sub ecx, edx
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x48], ecx
mov eax, dword [esp + 0xc]
mov eax, dword [esp + eax*4 + 0x30]
add eax, ecx
je 0x10030073
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + eax*4 + 0x30]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + eax*4 + 0x30]
mov ecx, dword [esp + 0xc]
neg ecx
sbb ecx, ecx
xor edx, edx
neg ecx
sub ecx, eax
mov eax, dword [esp + 0xc]
cmp ecx, 0xe2e0
setge dl
xor ecx, ecx
mov eax, dword [esp + eax*4 + 0x30]
cmp edx, eax
mov eax, dword [esp + 0xc]
setge cl
add ecx, dword [esp + eax*4 + 0x30]
add ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
neg ecx
cmp ecx, dword [esp + eax*4 + 0x30]
jle 0x100300cd
mov eax, dword [esp + 0xc]
cmp dword [esp + eax*4 + 0x30], ebx
mov eax, ebx
je 0x100300cf
mov eax, esi
neg eax
je 0x100300f8
mov dword [esp + 0x18], ebx
jmp 0x100300f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + eax*4 + 0x48]
mov eax, dword [esp + 0xc]
sub ecx, 3
mov dword [esp + eax*4 + 0x48], ecx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], ebx
jle 0x100300d9
jmp 0x10030117
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10030117
push 0xd87
push ebx
push ebx
push ebx
push 0x42c
push ebx
call dword [sym.imp.KERNEL32.dll_GetDateFormatW]
inc dword [esp + 0xc]
jmp 0x1002ffca
mov dword [esp + 0x28], 0x3f7e813a
mov dword [esp + 0x28], 0xfffffff6
mov dword [esp + 0x28], esi
push 3
mov dword [esp + 0x28], 0xdac3
mov dword [esp + 0x10], ebx
pop edx
jmp 0x10030158
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x204], 0xffffffff
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x10030145
mov dword [esp + 0xc], ebx
jmp 0x1003017a
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x174]
mov dword [eax + ecx*4], 0xadae8c9f
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x10030164
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x14], ebx
jmp 0x100301a1
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x244], 0xd7f825e
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jl 0x1003018e
mov dword [esp + 0x18], ebx
jmp 0x100302d8
mov dword [esp + 0x1c], 0x4b25b3b
lea ecx, [esp + 0x134]
mov dword [esp + 0x28], 0x7059141a
mov dword [esp + 0x28], 0x8d303f02
mov dword [esp + 0x28], 0x2d621ec2
mov dword [esp + 0x28], 0xfffffff7
mov dword [esp + 0x28], 0xa0f0f5eb
push esi
call fcn.10012956
push 2
mov dword [esp + 0x10], ebx
pop edx
jmp 0x10030209
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x218], 0x2c593c86
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x100301f6
mov dword [esp + 0xc], ebx
jmp 0x10030228
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x134]
or dword [eax + ecx*4], 0xffffffff
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x10030215
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10030246
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
push 2
pop edx
mov dword [esp + 0x1c], edx
cmp dword [esp + 0x1c], ebx
jl 0x100302c8
mov dword [esp + 0x14], 4
mov dword [esp + 0x28], 0xd0357257
mov dword [esp + 0x198], ebx
mov dword [esp + 0x19c], ebx
mov dword [esp + 0x1a0], ebx
mov dword [esp + 0x1a4], ebx
mov dword [esp + 0x14], ebx
jmp 0x100302b3
mov dword [esp + 0xc], 5
mov dword [esp + 0xc], edx
cmp dword [esp + 0xc], ebx
jl 0x100302af
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x100302a6
push ebx
call dword [sym.imp.KERNEL32.dll_SetThreadLocale]
dec dword [esp + 0xc]
jns 0x10030294
push 2
pop edx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jle 0x10030282
mov eax, dword [esp + 0x134]
inc dword [eax]
dec dword [esp + 0x1c]
jns 0x10030250
lea ecx, [esp + 0x134]
call fcn.10012bab
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 2
jle 0x100301b0
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x174]
inc dword [esp + 0x24]
cmp eax, 4
mov eax, esi
cmovne eax, ebx
mov dword [esp + 0x20c], eax
or dword [esp + 0x274], 0xffffffff
call fcn.10012bab
mov dword [esp + 0x18], 0x53d8da8e
lea ecx, [esp + 0x80]
push 2
call fcn.10012956
mov dword [esp + 0x24], 0x598aaf0a
mov dword [esp + 0x14], 0x7e7c14ab
mov dword [esp + 0x14], 0xdab551fa
mov dword [esp + 0x14], 0xfffffff8
mov dword [esp + 0x1c], esi
mov dword [esp + 0x14], 0xdd2e91c8
mov dword [esp + 0x14], 0x38ca8c98
mov dword [esp + 0xc], 0xc914a3a6
mov dword [esp + 0x28], 0x550e3526
mov dword [esp + 0x14], ebx
jmp 0x10030384
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x80]
mov dword [eax + ecx*4], 9
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x1003036e
mov ecx, dword [esp + 0x18]
sub ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x80]
mov dword [eax], ecx
xor ecx, ecx
mov eax, dword [esp + 0x18]
dec dword [esp + 0x24]
mov dword [esp + 0x14], 0xfffffff9
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
dec edx
cmp edx, eax
setge cl
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x1c], esi
sbb eax, eax
xor edx, edx
inc eax
cmp eax, 0x1f90ef30
mov eax, dword [esp + 0x18]
setne dl
xor ecx, ecx
cmp edx, eax
setne cl
cmp ecx, dword [esp + 0x1c]
jl 0x100303fe
cmp dword [esp + 0x14], ebx
jne 0x100303fe
mov eax, dword [esp + 0x80]
cmp dword [eax + 4], ebx
mov eax, ebx
je 0x10030400
mov eax, esi
mov dword [esp + 0x1c], eax
xor edx, edx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
cmp eax, ecx
setne dl
mov dword [esp + 0x14], edx
cmp dword [esp + 0x14], ebx
je 0x1003043a
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10030452
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
jmp 0x10030452
mov dword [esp + 0x20], 0xfff8
mov dword [esp + 0x24], 0xfa8fad74
mov eax, dword [esp + 0x20]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x80]
mov dword [eax], ecx
lea ecx, [esp + 0x80]
call fcn.10012bab
mov dword [esp + 0x1c], 7
mov dword [esp + 0x14], ebx
jmp 0x1003048c
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x220], 0x14a02569
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x10030479
mov dword [esp + 0x1c], esi
cmp dword [esp + 0x1c], ebx
jl 0x100304ce
mov dword [esp + 0x14], 4
mov dword [esp + 0x14], ebx
jmp 0x100304c2
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x100304be
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetCommState]
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jle 0x100304ab
dec dword [esp + 0x1c]
jns 0x1003049d
push 2
lea ecx, [esp + 0xe8]
call fcn.10012956
mov dword [esp + 0x274], esi
mov eax, 0xe280
mov dword [esp + 0x24], 5
mov dword [esp + 0x18], ebx
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], eax
mov dword [esp + 0x15c], eax
mov dword [esp + 0x14], ebx
jmp 0x10030528
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xe4]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x10030516
mov eax, dword [esp + 0xe4]
mov dword [eax], ebx
push dword [esp + 0x40]
movdqa xmm0, xmmword [0x10007eb0]
lea eax, [esp + 0x1d4]
push eax
lea eax, [esp + 0x1c8]
mov dword [esp + 0x1c], 7
push eax
mov dword [esp + 0x24], 0xfffffff9
lea ecx, [esp + 0xa0]
push ebx
movdqu xmmword [esp + 0x1d0], xmm0
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], ebx
call fcn.10012f1b
mov eax, 0x214d2fc5
xor ecx, ecx
mov dword [esp + 0x140], eax
mov dword [esp + 0x144], eax
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
test eax, eax
mov eax, dword [esp + 0x14]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [esp + 0x18]
setge dl
xor ecx, ecx
cmp edx, eax
setl cl
shl ecx, 3
mov dword [esp + 0x18], ecx
xor ecx, ecx
mov eax, dword [esp + 0x18]
cmp eax, 0xfffffff6
setne cl
xor eax, eax
cmp ecx, esi
setle al
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x14]
cmp dword [ecx + 4], eax
je 0x10030622
mov edx, ebx
cmp dword [esp + 0x14], ebx
je 0x10030624
mov edx, esi
mov dword [esp + 0x18], 0x44ad
xor ecx, ecx
mov eax, dword [esp + 0x18]
imul eax, dword [esp + 0x14]
cmp eax, edx
setl cl
mov dword [esp + 0x140], ecx
lea ecx, [esp + 0x94]
call fcn.10012bab
mov eax, dword [esp + 0xe4]
dec dword [eax]
cmp dword [eax], 0xfffffffa
jge 0x10030538
mov dword [esp + 0x18], 0xffffffe9
jmp 0x100306d4
mov dword [esp + 0x20], 0x7a0211e9
mov dword [esp + 0x24], esi
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10030699
push 0x6da
push 0x341
push ebx
push 0xb7b
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x24], eax
cmp dword [esp + 0x24], ebx
mov byte [esp + 0x13], bl
je 0x100306c1
cmp byte [esp + 0x13], 0
je 0x100306d0
push ebx
push 0x10d0
push ebx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObjectEx]
jmp 0x100306d0
cmp byte [esp + 0x13], 0
je 0x100306d0
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0xc
jg 0x1003066b
or dword [esp + 0x274], 0xffffffff
lea ecx, [esp + 0xe4]
call fcn.10012bab
mov dword [esp + 0x14], 9
mov dword [esp + 0x24], 3
mov dword [esp + 0x1c], 0xfd77ccca
mov dword [esp + 0x28], 0xfffffff9
mov dword [esp + 0xc], ebx
jmp 0x10030725
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x38], 0x1d925b0e
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x10030715
mov dword [esp + 0xc], ebx
jmp 0x10030744
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0xdc], 0xffffffff
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x10030731
cmp dword [esp + 0x38], ebx
jne 0x100307bc
mov ecx, dword [esp + 0x38]
xor edx, edx
mov eax, dword [esp + 0x14]
cmp eax, ecx
mov eax, dword [esp + 0x38]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, 0xcd2466e9
setle cl
cmp eax, ecx
mov eax, dword [esp + 0x38]
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
sete cl
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x1c]
add eax, dword [esp + 0x14]
jne 0x100307a3
mov edx, ebx
cmp dword [esp + 0x1c], ebx
je 0x100307a5
mov edx, esi
mov eax, dword [esp + 0x38]
xor ecx, ecx
cmp eax, edx
mov eax, ebx
setge cl
sub ecx, dword [esp + 0x1c]
mov dword [esp + 0x1c], ecx
je 0x100307be
mov eax, esi
mov dword [esp + 0xe0], eax
cmp dword [esp + 0xe0], ebx
je 0x100307fc
mov dword [esp + 0x20], 0xe1054d81
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x100307ef
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowInfo]
mov eax, dword [esp + 0x20]
mov dword [esp + 0xdc], eax
jmp 0x1003080b
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x1003080b
push ebx
push ebx
call edi
push esi
lea ecx, [esp + 0x100]
call fcn.10012956
mov dword [esp + 0x274], 2
lea eax, [esp + 0x1e0]
push dword [esp + 0x40]
movdqa xmm0, xmmword [0x10007e90]
lea ecx, [esp + 0x78]
push eax
lea eax, [esp + 0x1d8]
mov dword [esp + 0x7c], ebx
push eax
push ebx
movdqu xmmword [esp + 0x1e0], xmm0
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
call fcn.10012f1b
mov eax, dword [esp + 0x74]
mov dword [eax], 0xfffffff6
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10030886
push 0xeb9
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_VirtualQuery]
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10030898
push ebx
call dword [sym.imp.KERNEL32.dll_EncodePointer]
mov eax, dword [esp + 0x74]
inc dword [eax]
cmp dword [eax], 0xfffffffd
jle 0x1003086e
lea ecx, [esp + 0x74]
call fcn.10012bab
xor edx, edx
mov dword [esp + 0x14], ebx
inc edx
jmp 0x100308cb
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xfc]
mov dword [eax + ecx*4], 0x7e2799ac
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jl 0x100308b5
mov eax, dword [esp + 0xfc]
mov dword [eax], 0xfffffffe
mov byte [esp + 0x13], bl
lea ecx, [esp + 0x110]
mov dword [esp + 0x18], 0xd837
mov dword [esp + 0x24], 0xffff
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x24], edx
mov dword [esp + 0x14], 2
mov dword [esp + 0x28], ebx
mov dword [esp + 0x28], 0xe1c2a911
mov dword [esp + 0x28], 5
mov dword [esp + 0x20], 0xffff
push edx
call fcn.10012956
push 3
mov dword [esp + 0x10], ebx
pop edx
jmp 0x10030947
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x238], 0x56e3f0e2
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edx
jl 0x10030934
xor esi, esi
mov dword [esp + 0xc], ebx
inc esi
jmp 0x1003096c
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x110]
mov dword [eax + ecx*4], 0x3b6ac891
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x10030956
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x24], edx
mov ecx, dword [esp + 0x24]
sub ecx, dword [esp + 0x1c]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 0x1a812c00
setl al
mov dword [esp + 0x14], eax
cmp dword [esp + 0x14], ebx
jne 0x100309cc
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x28], 6
mov dword [esp + 0x14], ebx
jmp 0x10030a05
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x210], 0x87697ab8
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x100309f2
dec dword [esp + 0x24]
lea ecx, [esp + 0x110]
inc dword [esp + 0x20]
mov eax, dword [esp + 0x110]
inc dword [eax]
call fcn.10012bab
cmp byte [esp + 0x13], 0
je 0x10030a37
push ebx
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
mov dword [esp + 0x1c], 2
mov dword [esp + 0x14], ebx
jmp 0x10030a58
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x25c], 0x1c08901
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x10030a45
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10030a7a
push 0x1e0b
push 0x2023
call dword [sym.imp.KERNEL32.dll_Beep]
mov dword [esp + 0x1c], 2
cmp dword [esp + 0x1c], ebx
jl 0x10030a9a
mov dword [esp + 0x20], 0x1591
inc dword [esp + 0x20]
dec dword [esp + 0x1c]
jns 0x10030a88
mov eax, dword [esp + 0xfc]
cmp dword [eax], ebx
jne 0x10030ab6
xor edx, edx
inc edx
mov dword [eax], edx
cmp dl, 7
jl 0x100308de
xor esi, esi
inc esi
or dword [esp + 0x274], 0xffffffff
lea ecx, [esp + 0xfc]
call fcn.10012bab
mov dword [esp + 0xc], 0xe83c773
mov dword [esp + 0x14], ebx
jmp 0x10030aeb
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x1e0], 4
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x10030ad8
mov dword [esp + 0xc], ebx
jmp 0x10030ba9
mov dword [esp + 0x1c], ebx
lea ecx, [esp + 0x11c]
mov dword [esp + 0x20], 0xfffffffd
push 3
call fcn.10012956
mov dword [esp + 0x14], ebx
jmp 0x10030b31
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x11c]
mov dword [eax + ecx*4], 0x79cc099a
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x10030b1b
cmp dword [esp + 0xc], ebx
jne 0x10030b46
mov eax, ebx
cmp dword [esp + 0x1c], ebx
je 0x10030b48
mov eax, esi
mov ecx, dword [esp + 0xc]
xor edx, edx
imul ecx, eax
mov eax, dword [esp + 0x1c]
cmp eax, ecx
mov eax, dword [esp + 0x1c]
setne dl
xor ecx, ecx
cmp edx, eax
setge cl
cmp ecx, 0xf58382bd
sbb eax, eax
inc eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x11c]
sub ecx, 0x25a80e35
neg ecx
sbb ecx, ecx
inc ecx
shl ecx, 2
sub ecx, 2
neg ecx
sbb ecx, ecx
inc ecx
mov dword [eax], ecx
lea ecx, [esp + 0x11c]
call fcn.10012bab
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jle 0x10030afb
mov dword [esp + 0xc], 0x11
jmp 0x10030bfb
mov dword [esp + 0x20], 8
mov dword [esp + 0x14], ebx
jmp 0x10030bdf
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0xd8], 0xc7153413
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x10030bcc
mov eax, dword [esp + 0x1e8]
mov dword [esp + 0xd8], eax
mov dword [esp + 0x20], eax
dec dword [esp + 0xc]
cmp dword [esp + 0xc], 0xfffffffa
jg 0x10030bbe
mov dword [esp + 0x14], ebx
mov dword [esp + 0x14], ebx
jmp 0x10030c1b
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0xa8], esi
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x10030c0c
mov dword [esp + 0xb0], ebx
jmp 0x10030c44
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10030c3d
push ebx
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
dec dword [esp + 0xb0]
cmp dword [esp + 0xb0], 0xffffffef
jle 0x10030c2b
mov dword [esp + 0x14], ebx
jmp 0x10030c80
mov byte [esp + 0x13], bl
cmp byte [esp + 0x13], 0
je 0x10030c7c
push ebx
push 0x1e0a
push ebx
push 0x24c4
push 0x958
push ebx
push 0xe63
call dword [sym.imp.KERNEL32.dll_FormatMessageW]
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 0x11
jle 0x10030c54
push 3
lea ecx, [esp + 0x190]
call fcn.10012956
push 3
pop eax
mov dword [esp + 0x274], eax
mov dword [esp + 0x24], 9
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0xfd77ccca
mov dword [esp + 0x28], 0xfffffff9
mov dword [esp + 0xc], ebx
jmp 0x10030cd1
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x3c], 0x1d925b0e
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x10030cc1
mov dword [esp + 0xc], ebx
jmp 0x10030cf0