Function at 0x44e617
Capabilities:
Set current directory

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x144
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
lea ecx, [esi + 0x14]
push 3
mov byte [esp + 0x17], 0
mov dword [esp + 0x1c], ecx
call fcn.00457908
lea ebx, [esi + 0x24]
mov dword [esp + 0xc], ebx
test eax, eax
je 0x44e6a3
lea edi, [eax + 4]
push edi
mov dword [esp + 0x24], edi
call fcn.0045220f
lea eax, [esp + 0x24]
push eax
mov esi, edi
call fcn.004456a0
pop ecx
mov edi, 0x4e8c24
call fcn.004085dd
lea ecx, [esp + 0x24]
call fcn.00403d84
mov eax, edi
call fcn.004452a0
mov esi, dword [ebp + 8]
call fcn.00450805
push dword [eax]
lea eax, [esi + 0xd8]
push eax
call fcn.0044e2a5
mov eax, dword [esp + 0x20]
mov edi, esi
call fcn.004085dd
mov byte [esp + 0x13], 1
jmp 0x44e6ae
call fcn.00450805
push eax
call fcn.0045220f
lea eax, [esi + 0x20]
lea edi, [esi + 0x80]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edi
call fcn.004085dd
mov ebx, dword [ebp + 8]
lea esi, [ebx + 0x74]
lea edi, [ebx + 0x114]
mov eax, esi
call fcn.004085dd
push 1
mov eax, edi
call fcn.00457532
lea eax, [esp + 0x20]
push eax
call fcn.004456a0
pop ecx
push dword [eax]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
lea ecx, [esp + 0x20]
call fcn.00403d84
mov edi, dword [esp + 0xc]
call fcn.0045237a
xor esi, esi
cmp eax, esi
je 0x44e71e
mov esi, ebx
call fcn.004507ee
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push edi
lea edi, [esp + 0x84]
call fcn.00451922
test byte [ebx + 0x64], 2
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], esi
je 0x44e77c
lea eax, [esp + 0x38]
push eax
mov ecx, ebx
call fcn.0044ed6e
lea eax, [esp + 0x38]
push eax
mov eax, edi
push eax
call fcn.00451c8e
mov esi, edi
call fcn.00451c4f
mov ecx, dword [eax]
cmp dword [ecx - 0xc], 0
je 0x44e76f
push eax
mov eax, dword [esp + 0x10]
call fcn.004522ab
push ebx
lea ecx, [esp + 0xc0]
call fcn.0044fb87
mov ecx, dword [esp + 0x18]
push 6
call fcn.00457908
mov esi, eax
test esi, esi
je 0x44e794
mov eax, str.qhbxuo
jmp 0x44e7aa
mov ecx, dword [esp + 0x18]
push 7
call fcn.00457908
mov esi, eax
test esi, esi
je 0x44e7e4
mov eax, 0x4c41dc
lea ecx, [esp + 0x18]
call fcn.00451fd4
lea eax, [esp + 0x18]
lea ecx, [esp + 0x80]
call fcn.00451bfc
test al, al
jne 0x44e7db
mov eax, dword [esp + 0x18]
push dword [eax - 0xc]
push eax
lea eax, [esp + 0x9c]
call fcn.00434240
lea ecx, [esp + 0x18]
call fcn.00403d84
cmp byte [ebp + 0xc], 0
je 0x44e85d
mov edi, dword [ebp + 0x10]
test edi, edi
je 0x44e83e
and dword [esp + 0x14c], 0
lea eax, [esp + 0x84]
push eax
lea eax, [edi + 4]
mov dword [ebx + 0x9c], 3
call fcn.00450fea
lea esi, [edi + 0x10]
lea ebx, [esp + 0x90]
call fcn.0044eb6a
lea esi, [edi + 0x50]
lea ebx, [esp + 0xd0]
call fcn.0044ec1a
mov eax, dword [esp + 0x14c]
mov dword [edi + 0xcc], eax
xor esi, esi
lea edi, [esp + 0x38]
call fcn.004515f5
lea eax, [esp + 0x80]
push eax
call fcn.00434a0e
mov eax, esi
jmp 0x44e715
lea eax, [esp + 0x80]
push eax
call fcn.00451b18
test al, al
mov byte [ebx + 0x168], al
sete al
mov byte [0x4e69e0], al
push str.Advinst_
lea eax, [esp + 0x18]
push eax
call fcn.00412ade
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x10]
call fcn.004523cc
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
lea eax, [esp + 0x1c]
call fcn.00434240
lea ecx, [esp + 0x20]
call fcn.00403d84
push dword [esp + 0x14]
mov eax, 0x4e8c18
call fcn.0042e9d1
test esi, esi
jne 0x44e8f0
cmp byte [0x4e8c20], 0
je 0x44e8f0
inc esi
push esi
push 0xcc
mov dword [ebx + 0x9c], 3
call fcn.004581d5
pop ecx
pop ecx
lea ecx, [esp + 0x14]
call fcn.00403d84
jmp 0x44e840
mov edi, 0xdc
push edi
lea esi, [ebx + 0x114]
call fcn.004575a3
test byte [ebx + 0x64], 2
je 0x44e92a
lea eax, [esp + 0x80]
mov dword [esp + 0x34], eax
push edi
lea edi, [esp + 0x30]
mov eax, ebx
mov dword [esp + 0x30], 0x4c41c4
mov dword [esp + 0x34], ebx
call fcn.0044f3f3
mov eax, dword [ebx + 0x64]
shr eax, 2
test al, 1
je 0x44e968
push 0x8a
lea edi, [esp + 0x30]
mov eax, ebx
mov dword [esp + 0x30], 0x4c41c8
mov dword [esp + 0x34], ebx
call fcn.0044f3f3
cmp byte [esp + 0x34], 0
je 0x44e968
lea ecx, [esp + 0x14]
call fcn.00403d84
xor esi, esi
inc esi
jmp 0x44e840
lea eax, [esp + 0x80]
push eax
push ebx
call fcn.0044fd3c
test al, al
jne 0x44e957
cmp byte [esp + 0x13], al
jne 0x44e99b
mov ecx, ebx
call fcn.0044fbc0
test al, al
je 0x44e99b
push dword [esp + 0x24]
call fcn.0044fc5d
mov esi, eax
jmp 0x44e8e2
lea eax, [esp + 0x80]
push eax
mov ecx, ebx
call fcn.0044f6a7
mov esi, eax
test esi, esi
jne 0x44e8e2
mov eax, dword [esp + 0xa0]
cmp dword [eax - 0xc], esi
je 0x44e9c8
mov byte [esp + 0x105], 1
and dword [esp + 0x78], 0
lea eax, [ebx + 0x114]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x74], eax
mov al, byte [ebx + 0x168]
mov byte [esp + 0x7c], al
lea eax, [esp + 0x70]
mov dword [esp + 0x64], eax
lea eax, [esp + 0xd0]
mov dword [esp + 0x68], eax
push 0xec
lea edi, [esp + 0x64]
mov eax, ebx
mov dword [esp + 0x64], 0x4c41cc
call fcn.0044f3f3
cmp byte [esp + 0x6c], 0
je 0x44e957
mov esi, 0x4e8c28
lea eax, [ebx + 0x74]
mov edi, esi
call fcn.004085dd
mov eax, dword [esp + 0x28]
mov edi, 0x4e8c2c
call fcn.004085dd
lea eax, [esp + 0x80]
push eax
push ebx
call fcn.0044eda5
cmp byte [ebx + 0x160], 0
mov dword [esp + 0xc], eax
je 0x44ea68
lea ecx, [esp + 0x14]
call fcn.00403d84
or esi, 0xffffffff
jmp 0x44e840
push dword [esp + 0x24]
lea eax, [esp + 0x20]
push eax
call fcn.00419e44
mov eax, dword [esp + 0x1c]
xor edi, edi
cmp dword [eax - 0xc], edi
jne 0x44eab0
lea eax, [esp + 0x90]
lea edi, [esp + 0x1c]
call fcn.004085dd
mov eax, edi
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.004579fc
pop ecx
pop ecx
call fcn.004085dd
lea ecx, [esp + 0x28]
call fcn.00403d84
xor edi, edi
lea eax, [ebx + 0x114]
call fcn.004575f4
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x20]
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x60], edi
mov byte [esp + 0x48], 0
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edi
mov byte [esp + 0x49], 0
mov byte [esp + 0x54], 0
call fcn.00458b71
test byte [ebx + 0x64], 2
je 0x44eb16
cmp dword [esp + 0xc], edi
jne 0x44eb16
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x48]
call fcn.00458811
push ebx
lea edi, [esp + 0x48]
call fcn.0044f310
mov dword [esp + 0xc], eax
xor edi, edi
cmp dword [esp + 0xc], 0xffffffff
jne 0x44eb23
push esi
call fcn.0045833f
cmp dword [esp + 0xc], edi
jne 0x44eb46
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0x24]
push eax
mov eax, ebx
call fcn.0044f423
mov dword [esp + 0xc], eax
lea edi, [esp + 0x54]
call fcn.004515bd
lea ecx, [esp + 0x1c]
call fcn.00403d84
lea ecx, [esp + 0x14]
call fcn.00403d84
mov esi, dword [esp + 0xc]
jmp 0x44e840