Function at 0x10030507
Capabilities:
Check os version
Delete registry key
Get disk information
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc8
push ebx
mov dword [ebp - 0xc], 0x7f6af112
mov ebx, edx
mov dword [ebp - 0x10], 0x2978d8ef
push esi
mov dword [ebp - 0x1c], 0x5d64
push edi
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 4], 0
jmp 0x1003054a
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xa4], 0xa553fc2f
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x10030539
push 1
mov dword [ebp - 0xc], 0
pop esi
jmp 0x10030616
mov dword [ebp - 4], 7
mov dword [ebp - 0x10], 0x78c3
mov dword [ebp - 0x18], 8
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0
jne 0x1003058d
cmp dword [ebp - 0x10], 0
jne 0x1003058d
xor edx, edx
jmp 0x1003058f
mov edx, esi
mov eax, dword [ebp - 4]
xor ecx, ecx
cmp edx, eax
sete cl
xor eax, eax
sub ecx, dword [ebp - 4]
cmp ecx, 0xfff6
setne al
cmp eax, dword [ebp - 0x10]
jne 0x100305b6
cmp dword [ebp - 0xc], 0
jne 0x100305b6
xor eax, eax
jmp 0x100305b8
mov eax, esi
mov edx, dword [ebp - 4]
xor ecx, ecx
add edx, eax
mov eax, dword [ebp - 4]
cmp eax, edx
setge cl
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0xa0], 0
jne 0x100305f3
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
inc dword [ebp - 0x18]
cmp eax, ecx
jg 0x100305e4
mov eax, esi
jmp 0x100305e6
xor eax, eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x100305f3
xor edx, edx
jmp 0x100305f5
mov edx, esi
mov eax, dword [ebp - 4]
xor ecx, ecx
cmp eax, edx
setl cl
sub ecx, dword [ebp - 0x1c]
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, 0x8993dd61
sbb eax, eax
inc eax
mov dword [ebp - 4], eax
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x11
je 0x1003055f
push 2
pop edi
mov dword [ebp - 0xc], edi
jmp 0x10030634
cmp dword [ebp - 0xa0], 0
jne 0x1003063a
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 6
jg 0x10030628
mov dword [ebp - 4], 0xcea5d6c0
mov dword [ebp - 0x14], 0xfffffffe
mov dword [ebp - 0xc], 0x3248c66f
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x14], 0xa3df
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 0
jmp 0x1003067a
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xc8], 0xffffffff
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x10030669
mov dword [ebp - 4], esi
jmp 0x10030691
mov dword [ebp - 0x18], 0
inc dword [ebp - 0x18]
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x10
jle 0x10030684
mov dword [ebp - 0xc], 0xfffffffd
jmp 0x1003070b
mov dword [ebp - 0x1c], 0xc118
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x18], 0x44a7
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x14], 0x3c6fe23a
mov dword [ebp - 0x14], 0xffffffff
push esi
call fcn.10022f94
mov dword [ebp - 4], 0
jmp 0x100306ef
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0xb0]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x100306df
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x18], eax
dec dword [ebp - 0x10]
call fcn.10023016
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x12
jne 0x100306a0
mov dword [ebp - 0x20], 0xffffffff
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x1928c176
mov dword [ebp - 0x14], 0xfffffff8
mov dword [ebp - 0x14], 9
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x14], 0xf93bd5de
mov dword [ebp - 0x14], 0xfffffffe
mov dword [ebp - 0x14], 0x50270f9e
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x14], 0x6270e7ad
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x14], 0xb6084edc
mov dword [ebp - 0x18], 0xfffffffb
mov dword [ebp - 0x14], 0x26a9d9e1
mov dword [ebp - 0x14], 0xfffffffa
push edi
call fcn.10022f94
xor ecx, ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x1c], 0xfffffff7
mov dword [ebp - 0xc], ecx
jmp 0x100307a4
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0xc0], 3
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 4
jl 0x10030793
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0xc], edi
jge 0x100307c9
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x6c]
mov dword [eax + ecx*4], 0xdf39281c
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x100307b2
xor ecx, ecx
mov dword [ebp - 4], 0x12
jmp 0x100307e9
mov dword [ebp - 0x1c], 0x99cfe04
mov dword [ebp - 0x10], 0xffffffff
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], eax
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xfffffff1
jle 0x100307d2
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xb8]
cmp dword [ebp - 0x2c], ecx
jne 0x10030807
mov edx, ecx
cmp dword [ebp - 0x14], ecx
je 0x10030809
mov edx, esi
mov eax, dword [ebp - 0x6c]
xor ecx, ecx
cmp edx, dword [eax]
setl cl
mov dword [ebp - 0x18], ecx
mov ecx, esi
mov eax, dword [ebp - 0x18]
sub ecx, eax
jne 0x10030822
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
lea ecx, [ebp - 0x6c]
mov eax, dword [ebp - 0xbc]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x1c], eax
call fcn.10023016
mov dword [ebp - 0x28], 0x2cb3a3fc
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x2c], esi
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x14], 0
push 4
call fcn.10022f94
xor edx, edx
mov dword [ebp - 4], edx
jmp 0x1003087a
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x90]
mov dword [eax + ecx*4], edx
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x1003086b
mov dword [ebp - 4], edx
cmp dword [ebp - 4], 0xffffffeb
jg 0x10030935
mov esi, dword [ebp - 0x90]
xor edi, edi
inc edi
mov dword [ebp - 0x1c], 0x3f1a
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x18], 0xfffffffa
mov dword [ebp - 0x18], 0x2a3cc92e
mov dword [ebp - 0x14], 6
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x14], 0xffffffff
cmp dword [ebp - 0x1c], edx
jne 0x100308dc
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 4]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], edi
mov eax, dword [ebp - 0xc]
dec dword [esi + 0xc]
mov dword [ebp - 0x14], edi
mov dword [ebp - 0xc], 0x2b607800
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0xc], edx
jne 0x100308fe
mov eax, edx
cmp dword [ebp - 0x1c], edx
je 0x10030900
mov eax, edi
xor edx, edx
cmp eax, 0xfc1f
mov eax, dword [ebp - 0x18]
setge dl
add edx, 0xf5c753dc
neg edx
push 0
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
pop edx
setl cl
mov dword [ebp - 0x18], ecx
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xffffffeb
jle 0x10030896
xor esi, esi
inc esi
lea ecx, [ebp - 0x90]
call fcn.10023016
mov dword [ebp - 0x20], 0xffffffe5
jmp 0x100309af
mov dword [ebp - 4], 0x824a8c6a
mov dword [ebp - 0xc], 0x9d01
mov dword [ebp - 0x14], edx
mov dword [ebp - 4], edx
jmp 0x1003097a
mov byte [ebp - 5], dl
cmp byte [ebp - 5], 0
je 0x10030977
push 0x2a0
push edx
push edx
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
xor edx, edx
inc dword [ebp - 4]
cmp dword [ebp - 4], 5
jle 0x1003095f
mov eax, dword [ebp - 0xc]
xor ecx, ecx
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
cmp eax, esi
push edx
setl cl
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], edx
call fcn.10032bab
inc dword [ebp - 0x20]
pop ecx
xor edx, edx
cmp dword [ebp - 0x20], 7
jne 0x10030949
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 0x20]
setle dl
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x28]
xor ecx, ecx
cmp edx, eax
setge cl
cmp dword [ebp - 0x20], ecx
jg 0x100309e1
cmp dword [ebp - 0x28], 0
jne 0x100309e1
xor edx, edx
jmp 0x100309e3
mov edx, esi
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
mov edi, dword [sym.imp.USER32.dll_GetDesktopWindow]
cmp edx, eax
setg cl
mov dword [ebp - 0x28], ecx
xor ecx, ecx
cmp dword [ebp - 0x28], ecx
je 0x10030cc0
mov dword [ebp - 0x14], 0xfffffff8
mov byte [ebp - 5], cl
cmp byte [ebp - 5], cl
je 0x10030a18
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
xor ecx, ecx
mov byte [ebp - 5], cl
cmp byte [ebp - 5], 0
je 0x10030a3b
push ecx
push ecx
push 0x2070
push ecx
push 0x1b10
push ecx
push 0x20eb
push ecx
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov dword [ebp - 0x58], 0xafbd13d
lea ecx, [ebp - 0x4c]
push 4
call fcn.10022f94
mov dword [ebp - 0xc], 0x7831e42a
mov dword [ebp - 4], esi
mov dword [ebp - 4], 0
jmp 0x10030a6f
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x4c]
mov dword [eax + ecx*4], 0x5720e83c
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x10030a5f
mov dword [ebp - 0xc], 3
cmp dword [ebp - 0xc], 0
jl 0x10030b22
mov dword [ebp - 0x1c], 0xd329b3a0
mov dword [ebp - 0x10], 0xfffffffd
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x4c]
sub eax, dword [ecx + edx*4]
xor edx, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov esi, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x10]
cmp dword [ecx + esi*4], eax
setl dl
xor eax, eax
cmp edx, 0xe3580d41
setne al
xor ecx, ecx
cmp eax, 9
mov eax, 0xd35da2a0
setl cl
cmp eax, ecx
sbb eax, eax
xor edx, edx
inc eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x10], 3
cmp dword [ebp - 0x10], edx
jl 0x10030b16
mov dword [ebp - 4], edx
jmp 0x10030b0b
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x4c]
mov dword [eax + ecx*4], edx
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x10030aff
dec dword [ebp - 0x10]
jns 0x10030afa
dec dword [ebp - 0xc]
jns 0x10030a86
xor esi, esi
inc esi
lea ecx, [ebp - 0x4c]
call fcn.10023016
mov dword [ebp - 0x54], 0x7eb8e136
mov dword [ebp - 4], 0xfffffff9
mov dword [ebp - 4], 0xd
jmp 0x10030b88
push 3
lea ecx, [ebp - 0x78]
call fcn.10022f94
mov dword [ebp - 0x14], 0xf7a73d2
mov dword [ebp - 0x10], 0
jmp 0x10030b68
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x78]
and dword [eax + ecx*4], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10030b5b
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x78]
mov dword [eax + 8], ecx
lea ecx, [ebp - 0x78]
mov eax, dword [ebp - 4]
mov dword [ebp - 0x14], eax
call fcn.10023016
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x17
jge 0x10030b41
push 0x64b6
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x54]
push eax
push 0
call fcn.1003292f
add esp, 0x10
mov dword [ebp - 0xc], 0x387fb0b0
xor edx, edx
mov dword [ebp - 0x10], edx
push 3
pop ecx
jmp 0x10030bc7
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x84], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10030bb6
mov dword [ebp - 0xc], edx
jmp 0x10030be2
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x84], 0x71c1ec2d
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], ecx
jl 0x10030bd1
push 2
pop ecx
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0xc], edx
jl 0x10030c5b
mov dword [ebp - 0x10], edx
jmp 0x10030c05
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x40], 0xffffffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ecx
jl 0x10030bf7
mov dword [ebp - 0x40], edx
jmp 0x10030c51
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + eax*4 - 0x84]
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x84], ecx
mov byte [ebp - 5], dl
cmp byte [ebp - 5], 0
je 0x10030c4b
push edx
push 0x7b0
push edx
push 0x255a
push 0x2371
push edx
push 0xb43
call dword [sym.imp.KERNEL32.dll_FormatMessageW]
xor edx, edx
inc dword [ebp - 0x40]
push 2
pop ecx
cmp dword [ebp - 0x40], ecx
jle 0x10030c0f
dec dword [ebp - 0xc]
jns 0x10030bf2
mov dword [ebp - 0x14], 0xa631
mov byte [ebp - 5], dl
cmp byte [ebp - 5], 0
je 0x10030c75
push edx
push edx
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
xor edx, edx
mov byte [ebp - 5], dl
cmp byte [ebp - 5], 0
je 0x10030c97
push edx
push 0x23a3
push edx
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
xor edx, edx
push edx
push 0x59a9
lea eax, [ebp - 0x21]
mov byte [ebp - 0x21], dl
push 0x153b
push eax
mov edx, 0x3919
mov ecx, 0x118
call fcn.10031015
add esp, 0x10
jmp 0x10030ddc
mov dword [ebp - 4], esi
mov dword [ebp - 0x10], ecx
jmp 0x10030cd9
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x98], 0xb90da115
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x10030cc8
mov eax, dword [ebp - 0x94]
mov dword [ebp - 4], eax
mov dword [ebp - 4], ecx
jmp 0x10030d06
mov byte [ebp - 5], cl
cmp byte [ebp - 5], 0
je 0x10030d03
push 0x957
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor ecx, ecx
inc dword [ebp - 4]
cmp dword [ebp - 4], 6
jg 0x10030ced
mov dword [ebp - 0x50], 0x58c458a9
xor edx, edx
mov dword [ebp - 0xc], 0x9bf3
mov dword [ebp - 4], esi
mov dword [ebp - 0x1c], 0x6dd2
mov dword [ebp - 0x14], 0x7b1b0cad
mov dword [ebp - 0x14], 4
mov eax, dword [ebp - 0xc]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp ecx, eax
setne dl
xor ecx, ecx
sub edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp edx, eax
setl cl
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x14], esi
mov byte [ebp - 5], 0
cmp byte [ebp - 5], 0
je 0x10030d8f
push 0x1fe4
push 0x1709
push 0
call dword [sym.imp.GDI32.dll_CreatePolygonRgn]
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x20]
push eax
push 0
call fcn.100332bd
mov dword [ebp - 0x14], 0xffffffff
add esp, 0x10
mov byte [ebp - 5], 0
cmp byte [ebp - 5], 0
je 0x10030dbe
push 0
call dword [sym.imp.GDI32.dll_CreateBitmapIndirect]
mov byte [ebp - 5], 0
cmp byte [ebp - 5], 0
je 0x10030ddc
push 0
push 0
call edi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_PlayEnhMetaFile]
mov dword [ebp - 0xc], 0xfffffffc
mov dword [ebp - 0x10], 0
jmp 0x10030dfa
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x38], 0
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x10030dec
mov dword [ebp - 0xc], 0
cmp dword [ebp - 0xc], 2
jg 0x10030f53
mov dword [ebp - 0x14], 0x3922cbd4
xor ecx, ecx
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0x38]
cmp eax, 7
mov eax, 0xffff
setge cl
cmp eax, ecx
mov eax, dword [ebp - 0xc]
sbb ecx, ecx
xor edx, edx
neg ecx
mov eax, dword [ebp + eax*4 - 0x38]
cmp ecx, eax
mov eax, dword [ebp - 0x38]
setle dl
xor ebx, ebx
sub edx, 0x2ae7b79f
cmp edx, eax
mov eax, dword [ebp - 0xc]
setl bl
xor ecx, ecx
mov eax, dword [ebp + eax*4 - 0x38]
cmp eax, ebx
setg cl
xor ebx, ebx
cmp ecx, 0x647c
jle 0x10030ec9
mov dword [ebp - 0x10], 0xe3b372ba
mov dword [ebp - 0x10], 2
cmp dword [ebp - 0x10], ebx
jl 0x10030f43
mov dword [ebp - 4], 0x9b3a00d0
mov dword [ebp - 4], ebx
jmp 0x10030e9c
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x38], 3
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x10030e8e
mov dword [ebp - 4], 2
cmp dword [ebp - 4], ebx
jl 0x10030ec2
mov byte [ebp - 5], bl
cmp byte [ebp - 5], bl
je 0x10030ebd
push ebx
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
dec dword [ebp - 4]
jns 0x10030eae
dec dword [ebp - 0x10]
jns 0x10030e82
jmp 0x10030f43
mov dword [ebp - 4], 0x23b16aac
mov eax, dword [ebp - 0xc]
cmp dword [ebp + eax*4 - 0x38], ebx
jne 0x10030f0c
mov eax, dword [ebp - 4]
xor edx, edx
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 4]
cmp eax, ecx
mov eax, dword [ebp - 4]
setle dl
imul eax, edx
test eax, eax
jne 0x10030efa
mov ecx, esi
cmp dword [ebp - 0xc], ebx
jne 0x10030efc
mov ecx, ebx
mov eax, dword [ebp - 0xc]
cmp ecx, dword [ebp + eax*4 - 0x38]
jne 0x10030f0c
mov edx, ebx
cmp dword [ebp - 4], ebx
je 0x10030f0e
mov edx, esi
mov eax, dword [ebp - 4]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0xc]
sete cl
xor edx, edx
cmp ecx, eax
setg dl
imul edx, dword [ebp - 4]
sub edx, dword [ebp - 0x34]
neg edx
sbb edx, edx
xor eax, eax
inc edx
cmp edx, 0x5367
setne al
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 0x12afbcae
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 2
jle 0x10030e11
mov ebx, dword [ebp - 0x60]
mov byte [ebp - 5], 0
cmp byte [ebp - 5], 0
je 0x10030f68
push 0
call edi
push eax
call dword [sym.imp.USER32.dll_EndPaint]
mov eax, ebx
mov ecx, 0x3e8
cdq
idiv ecx
mov ecx, dword [ebp - 0x5c]
mov edi, edx
mov esi, eax
call fcn.10030495
add eax, esi
add eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret