Function at 0x44d690
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x624a41
mov eax, dword fs:[0]
push eax
sub esp, 0xeac
mov eax, dword [0x690a1c]
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 eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov dword [ebp - 0xd10], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xd04], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0xd14], eax
mov eax, dword [ebx]
sub eax, 0x10
push eax
call fcn.00407150
add esp, 4
lea edi, [eax + 0x10]
mov dword [ebp - 0xd0c], edi
mov esi, dword [edi - 0xc]
mov dword [ebp - 4], 0
test esi, esi
js 0x44e67d
mov eax, dword [edi - 8]
mov ecx, 1
sub ecx, dword [edi - 4]
sub eax, esi
or eax, ecx
jge 0x44d728
push esi
lea ecx, [ebp - 0xd0c]
call fcn.00407e30
mov edi, dword [ebp - 0xd0c]
lea eax, [esi + 1]
push eax
push edi
call fcn.005f8745
add esp, 8
cmp esi, dword [edi - 8]
jg 0x44e67d
xor eax, eax
mov dword [edi - 0xc], esi
mov word [edi + esi*2], ax
cmp dword [edi - 0xc], eax
jl 0x44e63e
push str..lnk
push edi
call fcn.005e3a7a
add esp, 8
test eax, eax
je 0x44e63e
sub eax, edi
sar eax, 1
cmp eax, 0xffffffff
je 0x44e63e
lea eax, [ebp - 0xcf0]
mov dword [ebp - 0xcf0], 0
push eax
push 0x63bc3c
push 1
push 0
push 0x63bc9c
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x44e627
mov ecx, dword [ebp - 0xcf0]
test ecx, ecx
je 0x44e627
mov dword [ebp - 0xcf4], 0
mov eax, dword [ecx]
lea edx, [ebp - 0xcf4]
push edx
push 0x63bc7c
push ecx
mov byte [ebp - 4], 1
call dword [eax]
test eax, eax
mov eax, dword [ebp - 0xcf4]
js 0x44e619
test eax, eax
je 0x44e619
mov ecx, dword [eax]
push 0
push dword [ebx]
push eax
call dword [ecx + 0x14]
test eax, eax
jns 0x44d80e
mov eax, dword [ebp - 0xcf4]
mov byte [ebp - 4], 0
test eax, eax
je 0x44e627
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x44e627
push 0x208
lea eax, [ebp - 0x27c]
push 0
push eax
call fcn.005e3920
mov eax, dword [ebp - 0xcf0]
lea edx, [ebp - 0xd18]
add esp, 0xc
mov ecx, dword [eax]
push edx
push 0x104
lea edx, [ebp - 0x27c]
push edx
push eax
call dword [ecx + 0x40]
push 0x208
lea eax, [ebp - 0x484]
push 0
push eax
call fcn.005e3920
add esp, 0xc
lea eax, [ebp - 0x484]
push 0x104
push eax
lea eax, [ebp - 0x27c]
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
lea ecx, [ebp - 0x484]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x44d880
sub ecx, edx
lea eax, [ebp - 0x484]
sar ecx, 1
push ecx
mov ecx, dword [ebp - 0xd04]
push eax
call fcn.0040b220
cmp dword [ebp + 0x18], 0
je 0x44d8c3
mov eax, dword [ebp - 0xcf0]
push 0x84
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x4c]
test eax, eax
js 0x44e5ee
mov dword [ebp - 0xcfc], 0
mov dword [ebp - 0xd08], 0
mov dword [ebp - 0xd00], 0
push 0x820
lea eax, [ebp - 0xca4]
mov byte [ebp - 4], 2
push 0
push eax
call fcn.005e3920
mov eax, dword [ebp - 0xcf0]
lea edx, [ebp - 0xcfc]
add esp, 0xc
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x10]
test eax, eax
je 0x44d92f
mov eax, dword [ebp - 0xd00]
mov byte [ebp - 4], 1
test eax, eax
je 0x44e5ee
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x44e5ee
lea eax, [ebp - 0xd08]
push eax
lea eax, [ebp - 0xd00]
push eax
push 0x63bc1c
push dword [ebp - 0xcfc]
call dword [sym.imp.SHELL32.dll_SHBindToParent]
mov esi, dword [ebp - 0xd00]
test eax, eax
jne 0x44e5e0
test esi, esi
je 0x44e5e0
push 0x108
lea eax, [ebp - 0xeb8]
push 0
push eax
call fcn.005e3920
mov eax, dword [esi]
lea ecx, [ebp - 0xeb8]
add esp, 0xc
push ecx
push 0x8000
push dword [ebp - 0xd08]
push esi
call dword [eax + 0x2c]
test eax, eax
jns 0x44d9b1
push dword [ebp - 0xcfc]
call dword [sym.imp.SHELL32.dll_ILFree]
mov dword [ebp - 0xcfc], 0
jmp 0x44d912
push 0x104
lea eax, [ebp - 0xca4]
push eax
push dword [ebp - 0xd08]
lea eax, [ebp - 0xeb8]
push eax
call dword [sym.imp.SHLWAPI.dll_StrRetToBufW]
test eax, eax
jne 0x44d9fe
lea ecx, [ebp - 0xca4]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x44d9e0
sub ecx, edx
lea eax, [ebp - 0xca4]
sar ecx, 1
push ecx
push eax
mov ecx, ebx
call fcn.0040b220
push dword [ebp - 0xcfc]
call dword [sym.imp.SHELL32.dll_ILFree]
mov dword [ebp - 0xcfc], 0
call fcn.0047d560
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x44dd0a
push 0x53
push str.d:jenkins.jenkinsworkspacehalodeskcommonlibinclude_searchapp_searchappdef.cpp
lea ecx, [ebp - 0xcbc]
mov dword [ebp - 0xcac], eax
mov dword [ebp - 0xca8], 0xf
mov byte [ebp - 0xcbc], al
call fcn.004081d0
push 3
push 0x6346cc
lea ecx, [ebp - 0xcd4]
mov byte [ebp - 4], 3
mov dword [ebp - 0xcc4], 0
mov dword [ebp - 0xcc0], 0xf
mov byte [ebp - 0xcd4], 0
call fcn.004081d0
mov byte [ebp - 4], 4
call fcn.0047d560
push 1
push 2
lea ecx, [ebp - 0xdb0]
mov dword [ebp - 0xcf8], eax
call fcn.0042aac0
push 0xffffffffffffffff
push 0x634678
lea ecx, [ebp - 0xcbc]
mov byte [ebp - 4], 5
call fcn.004215b0
push 0xffffffffffffffff
push 0x63339c
lea ecx, [ebp - 0xcbc]
mov dword [ebp - 0xd04], eax
call fcn.004215b0
push 0x64
mov esi, eax
lea eax, [ebp - 0x74]
push 0
push eax
call fcn.005e3920
add esp, 0xc
cmp esi, 0xffffffff
je 0x44dbde
mov ecx, dword [ebp - 0xd04]
lea eax, [esi - 1]
cmp ecx, eax
jae 0x44dbde
mov eax, dword [ebp - 0xcac]
lea edx, [ecx + 1]
mov dword [ebp - 0xcdc], 0
mov dword [ebp - 0xcd8], 0xf
mov byte [ebp - 0xcec], 0
cmp eax, edx
jb 0x44e687
sub esi, ecx
sub eax, edx
lea ecx, [esi - 1]
cmp eax, ecx
cmovb ecx, eax
cmp dword [ebp - 0xca8], 0x10
lea eax, [ebp - 0xcbc]
cmovae eax, dword [ebp - 0xcbc]
push ecx
add eax, edx
lea ecx, [ebp - 0xcec]
push eax
call fcn.004081d0
cmp dword [ebp - 0xcd8], 0x10
lea eax, [ebp - 0xcec]
cmovae eax, dword [ebp - 0xcec]
push eax
push 0x95
lea eax, [ebp - 0x74]
push str.__4d___s_
push eax
call fcn.0041fe40
mov edx, dword [ebp - 0xcd8]
add esp, 0x10
cmp edx, 0x10
jb 0x44dbc1
mov ecx, dword [ebp - 0xcec]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44dbb7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44e68c
push edx
push ecx
call fcn.004fa0f5
add esp, 8
mov dword [ebp - 0xcdc], 0
mov dword [ebp - 0xcd8], 0xf
mov byte [ebp - 0xcec], 0
jmp 0x44dbf4
push 0x95
lea eax, [ebp - 0x74]
push str.__4d_
push eax
call fcn.0041fe40
add esp, 0xc
cmp dword [ebp - 0xcc0], 0x10
lea eax, [ebp - 0xcd4]
cmovae eax, dword [ebp - 0xcd4]
push eax
lea eax, [ebp - 0xdb0]
push eax
call fcn.004209c0
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0xdb0]
push eax
call fcn.004209c0
lea eax, [ebp - 0xdb0]
mov byte [ebp - 4], 6
push str.step1:
push eax
call fcn.004209c0
mov eax, dword [ebx]
mov ecx, str._null_
test eax, eax
cmovne ecx, eax
lea eax, [ebp - 0xdb0]
push ecx
push eax
call fcn.0040cae0
mov ecx, dword [ebp - 0xcf8]
lea edx, [ebp - 0xdb0]
add esp, 0x20
mov eax, dword [ecx]
push edx
call dword [eax + 0x1c]
lea ecx, [ebp - 0xdb0]
call fcn.00420b10
mov edx, dword [ebp - 0xcc0]
mov byte [ebp - 4], 3
cmp edx, 0x10
jb 0x44dcb1
mov ecx, dword [ebp - 0xcd4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44dca7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44e691
push edx
push ecx
call fcn.004fa0f5
add esp, 8
mov edx, dword [ebp - 0xca8]
mov dword [ebp - 0xcc4], 0
mov dword [ebp - 0xcc0], 0xf
mov byte [ebp - 0xcd4], 0
mov byte [ebp - 4], 2
cmp edx, 0x10
jb 0x44dd0a
mov ecx, dword [ebp - 0xcbc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44dd00
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44e696
push edx
push ecx
call fcn.004fa0f5
add esp, 8
mov eax, dword [ebx]
cmp dword [eax - 0xc], 0
jne 0x44d912
mov eax, dword [ebp - 0xcf0]
lea edx, [ebp - 0x27c]
push 2
push 0
push 0x104
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0xc]
lea ecx, [ebp - 0x27c]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x44dd40
sub ecx, edx
lea eax, [ebp - 0x27c]
sar ecx, 1
push ecx
push eax
mov ecx, ebx
call fcn.0040b220
mov eax, dword [ebx]
cmp dword [eax - 0xc], 0
je 0x44ddc6
mov eax, dword [ebp - 0xcf0]
lea edx, [ebp - 0xca4]
push 0x104
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
lea ecx, [ebp - 0x27c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x44dd87
sub ecx, edx
lea eax, [ebp - 0x27c]
sar ecx, 1
push ecx
mov ecx, dword [ebp - 0xd10]
push eax
call fcn.0040b220
cmp dword [ebp + 0x18], 0
je 0x44ddc6
mov eax, dword [ebp - 0xcf0]
push 0x104
push dword [ebp - 0xd14]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x20]
call fcn.0047d560
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x44e072
push 0x53
push str.d:jenkins.jenkinsworkspacehalodeskcommonlibinclude_searchapp_searchappdef.cpp
lea ecx, [ebp - 0xcd4]
mov dword [ebp - 0xcc4], eax
mov dword [ebp - 0xcc0], 0xf
mov byte [ebp - 0xcd4], al
call fcn.004081d0
push 3
push 0x6346cc
lea ecx, [ebp - 0xcbc]
mov byte [ebp - 4], 7
mov dword [ebp - 0xcac], 0
mov dword [ebp - 0xca8], 0xf
mov byte [ebp - 0xcbc], 0
call fcn.004081d0
mov byte [ebp - 4], 8
call fcn.0047d560
push 1
push 2
lea ecx, [ebp - 0xdb0]
mov dword [ebp - 0xd04], eax
call fcn.0042aac0
push 0xffffffffffffffff
push 0x634678
lea ecx, [ebp - 0xcd4]
mov byte [ebp - 4], 9
call fcn.004215b0
push 0xffffffffffffffff
push 0x63339c
lea ecx, [ebp - 0xcd4]
mov dword [ebp - 0xcf8], eax
call fcn.004215b0
push 0x64
mov esi, eax
lea eax, [ebp - 0x74]
push 0
push eax
call fcn.005e3920
add esp, 0xc
cmp esi, 0xffffffff
je 0x44df46
mov ecx, dword [ebp - 0xcf8]
lea eax, [esi - 1]
cmp ecx, eax
jae 0x44df46
mov eax, dword [ebp - 0xcc4]
lea edx, [ecx + 1]
mov dword [ebp - 0xcdc], 0
mov dword [ebp - 0xcd8], 0xf
mov byte [ebp - 0xcec], 0
cmp eax, edx
jb 0x44e69b
sub esi, ecx
sub eax, edx
lea ecx, [esi - 1]
cmp eax, ecx
cmovb ecx, eax
cmp dword [ebp - 0xcc0], 0x10
lea eax, [ebp - 0xcd4]
cmovae eax, dword [ebp - 0xcd4]
push ecx
add eax, edx
lea ecx, [ebp - 0xcec]
push eax
call fcn.004081d0
cmp dword [ebp - 0xcd8], 0x10
lea eax, [ebp - 0xcec]
cmovae eax, dword [ebp - 0xcec]
push eax
push 0xa6
lea eax, [ebp - 0x74]
push str.__4d___s_
push eax
call fcn.0041fe40
add esp, 0x10
lea ecx, [ebp - 0xcec]
call fcn.00406cd0
jmp 0x44df5c
push 0xa6
lea eax, [ebp - 0x74]
push str.__4d_
push eax
call fcn.0041fe40
add esp, 0xc
cmp dword [ebp - 0xca8], 0x10
lea eax, [ebp - 0xcbc]
cmovae eax, dword [ebp - 0xcbc]
push eax
lea eax, [ebp - 0xdb0]
push eax
call fcn.004209c0
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0xdb0]
push eax
call fcn.004209c0
lea eax, [ebp - 0xdb0]
mov byte [ebp - 4], 0xa
push str.step2:
push eax
call fcn.004209c0
mov eax, dword [ebx]
mov ecx, str._null_
test eax, eax
cmovne ecx, eax
lea eax, [ebp - 0xdb0]
push ecx
push eax
call fcn.0040cae0
mov ecx, dword [ebp - 0xd04]
lea edx, [ebp - 0xdb0]
add esp, 0x20
mov eax, dword [ecx]
push edx
call dword [eax + 0x1c]
lea ecx, [ebp - 0xdb0]
call fcn.00420b10
mov edx, dword [ebp - 0xca8]
mov byte [ebp - 4], 7
cmp edx, 0x10
jb 0x44e019
mov ecx, dword [ebp - 0xcbc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44e00f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44e6a0
push edx
push ecx
call fcn.004fa0f5
add esp, 8
mov edx, dword [ebp - 0xcc0]
mov dword [ebp - 0xcac], 0
mov dword [ebp - 0xca8], 0xf
mov byte [ebp - 0xcbc], 0
mov byte [ebp - 4], 2
cmp edx, 0x10
jb 0x44e072
mov ecx, dword [ebp - 0xcd4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44e068
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44e6a5
push edx
push ecx
call fcn.004fa0f5
add esp, 8
call fcn.0047d560
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x44e31a
push 0x53
push str.d:jenkins.jenkinsworkspacehalodeskcommonlibinclude_searchapp_searchappdef.cpp
lea ecx, [ebp - 0xcd4]
mov dword [ebp - 0xcc4], eax
mov dword [ebp - 0xcc0], 0xf
mov byte [ebp - 0xcd4], al
call fcn.004081d0
push 3
push 0x6346cc
lea ecx, [ebp - 0xcbc]
mov byte [ebp - 4], 0xb
mov dword [ebp - 0xcac], 0
mov dword [ebp - 0xca8], 0xf
mov byte [ebp - 0xcbc], 0
call fcn.004081d0
mov byte [ebp - 4], 0xc
call fcn.0047d560
push 1
push 2
lea ecx, [ebp - 0xdb0]
mov dword [ebp - 0xcf8], eax
call fcn.0042aac0
push 0xffffffffffffffff
push 0x634678
lea ecx, [ebp - 0xcd4]
mov byte [ebp - 4], 0xd
call fcn.004215b0
push 0xffffffffffffffff
push 0x63339c
lea ecx, [ebp - 0xcd4]
mov ebx, eax
call fcn.004215b0
push 0x64
mov esi, eax
lea eax, [ebp - 0x74]
push 0
push eax
call fcn.005e3920
add esp, 0xc
cmp esi, 0xffffffff
je 0x44e1e8
lea eax, [esi - 1]
cmp ebx, eax
jae 0x44e1e8
mov eax, dword [ebp - 0xcc4]
lea edx, [ebx + 1]
mov dword [ebp - 0xcdc], 0
mov dword [ebp - 0xcd8], 0xf
mov byte [ebp - 0xcec], 0
cmp eax, edx
jb 0x44e6aa
sub esi, ebx
sub eax, edx
lea ecx, [esi - 1]
cmp eax, ecx
cmovb ecx, eax
cmp dword [ebp - 0xcc0], 0x10
lea eax, [ebp - 0xcd4]
cmovae eax, dword [ebp - 0xcd4]
push ecx
add eax, edx
lea ecx, [ebp - 0xcec]
push eax
call fcn.004081d0
cmp dword [ebp - 0xcd8], 0x10
lea eax, [ebp - 0xcec]
cmovae eax, dword [ebp - 0xcec]
push eax
push 0xa7
lea eax, [ebp - 0x74]
push str.__4d___s_
push eax
call fcn.0041fe40
add esp, 0x10
lea ecx, [ebp - 0xcec]
call fcn.00406cd0
jmp 0x44e1fe
push 0xa7
lea eax, [ebp - 0x74]
push str.__4d_
push eax
call fcn.0041fe40
add esp, 0xc
cmp dword [ebp - 0xca8], 0x10
lea eax, [ebp - 0xcbc]
cmovae eax, dword [ebp - 0xcbc]
push eax
lea eax, [ebp - 0xdb0]
push eax
call fcn.004209c0
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0xdb0]
push eax
call fcn.004209c0
lea eax, [ebp - 0xdb0]
mov byte [ebp - 4], 0xe
push str.arg:
push eax
call fcn.004209c0
mov eax, dword [ebp - 0xd10]
mov ecx, str._null_
mov eax, dword [eax]
test eax, eax
cmovne ecx, eax
lea eax, [ebp - 0xdb0]
push ecx
push eax
call fcn.0040cae0
mov ecx, dword [ebp - 0xcf8]
lea edx, [ebp - 0xdb0]
add esp, 0x20
mov eax, dword [ecx]
push edx
call dword [eax + 0x1c]
lea ecx, [ebp - 0xdb0]
call fcn.00420b10
mov edx, dword [ebp - 0xca8]
mov byte [ebp - 4], 0xb
cmp edx, 0x10
jb 0x44e2c1
mov ecx, dword [ebp - 0xcbc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44e2b7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44e6af
push edx
push ecx
call fcn.004fa0f5
add esp, 8
mov edx, dword [ebp - 0xcc0]
mov dword [ebp - 0xcac], 0
mov dword [ebp - 0xca8], 0xf
mov byte [ebp - 0xcbc], 0
mov byte [ebp - 4], 2
cmp edx, 0x10
jb 0x44e31a
mov ecx, dword [ebp - 0xcd4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44e310
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44e6b4
push edx
push ecx
call fcn.004fa0f5
add esp, 8
call fcn.0047d560
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x44d912
push 0x53
push str.d:jenkins.jenkinsworkspacehalodeskcommonlibinclude_searchapp_searchappdef.cpp
lea ecx, [ebp - 0xcec]
mov dword [ebp - 0xcdc], eax
mov dword [ebp - 0xcd8], 0xf
mov byte [ebp - 0xcec], al
call fcn.004081d0
push 3
push 0x6346cc
lea ecx, [ebp - 0xcbc]
mov byte [ebp - 4], 0xf
mov dword [ebp - 0xcac], 0
mov dword [ebp - 0xca8], 0xf
mov byte [ebp - 0xcbc], 0
call fcn.004081d0
mov byte [ebp - 4], 0x10
call fcn.0047d560
push 1
push 2
lea ecx, [ebp - 0xdb0]
mov dword [ebp - 0xcf8], eax
call fcn.0042aac0
push 0xffffffffffffffff
push 0x634678
lea ecx, [ebp - 0xcec]
mov byte [ebp - 4], 0x11
call fcn.004215b0
push 0xffffffffffffffff
push 0x63339c
lea ecx, [ebp - 0xcec]
mov ebx, eax
call fcn.004215b0
push 0x64
mov esi, eax
lea eax, [ebp - 0x74]
push 0
push eax
call fcn.005e3920
add esp, 0xc
cmp esi, 0xffffffff
je 0x44e490
lea eax, [esi - 1]
cmp ebx, eax
jae 0x44e490
mov eax, dword [ebp - 0xcdc]
lea edx, [ebx + 1]
mov dword [ebp - 0xcc4], 0
mov dword [ebp - 0xcc0], 0xf
mov byte [ebp - 0xcd4], 0
cmp eax, edx
jb 0x44e6b9
sub esi, ebx
sub eax, edx
lea ecx, [esi - 1]
cmp eax, ecx
cmovb ecx, eax
cmp dword [ebp - 0xcd8], 0x10
lea eax, [ebp - 0xcec]
cmovae eax, dword [ebp - 0xcec]
push ecx
add eax, edx
lea ecx, [ebp - 0xcd4]
push eax
call fcn.004081d0
cmp dword [ebp - 0xcc0], 0x10
lea eax, [ebp - 0xcd4]
cmovae eax, dword [ebp - 0xcd4]
push eax
push 0xa8
lea eax, [ebp - 0x74]
push str.__4d___s_
push eax
call fcn.0041fe40
add esp, 0x10
lea ecx, [ebp - 0xcd4]
call fcn.00406cd0
jmp 0x44e4a6
push 0xa8
lea eax, [ebp - 0x74]
push str.__4d_
push eax
call fcn.0041fe40
add esp, 0xc
cmp dword [ebp - 0xca8], 0x10
lea eax, [ebp - 0xcbc]
cmovae eax, dword [ebp - 0xcbc]
push eax
lea eax, [ebp - 0xdb0]
push eax
call fcn.004209c0
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0xdb0]
push eax
call fcn.004209c0
lea eax, [ebp - 0xdb0]
mov byte [ebp - 4], 0x12
push str.working_dir
push eax
call fcn.004209c0
mov ecx, dword [ebp - 0xd14]
mov eax, str._null_
test ecx, ecx
cmovne eax, ecx
push eax
lea eax, [ebp - 0xdb0]
push eax
call fcn.0040cae0
mov ecx, dword [ebp - 0xcf8]
lea edx, [ebp - 0xdb0]
add esp, 0x20
mov eax, dword [ecx]
push edx
call dword [eax + 0x1c]
lea ecx, [ebp - 0xdb0]
call fcn.00420b10
mov edx, dword [ebp - 0xca8]
mov byte [ebp - 4], 0xf
cmp edx, 0x10
jb 0x44e567
mov ecx, dword [ebp - 0xcbc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44e55d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44e6be
push edx
push ecx
call fcn.004fa0f5
add esp, 8
mov edx, dword [ebp - 0xcd8]
mov dword [ebp - 0xcac], 0
mov dword [ebp - 0xca8], 0xf
mov byte [ebp - 0xcbc], 0
mov byte [ebp - 4], 2
cmp edx, 0x10
jb 0x44e5c0
mov ecx, dword [ebp - 0xcec]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x44e5b6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44e6c3
push edx
push ecx
call fcn.004fa0f5
add esp, 8
mov dword [ebp - 0xcdc], 0
mov dword [ebp - 0xcd8], 0xf
mov byte [ebp - 0xcec], 0
jmp 0x44d912
mov byte [ebp - 4], 1
test esi, esi
je 0x44e5ee
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [ebp - 0xcf4]
mov byte [ebp - 4], 0
test eax, eax
je 0x44e602
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 0xcf0]
test ecx, ecx
je 0x44e612
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov esi, 1
jmp 0x44e640
mov byte [ebp - 4], 0
test eax, eax
je 0x44e627
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov ecx, ebx
call fcn.00407240
mov ecx, dword [ebp - 0xcf0]
test ecx, ecx
je 0x44e63e
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
xor esi, esi
mov dword [ebp - 4], 0xffffffff
add edi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x44e65f
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, esi
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.004fa103
mov esp, ebp
pop ebp
ret
push 0x80070057
call fcn.00407120
call fcn.00417420
call fcn.005e72a0
call fcn.005e72a0
call fcn.005e72a0
call fcn.00417420
call fcn.005e72a0
call fcn.005e72a0
call fcn.00417420
call fcn.005e72a0
call fcn.005e72a0
call fcn.00417420
call fcn.005e72a0
call fcn.005e72a0
int3