Function at 0x10008fdf
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100d5473
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x374
push esi
push edi
lea edi, [ebp - 0x380]
mov ecx, 0xdd
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x28]
call fcn.1006a161
mov dword [ebp - 4], 0
mov ecx, dword [ebp + 0xc]
push ecx
lea ecx, [ebp - 0x288]
call fcn.1006a161
mov byte [ebp - 4], 1
mov dword [ebp - 0x1c], 0
mov esi, esp
lea edx, [ebp - 0x280]
push edx
lea ecx, [ebp - 0x28]
call fcn.100acc14
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp esi, esp
call fcn.10021b10
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xffffffff
jne 0x10009089
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x288]
call fcn.1006a0d0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.1006a0d0
jmp 0x1000a912
mov esi, esp
mov eax, dword [ebp - 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp esi, esp
call fcn.10021b10
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x290], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x28c], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x284], 0
lea ecx, [ebp - 0x14]
call fcn.100acad7
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2c]
call fcn.100acad7
mov byte [ebp - 4], 3
mov dword [ebp - 0x10], 0
mov esi, esp
lea ecx, [ebp - 0x20]
push ecx
push 0x100daeb8
push 5
push 0
push 0x100dadb8
call dword [sym.imp.ole32.dll_CoCreateInstance]
cmp esi, esp
call fcn.10021b10
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x20], 0
jne 0x10009160
push 0x100f4480
call fcn.10003f70
add esp, 4
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2c]
call fcn.1006a0d0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x14]
call fcn.1006a0d0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x288]
call fcn.1006a0d0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.1006a0d0
jmp 0x1000a912
mov esi, esp
push 0
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x20]
push ecx
call dword [eax + 0xfc]
cmp esi, esp
call fcn.10021b10
lea ecx, [ebp - 0x28]
call fcn.100d1d2b
mov dword [ebp - 0x284], eax
mov edx, dword [ebp - 0x284]
push edx
lea ecx, [ebp - 0x318]
call fcn.1000f180
mov byte [ebp - 4], 4
lea eax, [ebp - 0x318]
push eax
mov ecx, dword [ebp - 0x20]
call fcn.1000f320
movsx ecx, ax
mov dword [ebp - 0x24], ecx
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x318]
call fcn.1000f1e0
mov esi, esp
mov edx, dword [ebp - 0x284]
push edx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp esi, esp
call fcn.10021b10
cmp dword [ebp - 0x24], 0
jne 0x10009316
mov dword [ebp - 0x298], 0
mov dword [ebp - 0x29c], 0
mov esi, esp
lea eax, [ebp - 0x29c]
push eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x20]
push eax
call dword [edx + 0xf0]
cmp esi, esp
call fcn.10021b10
mov esi, esp
lea ecx, [ebp - 0x294]
push ecx
mov edx, dword [ebp - 0x29c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x29c]
push ecx
call dword [eax + 0x2c]
cmp esi, esp
call fcn.10021b10
mov esi, esp
lea edx, [ebp - 0x2a0]
push edx
mov eax, dword [ebp - 0x29c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x29c]
push edx
call dword [ecx + 0x30]
cmp esi, esp
call fcn.10021b10
mov esi, esp
lea eax, [ebp - 0x298]
push eax
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x29c]
push eax
call dword [edx + 0x24]
cmp esi, esp
call fcn.10021b10
mov esi, esp
lea ecx, [ebp - 0x24]
push ecx
mov edx, dword [ebp - 0x29c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x29c]
push ecx
call dword [eax + 0x1c]
cmp esi, esp
call fcn.10021b10
mov edx, dword [ebp - 0x2a0]
push edx
mov eax, dword [ebp - 0x294]
push eax
mov ecx, dword [ebp - 0x24]
push ecx
push 0x100f44c4
call fcn.10003f70
add esp, 0x10
mov edx, dword [ebp - 0x298]
push edx
lea ecx, [ebp - 0x14]
call fcn.1006a387
mov esi, esp
mov eax, dword [ebp - 0x298]
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp esi, esp
call fcn.10021b10
push 0
lea ecx, [ebp - 0x14]
call fcn.1006a88b
push eax
push 0x100f452c
call fcn.10003f70
add esp, 8
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ecx]
mov esi, esp
mov eax, dword [ebp - 0x29c]
push eax
call dword [edx + 8]
cmp esi, esp
call fcn.10021b10
jmp 0x1000a85e
mov dword [ebp - 0x2a8], 0
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2c0], 0
mov esi, esp
call dword [sym.imp.KERNEL32.dll_GetVersion]
cmp esi, esp
call fcn.10021b10
mov dword [ebp - 0x2b0], eax
mov ecx, dword [ebp - 0x2b0]
and ecx, 0xffff
and ecx, 0xffff
and ecx, 0xff
and ecx, 0xff
mov dword [ebp - 0x2b8], ecx
mov edx, dword [ebp - 0x2b0]
and edx, 0xffff
and edx, 0xffff
shr edx, 8
and edx, 0xff
mov dword [ebp - 0x2a4], edx
mov esi, esp
push str.IsWow64Process
mov edi, esp
push str.kernel32
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
cmp edi, esp
call fcn.10021b10
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp esi, esp
call fcn.10021b10
mov dword [ebp - 0x2b4], eax
cmp dword [ebp - 0x2b4], 0
je 0x10009402
mov dword [ebp - 0x2d0], 0
mov esi, esp
lea eax, [ebp - 0x2d0]
push eax
mov edi, esp
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
cmp edi, esp
call fcn.10021b10
push eax
call dword [ebp - 0x2b4]
cmp esi, esp
call fcn.10021b10
mov ecx, dword [ebp - 0x2d0]
mov dword [0x1010708c], ecx
cmp dword [0x1010708c], 0
je 0x10009418
push str.InitializeDriver___64bit_OS..
call fcn.10003f70
add esp, 4
lea ecx, [ebp - 0x2cc]
call fcn.100acad7
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2ac]
call fcn.100acad7
mov byte [ebp - 4], 6
cmp dword [ebp - 0x2b8], 5
jne 0x100094b9
cmp dword [ebp - 0x2a4], 0
jne 0x1000945a
push str.Win2K
lea ecx, [ebp - 0x2cc]
call fcn.1006a387
jmp 0x100094b4
cmp dword [ebp - 0x2a4], 1
jne 0x10009480
cmp dword [0x1010708c], 0
je 0x1000946e
jmp 0x1000947e
push str.WinXP
lea ecx, [ebp - 0x2cc]
call fcn.1006a387
jmp 0x100094b4
cmp dword [ebp - 0x2a4], 2
jne 0x100094b4
cmp dword [0x1010708c], 0
je 0x100094a4
push str.WinXP_64_
lea ecx, [ebp - 0x2cc]
call fcn.1006a387
jmp 0x100094b4
push str.Win2003
lea ecx, [ebp - 0x2cc]
call fcn.1006a387
jmp 0x10009566
cmp dword [ebp - 0x2b8], 6
jne 0x10009566
cmp dword [ebp - 0x2a4], 0
jne 0x100094fc
cmp dword [0x1010708c], 0
je 0x100094ea
push str.Vista_64_
lea ecx, [ebp - 0x2cc]
call fcn.1006a387
jmp 0x100094fa
push str.Vista
lea ecx, [ebp - 0x2cc]
call fcn.1006a387
jmp 0x10009566
cmp dword [ebp - 0x2a4], 1
jne 0x10009532
cmp dword [0x1010708c], 0
je 0x10009520
push str.Win7_64_
lea ecx, [ebp - 0x2cc]
call fcn.1006a387
jmp 0x10009530
push str.Win7
lea ecx, [ebp - 0x2cc]
call fcn.1006a387
jmp 0x10009566
cmp dword [ebp - 0x2a4], 2
jne 0x10009566
cmp dword [0x1010708c], 0
je 0x10009556
push str.Win8_64_
lea ecx, [ebp - 0x2cc]
call fcn.1006a387
jmp 0x10009566
push str.Win8
lea ecx, [ebp - 0x2cc]
call fcn.1006a387
mov esi, esp
lea edx, [ebp - 0x290]
push edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x20]
push edx
call dword [ecx + 0xb4]
cmp esi, esp
call fcn.10021b10
mov esi, esp
lea eax, [ebp - 0x284]
push eax
mov ecx, dword [ebp - 0x290]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x290]
push eax
call dword [edx + 0x1c]
cmp esi, esp
call fcn.10021b10
mov ecx, dword [ebp - 0x284]
push ecx
lea ecx, [ebp - 0x14]
call fcn.1006a387
mov esi, esp
mov edx, dword [ebp - 0x284]
push edx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp esi, esp
call fcn.10021b10
push str.product
lea ecx, [ebp - 0x14]
call fcn.100acc4d
test eax, eax
je 0x10009600
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2ac]
call fcn.1006a0d0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2cc]
call fcn.1006a0d0
jmp 0x1000a85e
mov esi, esp
lea eax, [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x290]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x290]
push eax
call dword [edx + 0x44]
cmp esi, esp
call fcn.10021b10
cmp dword [ebp - 0x18], 0
jne 0x10009648
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2ac]
call fcn.1006a0d0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2cc]
call fcn.1006a0d0
jmp 0x1000a85e
mov ecx, dword [ebp - 0x18]
call fcn.1000f3d0
test eax, eax
jne 0x10009677
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2ac]
call fcn.1006a0d0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2cc]
call fcn.1006a0d0
jmp 0x1000a85e
mov esi, esp
lea ecx, [ebp - 0x28c]
push ecx
push 0
mov edx, dword [ebp - 0x18]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x18]
push ecx
call dword [eax + 0x28]
cmp esi, esp
call fcn.10021b10
mov esi, esp
lea edx, [ebp - 0x284]
push edx
mov eax, dword [ebp - 0x28c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x28c]
push edx
call dword [ecx + 0x1c]
cmp esi, esp
call fcn.10021b10
mov eax, dword [ebp - 0x284]
push eax
lea ecx, [ebp - 0x14]
call fcn.1006a387
mov esi, esp
mov ecx, dword [ebp - 0x284]
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp esi, esp
call fcn.10021b10
push 0x100f4654
lea ecx, [ebp - 0x14]
call fcn.100acc9b
test eax, eax
je 0x10009710
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2ac]
call fcn.1006a0d0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2cc]
call fcn.1006a0d0
jmp 0x1000a85e
mov esi, esp
lea edx, [ebp - 0x284]
push edx
mov eax, dword [ebp - 0x28c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x28c]
push edx
call dword [ecx + 0x68]
cmp esi, esp
call fcn.10021b10
mov eax, dword [ebp - 0x284]
push eax
lea ecx, [ebp - 0x14]
call fcn.1006a387
mov esi, esp
mov ecx, dword [ebp - 0x284]
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp esi, esp
call fcn.10021b10
lea ecx, [ebp - 0x14]
call fcn.100acc14
push eax
lea ecx, [ebp - 0x288]
call fcn.100acc9b
test eax, eax
je 0x10009792
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2ac]
call fcn.1006a0d0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2cc]
call fcn.1006a0d0
jmp 0x1000a85e
mov edx, dword [ebp - 0x28c]
mov eax, dword [edx]
mov esi, esp
mov ecx, dword [ebp - 0x28c]
push ecx
call dword [eax + 8]
cmp esi, esp
call fcn.10021b10
mov dword [ebp - 0x28c], 0
mov ecx, dword [ebp - 0x18]
call fcn.1000f3d0
cmp eax, 2
jne 0x100098c0
mov esi, esp
lea edx, [ebp - 0x28c]
push edx
push 1
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x18]
push edx
call dword [ecx + 0x28]
cmp esi, esp
call fcn.10021b10
mov esi, esp
lea eax, [ebp - 0x284]
push eax
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x28c]
push eax
call dword [edx + 0x1c]
cmp esi, esp
call fcn.10021b10
mov ecx, dword [ebp - 0x284]
push ecx
lea ecx, [ebp - 0x14]
call fcn.1006a387
mov esi, esp
mov edx, dword [ebp - 0x284]
push edx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp esi, esp
call fcn.10021b10
push 0x100f4660
lea ecx, [ebp - 0x14]
call fcn.100acc9b
test eax, eax
jne 0x1000989b
mov esi, esp
lea eax, [ebp - 0x284]
push eax
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x28c]
push eax
call dword [edx + 0x68]
cmp esi, esp
call fcn.10021b10
mov ecx, dword [ebp - 0x284]
push ecx
lea ecx, [ebp - 0x14]
call fcn.1006a387
mov esi, esp
mov edx, dword [ebp - 0x284]
push edx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp esi, esp
call fcn.10021b10
lea ecx, [ebp - 0x14]
call fcn.100acc14
push eax
call fcn.10022bb0
add esp, 4
mov dword [0x1010706c], eax
mov eax, dword [ebp - 0x28c]
mov ecx, dword [eax]
mov esi, esp
mov edx, dword [ebp - 0x28c]
push edx
call dword [ecx + 8]
cmp esi, esp
call fcn.10021b10
mov dword [ebp - 0x28c], 0
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
mov esi, esp
mov edx, dword [ebp - 0x18]
push edx
call dword [ecx + 8]
cmp esi, esp
call fcn.10021b10
mov dword [ebp - 0x18], 0
mov ecx, dword [ebp - 0x290]
call fcn.1000f240
movsx eax, ax
test eax, eax
jne 0x10009911
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2ac]
call fcn.1006a0d0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2cc]
call fcn.1006a0d0
jmp 0x1000a85e
mov esi, esp
lea ecx, [ebp - 0x30]
push ecx
mov edx, dword [ebp - 0x290]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x290]
push ecx
call dword [eax + 0x30]
cmp esi, esp
call fcn.10021b10
mov dword [ebp - 0x2bc], 0
jmp 0x1000994b
mov edx, dword [ebp - 0x2bc]
add edx, 1
mov dword [ebp - 0x2bc], edx
mov ecx, dword [ebp - 0x30]
call fcn.1000f2b0
cmp dword [ebp - 0x2bc], eax
jge 0x1000a840
mov esi, esp
lea eax, [ebp - 0x28c]
push eax
mov ecx, dword [ebp - 0x2bc]
push ecx
mov edx, dword [ebp - 0x30]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x30]
push ecx
call dword [eax + 0x1c]
cmp esi, esp
call fcn.10021b10
mov ecx, dword [ebp - 0x28c]
call fcn.1000f240
movsx edx, ax
test edx, edx
jne 0x100099b1
mov eax, dword [ebp - 0x28c]
mov ecx, dword [eax]
mov esi, esp
mov edx, dword [ebp - 0x28c]
push edx
call dword [ecx + 8]
cmp esi, esp
call fcn.10021b10
jmp 0x1000993c
mov esi, esp
lea eax, [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x28c]
push eax
call dword [edx + 0x44]
cmp esi, esp
call fcn.10021b10
mov esi, esp
lea ecx, [ebp - 0x2c8]
push ecx
push 0
mov edx, dword [ebp - 0x18]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x18]
push ecx
call dword [eax + 0x28]
cmp esi, esp
call fcn.10021b10
mov esi, esp
lea edx, [ebp - 0x284]
push edx
mov eax, dword [ebp - 0x2c8]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x2c8]
push edx
call dword [ecx + 0x68]
cmp esi, esp
call fcn.10021b10
mov eax, dword [ebp - 0x284]
push eax
lea ecx, [ebp - 0x14]
call fcn.1006a387
mov esi, esp
mov ecx, dword [ebp - 0x284]
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp esi, esp
call fcn.10021b10
push 0x3af8
call fcn.1006b3a0
add esp, 4
mov dword [ebp - 0x31c], eax
mov edx, dword [ebp - 0x31c]
mov dword [ebp - 0x2c0], edx
lea ecx, [ebp - 0x2ac]
call fcn.10069f35
push 0x3af8
push 0
mov eax, dword [ebp - 0x2c0]
push eax
call fcn.10021ab0
add esp, 0xc
mov esi, esp
push 0xc8
push 0
lea ecx, [ebp - 0x14]
call fcn.1006a88b
push eax
mov ecx, dword [ebp - 0x2c0]
add ecx, 2
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
cmp esi, esp
call fcn.10021b10
mov edx, dword [ebp - 0x18]
mov eax, dword [edx]
mov esi, esp
mov ecx, dword [ebp - 0x18]
push ecx
call dword [eax + 8]
cmp esi, esp
call fcn.10021b10
mov dword [ebp - 0x18], 0
mov edx, dword [ebp - 0x2c8]
mov eax, dword [edx]
mov esi, esp
mov ecx, dword [ebp - 0x2c8]
push ecx
call dword [eax + 8]
cmp esi, esp
call fcn.10021b10
mov edx, dword [ebp - 0x2c0]
add edx, 2
push edx
push str.ParsingUpdateItem___Add_Item__s
call fcn.10003f70
add esp, 8
mov esi, esp
lea eax, [ebp - 0x2a8]
push eax
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x28c]
push eax
call dword [edx + 0x30]
cmp esi, esp
call fcn.10021b10
mov dword [ebp - 0x2c4], 0
jmp 0x10009b29
mov ecx, dword [ebp - 0x2c4]
add ecx, 1
mov dword [ebp - 0x2c4], ecx
mov ecx, dword [ebp - 0x2a8]
call fcn.1000f2b0
cmp dword [ebp - 0x2c4], eax
jge 0x1000a619
mov esi, esp
lea edx, [ebp - 0x2c8]
push edx
mov eax, dword [ebp - 0x2c4]
push eax
mov ecx, dword [ebp - 0x2a8]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x2a8]
push eax
call dword [edx + 0x1c]
cmp esi, esp
call fcn.10021b10
mov esi, esp
lea ecx, [ebp - 0x284]
push ecx
mov edx, dword [ebp - 0x2c8]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x2c8]
push ecx
call dword [eax + 0x1c]
cmp esi, esp
call fcn.10021b10
mov edx, dword [ebp - 0x284]
push edx
lea ecx, [ebp - 0x320]
call fcn.1006a161
mov dword [ebp - 0x34c], eax
mov eax, dword [ebp - 0x34c]
mov dword [ebp - 0x350], eax
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x350]
push ecx
lea ecx, [ebp - 0x14]
call fcn.1006a2d0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x320]
call fcn.1006a0d0
mov esi, esp
mov edx, dword [ebp - 0x284]
push edx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp esi, esp
call fcn.10021b10
mov esi, esp
lea eax, [ebp - 0x284]
push eax
mov ecx, dword [ebp - 0x2c8]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x2c8]
push eax
call dword [edx + 0x68]
cmp esi, esp
call fcn.10021b10
mov ecx, dword [ebp - 0x284]
push ecx
lea ecx, [ebp - 0x324]
call fcn.1006a161
mov dword [ebp - 0x354], eax
mov edx, dword [ebp - 0x354]
mov dword [ebp - 0x358], edx
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x358]
push eax
lea ecx, [ebp - 0x2c]
call fcn.1006a2d0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x324]
call fcn.1006a0d0
mov esi, esp
mov ecx, dword [ebp - 0x284]
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp esi, esp
call fcn.10021b10
push 0x100f46a8
lea ecx, [ebp - 0x14]
call fcn.100acc9b
test eax, eax
jne 0x10009ce9
push str.driver
lea ecx, [ebp - 0x2c]
call fcn.100acc9b
test eax, eax
jne 0x10009c92
mov edx, dword [ebp - 0x2c0]
mov byte [edx], 2
jmp 0x10009ce4
push 0x100f46c4
lea ecx, [ebp - 0x2c]
call fcn.100acc9b
test eax, eax
jne 0x10009cae
mov eax, dword [ebp - 0x2c0]
mov byte [eax], 3
jmp 0x10009ce4
push str.BIOS
lea ecx, [ebp - 0x2c]
call fcn.100acc9b
test eax, eax
jne 0x10009cca
mov ecx, dword [ebp - 0x2c0]
mov byte [ecx], 1
jmp 0x10009ce4
push str.Hotfix
lea ecx, [ebp - 0x2c]
call fcn.100acc9b
test eax, eax
jne 0x10009ce4
mov edx, dword [ebp - 0x2c0]
mov byte [edx], 4
jmp 0x1000a5f9
push str.hwid
lea ecx, [ebp - 0x14]
call fcn.100acc9b
test eax, eax
jne 0x10009fa7
mov dword [ebp - 0x2d4], 0
push 0x204
call fcn.1006b3a0
add esp, 4
mov dword [ebp - 0x328], eax
mov eax, dword [ebp - 0x328]
mov dword [ebp - 0x2d8], eax
push 4
push 0
mov ecx, dword [ebp - 0x2d8]
push ecx
call fcn.10021ab0
add esp, 0xc
mov esi, esp
push 0x100
push 0
lea ecx, [ebp - 0x2c]
call fcn.1006a88b
push eax
mov edx, dword [ebp - 0x2d8]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
cmp esi, esp
call fcn.10021b10
mov esi, esp
lea eax, [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x2c8]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x2c8]
push eax
call dword [edx + 0x44]
cmp esi, esp
call fcn.10021b10
mov ecx, dword [ebp - 0x18]
call fcn.1000f3d0
test eax, eax
je 0x10009f3e
mov dword [ebp - 0x2dc], 0
jmp 0x10009daa
mov ecx, dword [ebp - 0x2dc]
add ecx, 1
mov dword [ebp - 0x2dc], ecx
mov ecx, dword [ebp - 0x18]
call fcn.1000f3d0
cmp dword [ebp - 0x2dc], eax
jge 0x10009f3e
mov esi, esp
lea edx, [ebp - 0x2d4]
push edx
mov eax, dword [ebp - 0x2dc]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x18]
push eax
call dword [edx + 0x28]
cmp esi, esp
call fcn.10021b10
mov esi, esp
lea ecx, [ebp - 0x284]
push ecx
mov edx, dword [ebp - 0x2d4]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x2d4]
push ecx
call dword [eax + 0x1c]
cmp esi, esp
call fcn.10021b10
mov edx, dword [ebp - 0x284]
push edx
lea ecx, [ebp - 0x32c]
call fcn.1006a161
mov dword [ebp - 0x35c], eax
mov eax, dword [ebp - 0x35c]
mov dword [ebp - 0x360], eax
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x360]
push ecx
lea ecx, [ebp - 0x14]
call fcn.1006a2d0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x32c]
call fcn.1006a0d0
mov esi, esp
mov edx, dword [ebp - 0x284]
push edx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp esi, esp
call fcn.10021b10
mov esi, esp
lea eax, [ebp - 0x284]
push eax
mov ecx, dword [ebp - 0x2d4]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x2d4]
push eax
call dword [edx + 0x68]
cmp esi, esp
call fcn.10021b10
mov ecx, dword [ebp - 0x284]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.1006a387
mov esi, esp
mov edx, dword [ebp - 0x284]
push edx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp esi, esp
call fcn.10021b10
push 0x100f46f4
lea ecx, [ebp - 0x14]
call fcn.100acc9b
test eax, eax
jne 0x10009ee4
mov esi, esp
push 0xc8
push 0
lea ecx, [ebp - 0x2c]
call fcn.1006a88b
push eax
mov eax, dword [ebp - 0x2d8]
add eax, 0x100
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
cmp esi, esp
call fcn.10021b10
jmp 0x10009f1e
push str.date
lea ecx, [ebp - 0x14]
call fcn.100acc9b
test eax, eax
jne 0x10009f1e
mov esi, esp
push 0x3c
push 0
lea ecx, [ebp - 0x2c]
call fcn.1006a88b
push eax
mov ecx, dword [ebp - 0x2d8]
add ecx, 0x1c8
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
cmp esi, esp
call fcn.10021b10
mov edx, dword [ebp - 0x2d4]
mov eax, dword [edx]
mov esi, esp
mov ecx, dword [ebp - 0x2d4]
push ecx
call dword [eax + 8]
cmp esi, esp
call fcn.10021b10
jmp 0x10009d9b
mov edx, dword [ebp - 0x18]
mov eax, dword [edx]
mov esi, esp
mov ecx, dword [ebp - 0x18]
push ecx
call dword [eax + 8]
cmp esi, esp
call fcn.10021b10
push 0x204
mov edx, dword [ebp - 0x2d8]
push edx
mov eax, dword [ebp - 0x2c0]
mov ecx, dword [eax + 0x12a4]
imul ecx, ecx, 0x204
mov edx, dword [ebp - 0x2c0]
lea eax, [edx + ecx + 0x12a8]
push eax
call fcn.100223f0
add esp, 0xc
mov ecx, dword [ebp - 0x2c0]
mov edx, dword [ecx + 0x12a4]
add edx, 1
mov eax, dword [ebp - 0x2c0]
mov dword [eax + 0x12a4], edx
jmp 0x1000a5f9
push 0x100f4710
lea ecx, [ebp - 0x14]
call fcn.100acc9b
test eax, eax
jne 0x10009fcc
lea ecx, [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x2ac]
call fcn.1006a2d0
jmp 0x1000a5f9
push str.version
lea ecx, [ebp - 0x14]
call fcn.100acc9b
test eax, eax
jne 0x1000a00e
mov esi, esp
push 0xc8
push 0
lea ecx, [ebp - 0x2c]
call fcn.1006a88b
push eax
mov edx, dword [ebp - 0x2c0]
add edx, 0x192
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
cmp esi, esp
call fcn.10021b10
jmp 0x1000a5f9
push str.size
lea ecx, [ebp - 0x14]
call fcn.100acc9b
test eax, eax
jne 0x1000a043
push 0
lea ecx, [ebp - 0x2c]
call fcn.1006a88b
push eax
call fcn.10022bb0
add esp, 4
mov ecx, dword [ebp - 0x2c0]
mov dword [ecx + 0x1244], eax
jmp 0x1000a5f9
push str.zip_path
lea ecx, [ebp - 0x14]
call fcn.100acc9b
test eax, eax
jne 0x1000a085
mov esi, esp
push 0x400
push 0
lea ecx, [ebp - 0x2c]
call fcn.1006a88b
push eax
mov edx, dword [ebp - 0x2c0]
add edx, 0x65a
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
cmp esi, esp
call fcn.10021b10
jmp 0x1000a5f9
push str.path
lea ecx, [ebp - 0x14]
call fcn.100acc9b
test eax, eax
jne 0x1000a0c6
mov esi, esp
push 0x400
push 0
lea ecx, [ebp - 0x2c]
call fcn.1006a88b
push eax
mov eax, dword [ebp - 0x2c0]
add eax, 0xa5a
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
cmp esi, esp
call fcn.10021b10
jmp 0x1000a5f9
push str.execute
lea ecx, [ebp - 0x14]
call fcn.100acc9b
test eax, eax
jne 0x1000a108
mov esi, esp
push 0xc8
push 0
lea ecx, [ebp - 0x2c]
call fcn.1006a88b
push eax
mov ecx, dword [ebp - 0x2c0]
add ecx, 0xf22
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
cmp esi, esp
call fcn.10021b10
jmp 0x1000a5f9
push str.uninstall
lea ecx, [ebp - 0x14]
call fcn.100acc9b
test eax, eax
jne 0x1000a14a
mov esi, esp
push 0xc8
push 0
lea ecx, [ebp - 0x2c]
call fcn.1006a88b
push eax
mov edx, dword [ebp - 0x2c0]
add edx, 0xfea
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
cmp esi, esp
call fcn.10021b10
jmp 0x1000a5f9
push str.pre_patch
lea ecx, [ebp - 0x14]
call fcn.100acc9b
test eax, eax
jne 0x1000a18b
mov esi, esp
push 0xc8
push 0
lea ecx, [ebp - 0x2c]
call fcn.1006a88b
push eax
mov eax, dword [ebp - 0x2c0]
add eax, 0x10b2
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
cmp esi, esp
call fcn.10021b10
jmp 0x1000a5f9
push str.post_patch
lea ecx, [ebp - 0x14]
call fcn.100acc9b
test eax, eax
jne 0x1000a1cd
mov esi, esp
push 0xc8
push 0
lea ecx, [ebp - 0x2c]
call fcn.1006a88b
push eax
mov ecx, dword [ebp - 0x2c0]
add ecx, 0x117a
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
cmp esi, esp
call fcn.10021b10
jmp 0x1000a5f9
push str.description
lea ecx, [ebp - 0x14]
call fcn.100acc9b
test eax, eax
jne 0x1000a3de
mov dword [ebp - 0x2e4], 0
mov esi, esp
lea edx, [ebp - 0x18]
push edx
mov eax, dword [ebp - 0x2c8]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x2c8]
push edx
call dword [ecx + 0x44]
cmp esi, esp
call fcn.10021b10
mov esi, esp
lea eax, [ebp - 0x2e4]
push eax
push 0
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x18]
push eax
call dword [edx + 0x28]
cmp esi, esp
call fcn.10021b10
mov esi, esp
lea ecx, [ebp - 0x284]
push ecx
mov edx, dword [ebp - 0x2e4]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x2e4]
push ecx
call dword [eax + 0x68]
cmp esi, esp
call fcn.10021b10
mov edx, dword [ebp - 0x284]
push edx
lea ecx, [ebp - 0x14]
call fcn.1006a387
mov esi, esp
mov eax, dword [ebp - 0x284]
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp esi, esp
call fcn.10021b10
mov ecx, dword [ebp - 0x2e4]
mov edx, dword [ecx]
mov esi, esp
mov eax, dword [ebp - 0x2e4]
push eax
call dword [edx + 8]
cmp esi, esp
call fcn.10021b10
push 0
lea ecx, [ebp - 0x14]
call fcn.1006a88b
push eax
call fcn.10022bb0
add esp, 4
mov word [ebp - 0x2e0], ax
mov ecx, dword [ebp - 0x2e0]
and ecx, 0xffff
cmp dword [0x101070a8], ecx
je 0x1000a2ed
mov edx, dword [ebp - 0x2e0]
and edx, 0xffff
cmp edx, 0x409
jne 0x1000a3c4
mov eax, dword [ebp - 0x2c0]
add eax, 0x25a
push eax
call fcn.100223c0
add esp, 4
test eax, eax
jne 0x1000a3c4
mov esi, esp
lea ecx, [ebp - 0x2e4]
push ecx
push 1
mov edx, dword [ebp - 0x18]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x18]
push ecx
call dword [eax + 0x28]
cmp esi, esp
call fcn.10021b10
mov esi, esp
lea edx, [ebp - 0x284]
push edx
mov eax, dword [ebp - 0x2e4]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x2e4]
push edx
call dword [ecx + 0x68]
cmp esi, esp
call fcn.10021b10
mov eax, dword [ebp - 0x284]
push eax
lea ecx, [ebp - 0x14]
call fcn.1006a387
mov esi, esp
mov ecx, dword [ebp - 0x284]
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp esi, esp
call fcn.10021b10
mov edx, dword [ebp - 0x2e4]
mov eax, dword [edx]
mov esi, esp
mov ecx, dword [ebp - 0x2e4]
push ecx
call dword [eax + 8]
cmp esi, esp
call fcn.10021b10
mov esi, esp
push 0xc8
push 0
lea ecx, [ebp - 0x14]
call fcn.1006a88b
push eax
mov edx, dword [ebp - 0x2c0]
add edx, 0xca
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
cmp esi, esp
call fcn.10021b10
mov esi, esp
push 0x400
push 0
lea ecx, [ebp - 0x2c]
call fcn.1006a88b
push eax
mov eax, dword [ebp - 0x2c0]
add eax, 0x25a
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
cmp esi, esp
call fcn.10021b10
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx]
mov esi, esp
mov eax, dword [ebp - 0x18]
push eax
call dword [edx + 8]
cmp esi, esp
call fcn.10021b10
jmp 0x1000a5f9
push str.index
lea ecx, [ebp - 0x14]
call fcn.100acc9b
test eax, eax
jne 0x1000a413
push 0
lea ecx, [ebp - 0x2c]
call fcn.1006a88b
push eax
call fcn.10022bb0
add esp, 4
mov ecx, dword [ebp - 0x2c0]
mov dword [ecx + 0x1248], eax
jmp 0x1000a5f9
push str.reboot
lea ecx, [ebp - 0x14]
call fcn.100acc9b
test eax, eax
jne 0x1000a450
push 0
lea ecx, [ebp - 0x2c]
call fcn.1006a88b
push eax
call fcn.10022bb0
add esp, 4
sub eax, 1
neg eax
sbb eax, eax
inc eax
mov edx, dword [ebp - 0x2c0]
mov dword [edx + 0x129c], eax
jmp 0x1000a5f9
push str.downgradable
lea ecx, [ebp - 0x14]
call fcn.100acc9b
test eax, eax
jne 0x1000a48d
push 0
lea ecx, [ebp - 0x2c]
call fcn.1006a88b
push eax
call fcn.10022bb0
add esp, 4
sub eax, 1
neg eax
sbb eax, eax
inc eax
mov ecx, dword [ebp - 0x2c0]
mov dword [ecx + 0x129c], eax
jmp 0x1000a5f9
push str.dependence
lea ecx, [ebp - 0x14]
call fcn.100acc9b
test eax, eax
jne 0x1000a5f9
mov dword [ebp - 0x2f0], 0
mov dword [ebp - 0x2ec], 0
lea ecx, [ebp - 0x2e8]
call fcn.100acad7
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x2c]
call fcn.100acbca
test eax, eax
jle 0x1000a5ea
push 0x2c
lea ecx, [ebp - 0x2c]
call fcn.1006ac21
mov dword [ebp - 0x2f0], eax
cmp dword [ebp - 0x2f0], 0
jle 0x1000a596
mov edx, dword [ebp - 0x2f0]
push edx
lea eax, [ebp - 0x330]
push eax
lea ecx, [ebp - 0x2c]
call fcn.1004f9a6
mov dword [ebp - 0x364], eax
mov ecx, dword [ebp - 0x364]
mov dword [ebp - 0x368], ecx
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x368]
push edx
lea ecx, [ebp - 0x2e8]
call fcn.1006a2d0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x330]
call fcn.1006a0d0
lea ecx, [ebp - 0x2c]
call fcn.100acbca
sub eax, dword [ebp - 0x2f0]
sub eax, 1
push eax
lea eax, [ebp - 0x334]
push eax
lea ecx, [ebp - 0x2c]
call fcn.1004f8e7
mov dword [ebp - 0x36c], eax
mov ecx, dword [ebp - 0x36c]
mov dword [ebp - 0x370], ecx
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x370]
push edx
lea ecx, [ebp - 0x2c]
call fcn.1006a2d0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x334]
call fcn.1006a0d0
jmp 0x1000a5ad
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x2e8]
call fcn.1006a2d0
lea ecx, [ebp - 0x2c]
call fcn.10069f35
push 0
lea ecx, [ebp - 0x2e8]
call fcn.1006a88b
push eax
call fcn.10022be0
add esp, 4
mov ecx, dword [ebp - 0x2ec]
mov edx, dword [ebp - 0x2c0]
mov dword [edx + ecx*4 + 0x124c], eax
mov eax, dword [ebp - 0x2ec]
add eax, 1
mov dword [ebp - 0x2ec], eax
jmp 0x1000a4c5
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x2e8]
call fcn.1006a0d0
mov ecx, dword [ebp - 0x2c8]
mov edx, dword [ecx]
mov esi, esp
mov eax, dword [ebp - 0x2c8]
push eax
call dword [edx + 8]
cmp esi, esp
call fcn.10021b10
jmp 0x10009b1a
mov ecx, dword [ebp - 0x2a8]
mov edx, dword [ecx]
mov esi, esp
mov eax, dword [ebp - 0x2a8]
push eax
call dword [edx + 8]
cmp esi, esp
call fcn.10021b10
mov dword [ebp - 0x2a8], 0
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ecx]
mov esi, esp
mov eax, dword [ebp - 0x28c]
push eax
call dword [edx + 8]
cmp esi, esp
call fcn.10021b10
mov dword [ebp - 0x28c], 0
cmp dword [ebp - 0x2c0], 0
je 0x1000a83b
lea ecx, [ebp - 0x2ac]
call fcn.100acbca
mov dword [ebp - 0x304], eax
push 0x100f480c
lea ecx, [ebp - 0x2ac]
call fcn.1004fb7a
mov dword [ebp - 0x2f4], eax
mov dword [ebp - 0x2f8], 0
mov dword [ebp - 0x300], 0
mov dword [ebp - 0x2fc], 0
mov dword [ebp - 0x308], 0
cmp dword [ebp - 0x2f4], 0xffffffff
je 0x1000a77b
mov ecx, dword [ebp - 0x2f4]
sub ecx, dword [ebp - 0x2f8]
push ecx
mov edx, dword [ebp - 0x2f8]
push edx
lea eax, [ebp - 0x33c]
push eax
lea ecx, [ebp - 0x2ac]
call fcn.1004f78e
mov dword [ebp - 0x374], eax
mov ecx, dword [ebp - 0x374]
mov dword [ebp - 0x378], ecx
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x378]
push edx
lea eax, [ebp - 0x2cc]
push eax
call fcn.100ace57
mov byte [ebp - 0x338], al
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x33c]
call fcn.1006a0d0
mov ecx, dword [ebp - 0x338]
and ecx, 0xff
test ecx, ecx
je 0x1000a74a
mov dword [ebp - 0x308], 1
mov edx, dword [ebp - 0x2f4]
add edx, 1
mov dword [ebp - 0x2f8], edx
mov eax, dword [ebp - 0x2f8]
push eax
push 0x100f4810
lea ecx, [ebp - 0x2ac]
call fcn.1004fb95
mov dword [ebp - 0x2f4], eax
jmp 0x1000a6bf
mov ecx, dword [ebp - 0x2f8]
cmp ecx, dword [ebp - 0x304]
jg 0x1000a7fa
mov edx, dword [ebp - 0x2f8]
push edx
lea eax, [ebp - 0x344]
push eax
lea ecx, [ebp - 0x2ac]
call fcn.1004f74e
mov dword [ebp - 0x37c], eax
mov ecx, dword [ebp - 0x37c]
mov dword [ebp - 0x380], ecx
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x380]
push edx
lea eax, [ebp - 0x2cc]
push eax
call fcn.100ace57
mov byte [ebp - 0x340], al
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x344]
call fcn.1006a0d0
mov ecx, dword [ebp - 0x340]
and ecx, 0xff
test ecx, ecx
je 0x1000a7fa
mov dword [ebp - 0x308], 1
cmp dword [ebp - 0x308], 0
jne 0x1000a820
mov edx, dword [ebp - 0x2c0]
mov dword [ebp - 0x348], edx
mov eax, dword [ebp - 0x348]
push eax
call fcn.1006b3e9
add esp, 4
jmp 0x1000a831
mov ecx, dword [ebp - 0x2c0]
push ecx
mov ecx, 0x10107090
call fcn.1000f530
mov dword [ebp - 0x2c0], 0
jmp 0x1000993c
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2ac]
call fcn.1006a0d0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2cc]
call fcn.1006a0d0
cmp dword [ebp - 0x28c], 0
je 0x1000a882
mov edx, dword [ebp - 0x28c]
mov eax, dword [edx]
mov esi, esp
mov ecx, dword [ebp - 0x28c]
push ecx
call dword [eax + 8]
cmp esi, esp
call fcn.10021b10
cmp dword [ebp - 0x30], 0
je 0x1000a89d
mov edx, dword [ebp - 0x30]
mov eax, dword [edx]
mov esi, esp
mov ecx, dword [ebp - 0x30]
push ecx
call dword [eax + 8]
cmp esi, esp
call fcn.10021b10
cmp dword [ebp - 0x290], 0
je 0x1000a8c1
mov edx, dword [ebp - 0x290]
mov eax, dword [edx]
mov esi, esp
mov ecx, dword [ebp - 0x290]
push ecx
call dword [eax + 8]
cmp esi, esp
call fcn.10021b10
cmp dword [ebp - 0x20], 0
je 0x1000a8dc
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
mov esi, esp
mov ecx, dword [ebp - 0x20]
push ecx
call dword [eax + 8]
cmp esi, esp
call fcn.10021b10
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2c]
call fcn.1006a0d0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x14]
call fcn.1006a0d0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x288]
call fcn.1006a0d0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.1006a0d0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
add esp, 0x380
cmp ebp, esp
call fcn.10021b10
mov esp, ebp
pop ebp
ret 0x10