Function at 0x1009da70
Capabilities:
Check if file exists
Query environment variable
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10190369
mov eax, dword fs:[0]
push eax
mov eax, 0x10524
call fcn.10126b60
mov eax, dword [0x101ed40c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10444], ecx
mov eax, dword [ebp + 8]
mov edi, dword [0x101f38c8]
mov ecx, dword [0x101f38cc]
mov dword [ebp - 0x1046c], eax
xor eax, eax
mov dword [ebp - 0x10440], 0
mov dword [ebp - 0x1043c], eax
mov dword [ebp - 0x10434], edi
mov dword [ebp - 0x10470], ecx
cmp edi, ecx
je 0x1009e9ec
xor eax, eax
mov ecx, 0x100
cmp byte [edi + 0x1c], al
cmovne eax, ecx
lea ecx, [edi + 4]
or eax, 0x20019
cmp dword [edi + 0x18], 8
jb 0x1009db00
mov ecx, dword [edi + 4]
lea edx, [ebp - 0x1042c]
push edx
push eax
push 0
push ecx
push dword [edi]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1009e9d1
push eax
push eax
push eax
push eax
mov dword [ebp - 0x10248], eax
lea eax, [ebp - 0x10248]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0x1042c]
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
test eax, eax
jne 0x1009e9d1
xor esi, esi
mov dword [ebp - 0x10448], esi
cmp dword [ebp - 0x10248], esi
je 0x1009e9c5
push 0x7ffe
lea eax, [ebp - 0x10218]
push 0
push eax
call fcn.1014de30
push 0x7ffe
lea eax, [ebp - 0x8218]
push 0
push eax
call fcn.1014de30
add esp, 0x18
mov dword [ebp - 0x10280], 0x3fff
lea eax, [ebp - 0x1027c]
mov dword [ebp - 0x1027c], 0x7ffe
push eax
lea eax, [ebp - 0x8218]
push eax
push 0
push 0
lea eax, [ebp - 0x10280]
push eax
lea eax, [ebp - 0x10218]
push eax
push esi
push dword [ebp - 0x1042c]
call dword [sym.imp.ADVAPI32.dll_RegEnumValueW]
test eax, eax
jne 0x1009e9bf
lea ecx, [ebp - 0x8218]
mov dword [ebp - 0x10268], eax
mov dword [ebp - 0x10264], 7
lea edx, [ecx + 2]
mov word [ebp - 0x10278], ax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1009dbf2
sub ecx, edx
lea eax, [ebp - 0x8218]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x10278]
call fcn.10044c60
xorps xmm0, xmm0
mov dword [ebp - 4], 0
lea eax, [ebp - 0x10240]
mov dword [ebp - 0x10234], 0
movups xmmword [ebp - 0x10244], xmm0
mov dword [ebp - 0x10244], 0
mov dword [ebp - 0x10430], eax
push 1
mov byte [ebp - 4], 1
call fcn.100a3c06
mov dword [ebp - 0x10234], eax
lea eax, [ebp - 0x10238]
mov byte [ebp - 4], 2
push eax
call fcn.1007f300
mov dword [ebp - 0x10240], eax
lea eax, [ebp - 0x10238]
push eax
call fcn.10045b30
mov dword [ebp - 0x1023c], eax
push 0x54
lea eax, [ebp - 0x10428]
mov byte [ebp - 4], 3
push 0
push eax
call fcn.1014de30
add esp, 0x18
lea eax, [ebp - 0x10240]
lea ecx, [ebp - 0x10428]
push 1
push 0x101a22d8
push str..__A_z_:______:________:__._eE__xX__eE__.__
push eax
call fcn.1007f490
lea ecx, [ebp - 0x10428]
mov byte [ebp - 4], 4
call fcn.100852b0
mov edi, eax
test edi, edi
je 0x1009dccc
lock inc dword [edi + 0x20]
mov ecx, dword [ebp - 0x10244]
test ecx, ecx
je 0x1009dd01
or eax, 0xffffffff
lock xadd dword [ecx + 0x20], eax
jne 0x1009dd01
mov esi, dword [ebp - 0x10244]
test esi, esi
je 0x1009dd01
mov ecx, esi
lea eax, [esi + 0xc]
mov esi, dword [eax]
mov dword [eax], 0
push 1
mov eax, dword [ecx]
call dword [eax]
test esi, esi
jne 0x1009dcea
mov ecx, dword [ebp - 0x10414]
mov dword [ebp - 0x10244], edi
mov byte [ebp - 4], 3
test ecx, ecx
je 0x1009dd6d
mov eax, dword [ebp - 0x1040c]
sub eax, ecx
sar eax, 2
lea edx, [eax*4]
mov eax, ecx
cmp edx, 0x1000
jb 0x1009dd45
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009ea13
push edx
push ecx
call fcn.1012659a
add esp, 8
mov dword [ebp - 0x10414], 0
mov dword [ebp - 0x10410], 0
mov dword [ebp - 0x1040c], 0
push 0x38
lea eax, [ebp - 0x102b8]
push 0
push eax
call fcn.1014de30
xorps xmm0, xmm0
mov dword [ebp - 0x102b8], 0
mov byte [ebp - 0x102b4], 0
movups xmmword [ebp - 0x102b0], xmm0
mov dword [ebp - 0x102a0], 0
mov byte [ebp - 0x1029c], 0
mov dword [ebp - 0x10298], 0
mov dword [ebp - 0x10294], 0
mov byte [ebp - 0x10290], 0
mov dword [ebp - 0x1028c], 0
mov dword [ebp - 0x10288], 0
mov byte [ebp - 0x10284], 0
xor eax, eax
mov dword [ebp - 0x10220], 0
mov dword [ebp - 0x1021c], 7
mov word [ebp - 0x10230], ax
push 0x208
push eax
lea eax, [ebp - 0x218]
mov byte [ebp - 4], 7
push eax
call fcn.1014de30
add esp, 0x18
lea ecx, [ebp - 0x218]
cmp dword [ebp - 0x10264], 8
lea eax, [ebp - 0x10278]
cmovae eax, dword [ebp - 0x10278]
push 0x104
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
xor eax, eax
mov dword [ebp - 0x10250], 0
lea ecx, [ebp - 0x218]
mov dword [ebp - 0x1024c], 7
mov word [ebp - 0x10260], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1009de62
sub ecx, edx
lea eax, [ebp - 0x218]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x10260]
call fcn.10044c60
cmp dword [ebp - 0x1024c], 8
lea ecx, [ebp - 0x10260]
mov eax, dword [ebp - 0x10250]
lea edx, [ebp - 0x10244]
cmovae ecx, dword [ebp - 0x10260]
push 1
push 0
push edx
lea eax, [ecx + eax*2]
mov byte [ebp - 4], 8
lea edx, [ebp - 0x102b8]
push edx
lea ecx, [ebp - 0x10260]
cmovae ecx, dword [ebp - 0x10260]
push eax
push ecx
call fcn.1007e800
add esp, 0x18
test al, al
je 0x1009df7e
mov ecx, dword [ebp - 0x102ac]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x102b0]
sub ecx, esi
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jbe 0x1009df7e
cmp eax, 1
lea eax, [ebp - 0x1028c]
jbe 0x1009df0b
lea eax, [esi + 0xc]
cmp byte [eax + 8], 0
je 0x1009df18
mov ecx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x1009df1c
xor ecx, ecx
xor eax, eax
xor edx, edx
mov dword [ebp - 0x10450], 0
mov dword [ebp - 0x1044c], 7
mov word [ebp - 0x10460], dx
cmp ecx, eax
je 0x1009df4e
sub eax, ecx
sar eax, 1
push eax
push ecx
lea ecx, [ebp - 0x10460]
call fcn.10044c60
or dword [ebp - 0x10440], 3
lea ecx, [ebp - 0x10230]
call fcn.100424a0
movups xmm0, xmmword [ebp - 0x10460]
movups xmmword [ebp - 0x10230], xmm0
movq xmm0, qword [ebp - 0x10450]
movq qword [ebp - 0x10220], xmm0
cmp dword [ebp - 0x1021c], 8
lea eax, [ebp - 0x10230]
cmovae eax, dword [ebp - 0x10230]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x1009e2b0
call fcn.100ca860
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x1009e133
cmp dword [ebp - 0x1021c], 8
lea eax, [ebp - 0x10230]
push 0x58
cmovae eax, dword [ebp - 0x10230]
lea ecx, [ebp - 0x10460]
push str.d:jenkins.jenkinsworkspacepcmanage_ownpop_native_rightsplugin_startup_autorunmgr.cpp
mov dword [ebp - 0x10438], eax
mov dword [ebp - 0x10450], 0
mov dword [ebp - 0x1044c], 0xf
mov byte [ebp - 0x10460], 0
call fcn.10044b60
push 3
push 0x1019eb18
lea ecx, [ebp - 0x1048c]
mov byte [ebp - 4], 9
mov dword [ebp - 0x1047c], 0
mov dword [ebp - 0x10478], 0xf
mov byte [ebp - 0x1048c], 0
call fcn.10044b60
mov byte [ebp - 4], 0xa
call fcn.100ca860
mov edi, eax
lea ecx, [ebp - 0x10530]
push 0x80
lea eax, [ebp - 0x10460]
push eax
lea eax, [ebp - 0x1048c]
push eax
call fcn.100461a0
mov esi, eax
push 0x101a22dc
push esi
mov byte [ebp - 4], 0xb
call fcn.10047780
mov eax, dword [ebp - 0x10438]
mov ecx, 0x1019ea04
test eax, eax
cmovne ecx, eax
push ecx
push esi
call fcn.100450a0
mov eax, dword [edi]
add esp, 0x10
mov ecx, edi
push esi
call dword [eax + 0x1c]
lea ecx, [ebp - 0x10530]
call fcn.100478a0
mov edx, dword [ebp - 0x10478]
mov byte [ebp - 4], 9
cmp edx, 0x10
jb 0x1009e0da
mov ecx, dword [ebp - 0x1048c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1009e0d0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009ea13
push edx
push ecx
call fcn.1012659a
add esp, 8
mov edx, dword [ebp - 0x1044c]
mov dword [ebp - 0x1047c], 0
mov dword [ebp - 0x10478], 0xf
mov byte [ebp - 0x1048c], 0
mov byte [ebp - 4], 8
cmp edx, 0x10
jb 0x1009e133
mov ecx, dword [ebp - 0x10460]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1009e129
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009ea13
push edx
push ecx
call fcn.1012659a
add esp, 8
mov edx, dword [ebp - 0x1024c]
mov byte [ebp - 4], 7
cmp edx, 8
jb 0x1009e177
mov ecx, dword [ebp - 0x10260]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1009e16d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009ea13
push edx
push ecx
call fcn.1012659a
add esp, 8
mov edx, dword [ebp - 0x1021c]
xor eax, eax
mov dword [ebp - 0x10250], 0
mov dword [ebp - 0x1024c], 7
mov word [ebp - 0x10260], ax
mov byte [ebp - 4], 6
cmp edx, 8
jb 0x1009e1d8
mov ecx, dword [ebp - 0x10230]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1009e1ce
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009ea13
push edx
push ecx
call fcn.1012659a
add esp, 8
xor eax, eax
mov dword [ebp - 0x10220], 0
lea ecx, [ebp - 0x102b0]
mov dword [ebp - 0x1021c], 7
mov word [ebp - 0x10230], ax
call fcn.1007ff70
mov ecx, dword [ebp - 0x10244]
test ecx, ecx
je 0x1009e235
or eax, 0xffffffff
lock xadd dword [ecx + 0x20], eax
jne 0x1009e235
mov esi, dword [ebp - 0x10244]
test esi, esi
je 0x1009e235
mov ecx, esi
lea eax, [esi + 0xc]
mov esi, dword [eax]
mov dword [eax], 0
push 1
mov eax, dword [ecx]
call dword [eax]
test esi, esi
jne 0x1009e21e
mov dword [ebp - 0x10244], 0
mov ecx, dword [ebp - 0x10234]
mov byte [ebp - 4], 0xc
test ecx, ecx
je 0x1009e260
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x1009e260
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov edx, dword [ebp - 0x10264]
mov dword [ebp - 4], 0xffffffff
cmp edx, 8
jb 0x1009e9a6
mov ecx, dword [ebp - 0x10278]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1009e2a1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009ea13
push edx
push ecx
call fcn.1012659a
add esp, 8
jmp 0x1009e9a6
lea eax, [ebp - 0x103d4]
push 0x12
push eax
call fcn.100931e0
add esp, 8
mov dword [ebp - 0x103ac], 0
xor eax, eax
mov dword [ebp - 0x103a8], 7
mov word [ebp - 0x103bc], ax
mov dword [ebp - 0x10394], eax
mov dword [ebp - 0x10390], 7
mov word [ebp - 0x103a4], ax
mov dword [ebp - 0x1037c], eax
mov dword [ebp - 0x10378], 7
mov word [ebp - 0x1038c], ax
mov dword [ebp - 0x10364], eax
mov dword [ebp - 0x10360], 7
mov word [ebp - 0x10374], ax
mov dword [ebp - 0x1035c], eax
mov dword [ebp - 0x10344], eax
mov dword [ebp - 0x10340], 7
mov word [ebp - 0x10354], ax
mov dword [ebp - 0x1032c], eax
mov dword [ebp - 0x10328], 7
mov word [ebp - 0x1033c], ax
mov dword [ebp - 0x10320], eax
mov dword [ebp - 0x1030c], eax
mov dword [ebp - 0x10308], 7
mov word [ebp - 0x1031c], ax
mov byte [ebp - 0x10304], al
mov dword [ebp - 0x102f0], eax
mov dword [ebp - 0x102ec], 7
mov word [ebp - 0x10300], ax
mov dword [ebp - 0x102d8], eax
mov dword [ebp - 0x102d4], 7
mov word [ebp - 0x102e8], ax
mov dword [ebp - 0x102c0], eax
mov dword [ebp - 0x102bc], 7
mov word [ebp - 0x102d0], ax
lea ecx, [ebp - 0x10218]
mov byte [ebp - 4], 0xd
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1009e3d0
sub ecx, edx
lea eax, [ebp - 0x10218]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x103bc]
call fcn.10044c60
cmp dword [ebp - 0x1021c], 8
lea eax, [ebp - 0x10230]
push dword [ebp - 0x10220]
cmovae eax, dword [ebp - 0x10230]
lea ecx, [ebp - 0x10354]
push eax
mov dword [ebp - 0x10358], 0
call fcn.10044c60
cmp dword [ebp - 0x10264], 8
lea eax, [ebp - 0x10278]
push dword [ebp - 0x10268]
cmovae eax, dword [ebp - 0x10278]
lea ecx, [ebp - 0x1033c]
push eax
call fcn.10044c60
mov esi, dword [ebp - 0x10434]
mov byte [ebp - 0x10324], 1
mov eax, dword [esi]
lea ecx, [esi + 4]
mov dword [ebp - 0x10320], eax
lea eax, [ebp - 0x1031c]
cmp eax, ecx
je 0x1009e483
cmp dword [ecx + 0x14], 8
mov eax, ecx
jb 0x1009e474
mov eax, dword [ecx]
push dword [ecx + 0x10]
lea ecx, [ebp - 0x1031c]
push eax
call fcn.10044c60
mov al, byte [esi + 0x1c]
lea esi, [ebp - 0x10230]
cmp dword [ebp - 0x1021c], 8
push ecx
cmovae esi, dword [ebp - 0x10230]
mov edi, esp
mov byte [ebp - 0x10304], al
mov dword [ebp - 0x10490], edi
call fcn.10043000
mov ecx, eax
test ecx, ecx
je 0x1009ea09
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [edi], eax
push esi
mov ecx, edi
mov byte [ebp - 4], 0xe
call fcn.10042d30
test al, al
jne 0x1009e4f9
test esi, esi
jne 0x1009e4dc
xor ecx, ecx
jmp 0x1009e4f0
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1009e4e1
sub ecx, edx
sar ecx, 1
push ecx
push esi
mov ecx, edi
call fcn.10043c10
lea eax, [ebp - 0x10464]
mov byte [ebp - 4], 0xd
push eax
call fcn.10091620
add esp, 8
mov edx, dword [eax]
mov ecx, edx
mov byte [ebp - 4], 0xf
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1009e517
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x10374]
call fcn.10044c60
mov edx, dword [ebp - 0x10464]
or eax, 0xffffffff
mov byte [ebp - 4], 0xd
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1009e555
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebp - 0x1021c], 8
lea esi, [ebp - 0x10230]
push ecx
cmovae esi, dword [ebp - 0x10230]
mov edi, esp
mov dword [ebp - 0x10494], edi
call fcn.10043000
mov ecx, eax
test ecx, ecx
je 0x1009ea09
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [edi], eax
push esi
mov ecx, edi
mov byte [ebp - 4], 0x10
call fcn.10042d30
test al, al
jne 0x1009e5c8
test esi, esi
jne 0x1009e5a5
xor ecx, ecx
jmp 0x1009e5bf
mov ecx, esi
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1009e5b0
sub ecx, edx
sar ecx, 1
push ecx
push esi
mov ecx, edi
call fcn.10043c10
lea eax, [ebp - 0x10468]
mov byte [ebp - 4], 0xd
push eax
call fcn.10095650
add esp, 8
mov edx, dword [eax]
mov ecx, edx
mov byte [ebp - 4], 0x11
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1009e5e6
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x103a4]
call fcn.10044c60
mov edx, dword [ebp - 0x10468]
or eax, 0xffffffff
mov byte [ebp - 4], 0xd
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1009e624
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x10444]
lea eax, [ebp - 0x10230]
push eax
call fcn.1009fa70
sub esp, 0x18
mov dword [ebp - 0x1035c], eax
mov ecx, esp
mov dword [ebp - 0x10474], esp
xor eax, eax
push 0xf
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
push str.FileDescription
mov word [ecx], ax
call fcn.10044c60
lea eax, [ebp - 0x1038c]
mov byte [ebp - 4], 0x12
push eax
sub esp, 0x18
lea ecx, [ebp - 0x10230]
mov edi, esp
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
cmp dword [ebp - 0x1021c], 8
mov eax, dword [ebp - 0x10220]
cmovae ecx, dword [ebp - 0x10230]
mov dword [ebp - 0x10438], eax
mov dword [ebp - 0x10430], ecx
cmp eax, 8
jae 0x1009e6be
movups xmm0, xmmword [ecx]
movups xmmword [edi], xmm0
mov dword [edi + 0x14], 7
jmp 0x1009e704
mov esi, eax
mov ecx, edi
or esi, 7
mov eax, SysReAllocString
cmp esi, 0x7ffffffe
cmova esi, eax
lea eax, [esi + 1]
push eax
call fcn.10044af0
mov ecx, dword [ebp - 0x10438]
mov dword [edi], eax
lea ecx, [ecx*2 + 2]
push ecx
push dword [ebp - 0x10430]
push eax
call fcn.1014d330
mov eax, dword [ebp - 0x10438]
add esp, 0xc
mov dword [edi + 0x14], esi
mov dword [edi + 0x10], eax
mov byte [ebp - 4], 0xd
call fcn.10092780
cmp dword [ebp - 0x103a8], 8
lea esi, [ebp - 0x103bc]
cmovae esi, dword [ebp - 0x103bc]
add esp, 0x30
mov edi, esp
mov dword [ebp - 0x10498], edi
call fcn.10043000
mov ecx, eax
test ecx, ecx
je 0x1009ea09
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [edi], eax
push esi
mov ecx, edi
mov byte [ebp - 4], 0x13
call fcn.10042d30
test al, al
jne 0x1009e77f
test esi, esi
jne 0x1009e762
xor ecx, ecx
jmp 0x1009e776
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1009e767
sub ecx, edx
sar ecx, 1
push ecx
push esi
mov ecx, edi
call fcn.10043c10
mov edi, dword [ebp - 0x10444]
mov ecx, edi
mov byte [ebp - 4], 0xd
call fcn.1009f910
lea ecx, [ebp - 0x103d4]
test al, al
je 0x1009e8a7
call fcn.10064550
mov edx, dword [ebp - 0x1024c]
mov byte [ebp - 4], 7
cmp edx, 8
jb 0x1009e7e7
mov ecx, dword [ebp - 0x10260]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1009e7dd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009ea13
push edx
push ecx
call fcn.1012659a
add esp, 8
mov edx, dword [ebp - 0x1021c]
xor eax, eax
mov dword [ebp - 0x10250], 0
mov dword [ebp - 0x1024c], 7
mov word [ebp - 0x10260], ax
mov byte [ebp - 4], 6
cmp edx, 8
jb 0x1009e848
mov ecx, dword [ebp - 0x10230]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1009e83e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1009ea13
push edx
push ecx
call fcn.1012659a
add esp, 8
xor eax, eax
mov dword [ebp - 0x10220], 0
lea ecx, [ebp - 0x102b0]
mov dword [ebp - 0x1021c], 7
mov word [ebp - 0x10230], ax
call fcn.1007ff70
mov ecx, dword [ebp - 0x10244]
test ecx, ecx
je 0x1009e894
or eax, 0xffffffff
lock xadd dword [ecx + 0x20], eax
jne 0x1009e894
push 0
push dword [ebp - 0x10244]
call fcn.100853c0
add esp, 8
mov dword [ebp - 0x10244], 0
mov byte [ebp - 4], 0x14
jmp 0x1009e977
mov eax, dword [edi + 0x18]
push ecx
cmp dword [edi + 0x1c], eax
je 0x1009e8c0
mov ecx, eax
call fcn.1009c290
add dword [edi + 0x18], 0x11c
jmp 0x1009e8c9
push eax
lea ecx, [edi + 0x14]
call fcn.1007dea0
lea eax, [ebp - 0x10230]
mov ecx, edi
push eax
call fcn.1009fa70
cmp eax, 0x32000
jle 0x1009e8e8
movss xmm1, dword [0x101a3d1c]
jmp 0x1009e901
cmp eax, 0x19000
jle 0x1009e8f9
movss xmm1, dword [0x101a3d18]
jmp 0x1009e901
movss xmm1, dword [0x101a3d14]
mov eax, dword [ebp - 0x1046c]
lea ecx, [ebp - 0x103d4]
inc dword [ebp - 0x1043c]
movss xmm0, dword [eax]
addss xmm0, xmm1
movss dword [eax], xmm0
call fcn.10064550
lea ecx, [ebp - 0x10260]
call fcn.100424a0
lea ecx, [ebp - 0x10230]
call fcn.100424a0
lea ecx, [ebp - 0x102b0]
call fcn.1007ff70
mov ecx, dword [ebp - 0x10244]
test ecx, ecx
je 0x1009e969
or eax, 0xffffffff
lock xadd dword [ecx + 0x20], eax
jne 0x1009e969
push 0
push dword [ebp - 0x10244]
call fcn.100853c0
add esp, 8
mov dword [ebp - 0x10244], 0
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x10234]
test ecx, ecx
je 0x1009e994
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x1009e994
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
lea ecx, [ebp - 0x10278]
mov dword [ebp - 4], 0xffffffff
call fcn.100424a0
mov esi, dword [ebp - 0x10448]
inc esi
mov dword [ebp - 0x10448], esi
cmp esi, dword [ebp - 0x10248]
jne 0x1009db60
mov edi, dword [ebp - 0x10434]
push dword [ebp - 0x1042c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
add edi, 0x20
mov dword [ebp - 0x10434], edi
cmp edi, dword [ebp - 0x10470]
jne 0x1009dae2
mov eax, dword [ebp - 0x1043c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10126919
mov esp, ebp
pop ebp
ret 4
push 0x80004005
call fcn.10042d10
call fcn.101513dc
int3