Function at 0x1007cd20
Capabilities:
Check if file exists
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10186be8
mov eax, dword fs:[0]
push eax
sub esp, 0x278
mov eax, dword [0x101dd594]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x248], ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x238], eax
mov dword [ebp - 4], 0
call fcn.1001b540
mov ecx, eax
test ecx, ecx
je 0x1007d9dc
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x23c], esi
mov byte [ebp - 4], 1
call fcn.1001b540
mov ecx, eax
test ecx, ecx
je 0x1007d9e6
mov eax, dword [ecx]
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [ebp - 0x234], edi
mov ebx, dword [0x101e7ce8]
mov eax, dword [0x101e7cec]
mov byte [ebp - 4], 2
mov dword [ebp - 0x244], ebx
mov dword [ebp - 0x238], eax
cmp ebx, eax
je 0x1007ce69
nop dword [eax + eax]
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x1007d9dc
push eax
push dword [ebx]
call fcn.10158862
add esp, 8
test eax, eax
jne 0x1007ce54
mov ecx, dword [ebx + 4]
lea ebx, [esi - 0x10]
lea edx, [ecx - 0x10]
cmp edx, ebx
je 0x1007ce4e
cmp dword [ebx + 0xc], eax
lea esi, [ebx + 0xc]
jl 0x1007ce39
mov eax, dword [edx]
cmp eax, dword [ebx]
jne 0x1007ce39
push edx
call fcn.1001d450
add esp, 4
mov dword [ebp - 0x240], eax
or ecx, 0xffffffff
lock xadd dword [esi], ecx
dec ecx
test ecx, ecx
jg 0x1007ce2e
mov ecx, dword [ebx]
push ebx
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x240]
lea esi, [eax + 0x10]
mov dword [ebp - 0x23c], esi
jmp 0x1007ce4e
push dword [ecx - 0xc]
push ecx
lea ecx, [ebp - 0x23c]
call fcn.10020080
mov esi, dword [ebp - 0x23c]
mov ebx, dword [ebp - 0x244]
add ebx, 8
mov dword [ebp - 0x244], ebx
cmp ebx, dword [ebp - 0x238]
jne 0x1007cdd0
cmp dword [esi - 0xc], 0
je 0x1007cee4
add esi, 0xfffffff0
push esi
call fcn.1001d450
mov ecx, dword [ebp - 0x250]
add eax, 0x10
or ebx, 0xffffffff
mov byte [ebp - 4], 1
add esp, 4
add edi, 0xfffffff0
mov dword [ecx], eax
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x1007cea4
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x1007cebc
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp + 0xc]
mov dword [ebp - 4], 0xffffffff
add eax, 0xfffffff0
lock xadd dword [eax + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x1007d9b8
mov ecx, dword [eax]
push eax
mov edx, dword [ecx]
call dword [edx + 4]
jmp 0x1007d9b8
lea eax, [ebp - 0x234]
push eax
push ecx
mov edi, esp
mov dword [ebp - 0x238], edi
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
push eax
call fcn.1001d450
mov ecx, dword [ebp - 0x248]
add esp, 4
add eax, 0x10
mov dword [edi], eax
call fcn.10082070
call fcn.100d1170
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
mov edi, dword [ebp - 0x234]
movzx eax, al
sub eax, 1
jne 0x1007d093
push 0x66
push str.d:jenkins.jenkinsworkspacemultiplugin_nativemultiplugin_rightsplugindefaultappdefaultappmgr.cpp
lea ecx, [ebp - 0x26c]
mov dword [ebp - 0x25c], 0
mov dword [ebp - 0x258], 0xf
mov byte [ebp - 0x26c], 0
call fcn.10019000
push 3
push 0x10193e24
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 3
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
call fcn.10019000
mov byte [ebp - 4], 4
call fcn.100d1170
mov dword [ebp - 0x238], eax
lea ecx, [ebp - 0xa8]
push 0x1cd
lea eax, [ebp - 0x26c]
push eax
lea eax, [ebp - 0x230]
push eax
call fcn.100167c0
mov ebx, eax
push str.strExePath
push ebx
mov byte [ebp - 4], 5
call fcn.100174d0
test edi, edi
mov ecx, 0x10193e70
cmovne ecx, edi
push ecx
push ebx
call fcn.1001a540
mov ecx, dword [ebp - 0x238]
add esp, 0x10
mov eax, dword [ecx]
push ebx
call dword [eax + 0x1c]
lea ecx, [ebp - 0xa8]
call fcn.10017580
mov edx, dword [ebp - 0x21c]
mov byte [ebp - 4], 3
cmp edx, 0x10
jb 0x1007d03a
mov ecx, dword [ebp - 0x230]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1007d030
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007d9f0
push edx
push ecx
call fcn.10127e1e
add esp, 8
mov edx, dword [ebp - 0x258]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
mov byte [ebp - 4], 2
cmp edx, 0x10
jb 0x1007d093
mov ecx, dword [ebp - 0x26c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1007d089
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007d9f5
push edx
push ecx
call fcn.10127e1e
add esp, 8
cmp dword [edi - 0xc], 0
mov ebx, 0x1019aad4
je 0x1007d209
push ecx
mov esi, esp
mov dword [ebp - 0x240], esp
mov dword [ebp - 0x244], esi
call fcn.1001b540
mov ecx, eax
test ecx, ecx
je 0x1007d9fa
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 6
mov ecx, esi
test ebx, 0xffff0000
jne 0x1007d0e3
movzx eax, bx
push eax
call fcn.100183a0
jmp 0x1007d0ef
push 0xb
push 0x1019aad4
call fcn.10020080
push ecx
mov ecx, esp
mov byte [ebp - 4], 7
push edi
call fcn.10016670
lea eax, [ebp - 0x238]
mov byte [ebp - 4], 2
push eax
call fcn.10095dd0
add esp, 0xc
push eax
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 8
call fcn.1001c9f0
mov edx, dword [ebp - 0x238]
or ebx, 0xffffffff
mov byte [ebp - 4], 2
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1007d143
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x23c]
push str.Microsoft
push esi
call fcn.10158862
add esp, 8
test eax, eax
jne 0x1007d20c
push ecx
mov esi, esp
mov dword [ebp - 0x240], esp
mov dword [ebp - 0x244], esi
call fcn.1001b540
mov ecx, eax
test ecx, ecx
je 0x1007da04
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
mov eax, 0x1019ab3c
mov byte [ebp - 4], 9
mov ecx, esi
test eax, 0xffff0000
jne 0x1007d1a4
movzx eax, ax
push eax
call fcn.100183a0
jmp 0x1007d1b0
push 0xf
push 0x1019ab3c
call fcn.10020080
push ecx
mov ecx, esp
mov byte [ebp - 4], 0xa
push edi
call fcn.10016670
lea eax, [ebp - 0x238]
mov byte [ebp - 4], 2
push eax
call fcn.10095dd0
add esp, 0xc
push eax
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 0xb
call fcn.1001c9f0
mov edx, dword [ebp - 0x238]
mov eax, ebx
mov byte [ebp - 4], 2
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1007d201
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x23c]
jmp 0x1007d20c
or ebx, 0xffffffff
cmp dword [esi - 0xc], 0
je 0x1007d22e
add esi, 0xfffffff0
push esi
call fcn.1001d450
mov ecx, dword [ebp - 0x250]
add esp, 4
add eax, 0x10
mov dword [ecx], eax
jmp 0x1007d966
push dword [ebp + 0xc]
mov dword [ebp - 0x254], 0
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
lea ecx, [ebp - 0x254]
call fcn.10016670
push ecx
mov ebx, esp
mov dword [ebp - 0x238], esp
mov dword [ebp - 0x240], ebx
mov eax, dword [ebp - 0x254]
add eax, 0xfffffff0
mov byte [ebp - 4], 0xc
push eax
mov dword [ebp - 0x24c], 0
call fcn.1001d450
add eax, 0x10
mov dword [ebx], eax
mov ebx, esp
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x240], ebx
call fcn.1001b540
mov ecx, eax
test ecx, ecx
je 0x1007da0e
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebx], eax
mov eax, str.Applications_
mov byte [ebp - 4], 0xe
mov ecx, ebx
test eax, 0xffff0000
jne 0x1007d2c0
movzx eax, ax
push eax
call fcn.100183a0
jmp 0x1007d2cc
push 0xd
push str.Applications_
call fcn.10020080
mov ecx, dword [ebp - 0x248]
lea eax, [ebp - 0x284]
push SysReAllocString
mov byte [ebp - 4], 0xd
push eax
mov byte [ebp - 4], 0xc
call fcn.100805a0
cmp dword [eax + 0x14], 8
mov byte [ebp - 4], 0xf
jb 0x1007d2f7
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x24c]
call fcn.10016670
mov edx, dword [ebp - 0x270]
mov byte [ebp - 4], 0x11
cmp edx, 8
jb 0x1007d347
mov ecx, dword [ebp - 0x284]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1007d33d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007da18
push edx
push ecx
call fcn.10127e1e
add esp, 8
xor eax, eax
mov dword [ebp - 0x274], 0
mov word [ebp - 0x284], ax
mov eax, dword [ebp - 0x24c]
mov dword [ebp - 0x270], 7
cmp dword [eax - 0xc], 0
jne 0x1007d44b
push ecx
mov ebx, esp
mov dword [ebp - 0x238], esp
mov dword [ebp - 0x240], ebx
mov eax, dword [ebp - 0x254]
add eax, 0xfffffff0
push eax
call fcn.1001d450
add eax, 0x10
mov dword [ebx], eax
mov ebx, esp
mov byte [ebp - 4], 0x12
mov dword [ebp - 0x240], ebx
call fcn.1001b540
mov ecx, eax
test ecx, ecx
je 0x1007da1d
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebx], eax
mov eax, 0x10193fcc
mov byte [ebp - 4], 0x13
mov ecx, ebx
test eax, 0xffff0000
jne 0x1007d3d9
movzx eax, ax
push eax
call fcn.100183a0
jmp 0x1007d3e5
push 0
push 0x10193fcc
call fcn.10020080
mov ecx, dword [ebp - 0x248]
lea eax, [ebp - 0x26c]
push SysReAllocString
mov byte [ebp - 4], 0x12
push eax
mov byte [ebp - 4], 0x11
call fcn.100805a0
mov edx, eax
cmp dword [edx + 0x14], 8
mov byte [ebp - 4], 0x14
jb 0x1007d412
mov edx, dword [edx]
test edx, edx
jne 0x1007d41a
xor ecx, ecx
jmp 0x1007d42f
mov ecx, edx
lea ebx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1007d420
sub ecx, ebx
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x24c]
call fcn.10020080
lea ecx, [ebp - 0x26c]
mov byte [ebp - 4], 0x11
call fcn.100171c0
call fcn.100d1170
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x1007d5c6
push 0x66
push str.d:jenkins.jenkinsworkspacemultiplugin_nativemultiplugin_rightsplugindefaultappdefaultappmgr.cpp
lea ecx, [ebp - 0x26c]
mov dword [ebp - 0x25c], eax
mov dword [ebp - 0x258], 0xf
mov byte [ebp - 0x26c], al
call fcn.10019000
push 3
push 0x10193e24
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0x15
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
call fcn.10019000
mov byte [ebp - 4], 0x16
call fcn.100d1170
mov dword [ebp - 0x238], eax
lea ecx, [ebp - 0xa8]
push 0x1e1
lea eax, [ebp - 0x26c]
push eax
lea eax, [ebp - 0x230]
push eax
call fcn.100167c0
mov ebx, eax
push str.strCommand
push ebx
mov byte [ebp - 4], 0x17
call fcn.100174d0
mov ecx, dword [ebp - 0x24c]
mov eax, 0x10193e70
test ecx, ecx
cmovne eax, ecx
push eax
push ebx
call fcn.1001a540
mov ecx, dword [ebp - 0x238]
add esp, 0x10
mov eax, dword [ecx]
push ebx
call dword [eax + 0x1c]
lea ecx, [ebp - 0xa8]
call fcn.10017580
mov edx, dword [ebp - 0x21c]
mov byte [ebp - 4], 0x15
cmp edx, 0x10
jb 0x1007d56d
mov ecx, dword [ebp - 0x230]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1007d563
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007da27
push edx
push ecx
call fcn.10127e1e
add esp, 8
mov edx, dword [ebp - 0x258]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
mov byte [ebp - 4], 0x11
cmp edx, 0x10
jb 0x1007d5c6
mov ecx, dword [ebp - 0x26c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1007d5bc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007da2c
push edx
push ecx
call fcn.10127e1e
add esp, 8
mov eax, dword [ebp - 0x24c]
cmp dword [eax - 0xc], 0
je 0x1007d812
mov edx, eax
mov dword [ebp - 0x220], 0
xor ecx, ecx
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], cx
lea ebx, [edx + 2]
nop dword [eax + eax]
mov cx, word [edx]
add edx, 2
test cx, cx
jne 0x1007d600
sub edx, ebx
lea ecx, [ebp - 0x230]
sar edx, 1
push edx
push eax
call fcn.1001ba50
push 0x208
lea eax, [ebp - 0x218]
mov byte [ebp - 4], 0x18
push 0
push eax
call fcn.10150460
add esp, 0xc
lea ecx, [ebp - 0x218]
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push 0x104
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1007d803
push ecx
mov esi, esp
mov dword [ebp - 0x240], esp
mov dword [ebp - 0x248], esi
call fcn.1001b540
mov ecx, eax
test ecx, ecx
je 0x1007da31
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
mov eax, 0x1019aad4
mov byte [ebp - 4], 0x19
mov ecx, esi
test eax, 0xffff0000
jne 0x1007d6b7
movzx eax, ax
push eax
call fcn.100183a0
jmp 0x1007d6c3
push 0xb
push 0x1019aad4
call fcn.10020080
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
push ecx
cmovae eax, dword [ebp - 0x230]
mov ecx, esp
push eax
mov byte [ebp - 4], 0x1a
call fcn.10016670
lea eax, [ebp - 0x238]
mov byte [ebp - 4], 0x18
push eax
call fcn.10095dd0
add esp, 0xc
push eax
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 0x1b
call fcn.1001c9f0
mov edx, dword [ebp - 0x238]
or ebx, 0xffffffff
mov byte [ebp - 4], 0x18
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1007d72b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x23c]
push str.Microsoft
push esi
call fcn.10158862
add esp, 8
test eax, eax
jne 0x1007d803
push ecx
mov esi, esp
mov dword [ebp - 0x240], esp
mov dword [ebp - 0x248], esi
call fcn.1001b540
mov ecx, eax
test ecx, ecx
je 0x1007da3b
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
mov eax, 0x1019ab3c
mov byte [ebp - 4], 0x1c
mov ecx, esi
test eax, 0xffff0000
jne 0x1007d78c
movzx eax, ax
push eax
call fcn.100183a0
jmp 0x1007d798
push 0xf
push 0x1019ab3c
call fcn.10020080
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
push ecx
cmovae eax, dword [ebp - 0x230]
mov ecx, esp
push eax
mov byte [ebp - 4], 0x1d
call fcn.10016670
lea eax, [ebp - 0x238]
mov byte [ebp - 4], 0x18
push eax
call fcn.10095dd0
add esp, 0xc
push eax
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 0x1e
call fcn.1001c9f0
mov edx, dword [ebp - 0x238]
mov eax, ebx
mov byte [ebp - 4], 0x18
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1007d7fd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x23c]
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0x11
call fcn.100171c0
cmp dword [esi - 0xc], 0
jne 0x1007d90a
call fcn.100d1170
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x1007d90a
push 0x66
push str.d:jenkins.jenkinsworkspacemultiplugin_nativemultiplugin_rightsplugindefaultappdefaultappmgr.cpp
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], al
call fcn.10019000
push 3
push 0x10193e24
lea ecx, [ebp - 0x26c]
mov byte [ebp - 4], 0x1f
mov dword [ebp - 0x25c], 0
mov dword [ebp - 0x258], 0xf
mov byte [ebp - 0x26c], 0
call fcn.10019000
mov byte [ebp - 4], 0x20
call fcn.100d1170
mov dword [ebp - 0x238], eax
lea ecx, [ebp - 0xa8]
push 0x1f5
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x26c]
push eax
call fcn.100167c0
mov ebx, eax
push str.strAppName
push ebx
mov byte [ebp - 4], 0x21
call fcn.100174d0
push edi
push ebx
call fcn.1001a540
mov ecx, dword [ebp - 0x238]
add esp, 0x10
mov eax, dword [ecx]
push ebx
call dword [eax + 0x1c]
lea ecx, [ebp - 0xa8]
call fcn.10017580
lea ecx, [ebp - 0x26c]
call fcn.10017170
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0x11
call fcn.10017170
add esi, 0xfffffff0
push esi
call fcn.1001d450
mov ecx, dword [ebp - 0x250]
add eax, 0x10
mov edx, dword [ebp - 0x24c]
or ebx, 0xffffffff
add esp, 4
mov byte [ebp - 4], 0xc
add edx, 0xfffffff0
mov dword [ecx], eax
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1007d945
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x254]
mov eax, ebx
mov byte [ebp - 4], 2
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1007d966
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, ebx
mov byte [ebp - 4], 1
add edi, 0xfffffff0
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x1007d981
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, ebx
mov byte [ebp - 4], 0
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x1007d999
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp + 0xc]
add edx, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lock xadd dword [edx + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x1007d9b8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x250]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10128191
mov esp, ebp
pop ebp
ret 8
push 0x80004005
call fcn.10017a40
push 0x80004005
call fcn.10017a40
call fcn.10153963
call fcn.10153963
push 0x80004005
call fcn.10017a40
push 0x80004005
call fcn.10017a40
push 0x80004005
call fcn.10017a40
call fcn.10153963
push 0x80004005
call fcn.10017a40
call fcn.10153963
call fcn.10153963
push 0x80004005
call fcn.10017a40
push 0x80004005
call fcn.10017a40
int3