Function at 0x418f48
Capabilities:
Set current directory

Disassembly:
mov eax, 0x4a8c60
call fcn.00483228
sub esp, 0x30
push ebx
push esi
lea eax, [ebp - 0x20]
push edi
mov esi, ecx
push eax
call fcn.00446e5b
pop ecx
xor ebx, ebx
push 0xffffffffffffffff
push ebx
lea ecx, [esi + 0x2b8]
mov dword [ebp - 4], ebx
call fcn.004983f0
mov eax, dword [esi + 0x288]
cmp eax, ebx
jne 0x418f8a
mov ecx, esi
call fcn.00419c4a
jmp 0x418fa4
cmp eax, 1
jne 0x418f98
mov ecx, esi
call fcn.00419f48
jmp 0x418fa4
cmp eax, 2
jne 0x418fa4
mov ecx, esi
call fcn.0041a24a
mov eax, dword [0x4e43a4]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
push 0x904
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 2
call fcn.0049de81
mov ecx, dword [esi + 0xdc]
mov eax, dword [esi + 0x27c]
mov edi, 0x124
mov dword [ecx + 0x384], eax
cmp dword [esi + 0x27c], ebx
je 0x419154
push ebx
push ebx
push 0x1004
push dword [esi + 0x1d8]
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, ebx
jne 0x41901b
push 0xa35
lea ecx, [ebp - 0x14]
call fcn.0049de81
push 0x10
mov ecx, esi
push dword [ebp - 0x18]
push dword [ebp - 0x14]
call fcn.0049bcf1
jmp 0x4196c8
mov eax, dword [0x4e43a4]
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 3
mov dword [ebp - 0x28], ebx
cmp dword [esi + 0x27c], ebx
je 0x419148
mov eax, dword [esi + 0xdc]
mov ecx, dword [ebp - 0x28]
cmp ecx, dword [eax + 0x110]
jge 0x419148
mov eax, dword [eax + 0x10c]
lea eax, [eax + ecx*4]
lea ecx, [ebp - 0x24]
push eax
call fcn.0049d9c5
push str.______
lea ecx, [ebp - 0x24]
call fcn.0049dd8e
test eax, eax
jge 0x419119
cmp dword [esi + 0x104], ebx
jne 0x4190ac
cmp dword [esi + 0x110], ebx
je 0x4190ac
push 0xa30
lea ecx, [ebp - 0x14]
call fcn.0049de81
push edi
mov ecx, esi
push dword [ebp - 0x18]
push dword [ebp - 0x14]
call fcn.0049bcf1
cmp eax, 6
jne 0x419135
mov dword [esi + 0x110], ebx
push ecx
lea eax, [ebp - 0x24]
mov ecx, esp
mov dword [ebp - 0x34], esp
push eax
call fcn.0049d64d
call fcn.00447e00
cmp eax, ebx
pop ecx
je 0x4190f3
cmp dword [esi + 0x11c], ebx
je 0x4190f3
push 0xa3e
lea ecx, [ebp - 0x14]
call fcn.0049de81
push edi
mov ecx, esi
push dword [ebp - 0x18]
push dword [ebp - 0x14]
call fcn.0049bcf1
cmp eax, 6
jne 0x419135
mov dword [esi + 0x11c], ebx
push ebx
push ecx
lea eax, [esi + 0x270]
mov ecx, esp
mov dword [ebp - 0x34], esp
push eax
call fcn.0049d64d
call fcn.004466f0
pop ecx
cmp eax, ebx
pop ecx
je 0x419141
inc dword [ebp - 0x28]
jmp 0x41902a
push 0xa2e
lea ecx, [ebp - 0x14]
call fcn.0049de81
push 0x10
mov ecx, esi
push dword [ebp - 0x18]
push dword [ebp - 0x14]
call fcn.0049bcf1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x24]
jmp 0x4196c3
push 0xa35
jmp 0x41911e
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 2
call fcn.0049d8d8
mov eax, dword [esi + 0x270]
lea edi, [esi + 0x270]
cmp dword [eax - 8], ebx
jne 0x419189
push 0xa35
lea ecx, [ebp - 0x14]
call fcn.0049de81
push 0x10
mov ecx, esi
push dword [ebp - 0x18]
push dword [ebp - 0x14]
call fcn.0049bcf1
or edi, 0xffffffff
jmp 0x4199c1
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push edi
call fcn.0049d64d
lea eax, [ebp - 0x2c]
push eax
call fcn.00447404
pop ecx
pop ecx
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 4], 4
cmp dword [eax - 8], ebx
jne 0x4191d0
push 0xa35
lea ecx, [ebp - 0x14]
call fcn.0049de81
push 0x10
mov ecx, esi
push dword [ebp - 0x18]
push dword [ebp - 0x14]
call fcn.0049bcf1
or edi, 0xffffffff
jmp 0x4199b5
mov eax, dword [edi]
cmp dword [eax - 8], 2
jle 0x4191f3
mov cl, byte [eax]
cmp cl, 0x5c
jne 0x4191f3
cmp byte [eax + 1], cl
jne 0x4191f3
cmp dword [0x4e80f4], ebx
je 0x419202
push 0xb30
jmp 0x4191b1
cmp dword [0x4e8114], ebx
je 0x419202
push 0xb2f
jmp 0x4191b1
mov eax, dword [esi + 0xdc]
cmp dword [eax + 0x344], 1
je 0x41926e
cmp dword [0x4e80ec], ebx
jne 0x41926e
xor edi, edi
cmp dword [esi + 0x160], ebx
jle 0x41926e
lea eax, [ebp - 0x3c]
fldz
push eax
mov eax, dword [esi + 0x15c]
fstp qword [ebp - 0x3c]
mov ecx, dword [eax + edi*4]
call fcn.0045b8dc
fld qword [ebp - 0x3c]
fcomp qword [0x4bb2e8]
fnstsw ax
sahf
jbe 0x419265
mov ecx, dword [esi + 0xe0]
call fcn.0045b417
test eax, eax
je 0x419265
mov eax, dword [esi + 0x15c]
mov eax, dword [eax + edi*4]
cmp dword [eax + 0x20], ebx
je 0x419289
inc edi
cmp edi, dword [esi + 0x160]
jl 0x419223
mov eax, dword [esi + 0x274]
lea edi, [esi + 0x274]
cmp dword [eax - 8], ebx
jne 0x4192aa
push 0xa40
jmp 0x4191b1
push 0xa93
lea ecx, [ebp - 0x14]
call fcn.0049de81
push 0x10
mov ecx, esi
push dword [ebp - 0x18]
push dword [ebp - 0x14]
call fcn.0049bcf1
jmp 0x4196bc
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push edi
call fcn.0049d64d
lea eax, [ebp - 0x30]
push eax
call fcn.00447404
pop ecx
pop ecx
mov eax, dword [ebp - 0x30]
mov byte [ebp - 4], 5
cmp dword [eax - 8], ebx
jne 0x4192d7
push 0xa40
jmp 0x41998f
push str.______
lea ecx, [esi + 0x270]
call fcn.0049dd8e
test eax, eax
jge 0x41998a
push str.______
mov ecx, edi
call fcn.0049dd8e
test eax, eax
jge 0x41998a
mov eax, dword [esi + 0x278]
lea edi, [esi + 0x278]
cmp dword [eax - 8], ebx
jne 0x419326
cmp dword [esi + 0x2ac], ebx
je 0x419326
push 0xa5f
jmp 0x41998f
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push edi
call fcn.0049d64d
lea eax, [ebp - 0x1c]
push eax
call fcn.00447404
pop ecx
pop ecx
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 6
cmp dword [eax - 8], ebx
jne 0x419381
cmp dword [esi + 0x2ac], ebx
je 0x419381
push 0xa5f
lea ecx, [ebp - 0x14]
call fcn.0049de81
push 0x10
push dword [ebp - 0x18]
push dword [ebp - 0x14]
mov ecx, esi
call fcn.0049bcf1
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 5
call fcn.0049d8d8
or edi, 0xffffffff
jmp 0x4199a9
push str.______
mov ecx, edi
call fcn.0049dd8e
test eax, eax
jl 0x4193a0
cmp dword [esi + 0x2ac], ebx
je 0x4193a0
push 0xa2e
jmp 0x419356
mov eax, dword [esi + 0x2b4]
cmp dword [eax - 8], ebx
je 0x4193d5
push ecx
lea eax, [esi + 0x270]
mov ecx, esp
mov dword [ebp - 0x34], esp
push eax
call fcn.0049d64d
call fcn.00449bea
cmp eax, ebx
pop ecx
jne 0x4193d5
mov eax, dword [esi + 0x2b4]
push 0x10
push dword [ebp - 0x18]
push eax
jmp 0x419366
cmp dword [esi + 0x104], ebx
jne 0x41941e
cmp dword [esi + 0x110], ebx
je 0x41941e
cmp dword [0x4e80ec], ebx
jne 0x41941e
push 0xa30
lea ecx, [ebp - 0x14]
call fcn.0049de81
mov edi, 0x124
mov ecx, esi
push edi
push dword [ebp - 0x18]
push dword [ebp - 0x14]
call fcn.0049bcf1
cmp eax, 6
jne 0x41936d
mov dword [esi + 0x110], ebx
jmp 0x419423
mov edi, 0x124
cmp dword [esi + 0x108], ebx
jne 0x41945d
cmp dword [esi + 0x114], ebx
je 0x41945d
push 0xa32
lea ecx, [ebp - 0x14]
call fcn.0049de81
push edi
mov ecx, esi
push dword [ebp - 0x18]
push dword [ebp - 0x14]
call fcn.0049bcf1
cmp eax, 6
jne 0x41936d
mov dword [esi + 0x114], ebx
cmp dword [esi + 0x10c], ebx
jne 0x419497
cmp dword [esi + 0x118], ebx
je 0x419497
push 0xa41
lea ecx, [ebp - 0x14]
call fcn.0049de81
push edi
mov ecx, esi
push dword [ebp - 0x18]
push dword [ebp - 0x14]
call fcn.0049bcf1
cmp eax, 6
jne 0x41936d
mov dword [esi + 0x118], ebx
push ecx
lea eax, [esi + 0x270]
mov ecx, esp
mov dword [ebp - 0x34], esp
push eax
call fcn.0049d64d
call fcn.00447e00
cmp eax, ebx
pop ecx
je 0x4194e5
cmp dword [esi + 0x11c], ebx
je 0x4194e5
push 0xa3e
lea ecx, [ebp - 0x14]
call fcn.0049de81
push edi
mov ecx, esi
push dword [ebp - 0x18]
push dword [ebp - 0x14]
call fcn.0049bcf1
cmp eax, 6
jne 0x41936d
mov dword [esi + 0x11c], ebx
push ecx
lea eax, [esi + 0x274]
mov ecx, esp
mov dword [ebp - 0x34], esp
push eax
call fcn.0049d64d
call fcn.00447e00
cmp eax, ebx
pop ecx
je 0x419533
cmp dword [esi + 0x11c], ebx
je 0x419533
push 0xa3f
lea ecx, [ebp - 0x14]
call fcn.0049de81
push edi
mov ecx, esi
push dword [ebp - 0x18]
push dword [ebp - 0x14]
call fcn.0049bcf1
cmp eax, 6
jne 0x41936d
mov dword [esi + 0x11c], ebx
push ecx
lea eax, [esi + 0x278]
mov ecx, esp
mov dword [ebp - 0x34], esp
push eax
call fcn.0049d64d
call fcn.00447e00
cmp eax, ebx
pop ecx
je 0x419589
cmp dword [esi + 0x11c], ebx
je 0x419589
cmp dword [esi + 0x2ac], ebx
je 0x419589
push 0xa60
lea ecx, [ebp - 0x14]
call fcn.0049de81
push edi
mov ecx, esi
push dword [ebp - 0x18]
push dword [ebp - 0x14]
call fcn.0049bcf1
cmp eax, 6
jne 0x41936d
mov dword [esi + 0x11c], ebx
cmp dword [0x4e80ec], ebx
push ecx
mov ecx, esp
je 0x4196f3
lea edi, [esi + 0x270]
mov dword [ebp - 0x34], esp
push edi
call fcn.0049d64d
lea eax, [ebp - 0x24]
push eax
call fcn.00447404
pop ecx
pop ecx
mov eax, dword [ebp - 0x24]
mov ecx, edi
mov byte [ebp - 4], 7
mov eax, dword [eax - 8]
inc eax
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.00496d0e
push eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 8
call fcn.0049d9c5
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 7
call fcn.0049d8d8
push 1
push ecx
lea eax, [ebp - 0x24]
mov ecx, esp
mov dword [ebp - 0x34], esp
push eax
call fcn.0049d64d
push ecx
mov byte [ebp - 4], 9
mov edi, esp
mov dword [ebp - 0x38], esp
push ecx
mov ecx, 0x4e83a0
mov eax, esp
mov dword [ebp - 0x38], esp
push ebx
push eax
call fcn.00407bd2
push edi
call fcn.00447404
pop ecx
lea eax, [ebp - 0x28]
pop ecx
mov byte [ebp - 4], 7
push eax
call fcn.00447f34
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xa
push eax
call fcn.0045df29
add esp, 0x14
test eax, eax
je 0x419670
push ebx
push ecx
lea eax, [ebp - 0x28]
mov ecx, esp
mov dword [ebp - 0x38], esp
push eax
call fcn.0049d64d
call fcn.004466f0
pop ecx
cmp eax, ebx
pop ecx
je 0x419670
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 7
call fcn.0049d8d8
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 6
call fcn.0049d8d8
jmp 0x419790
push 0xa2e
lea ecx, [ebp - 0x14]
call fcn.0049de81
push 0x10
mov ecx, esi
push dword [ebp - 0x18]
push dword [ebp - 0x14]
call fcn.0049bcf1
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 7
call fcn.0049d8d8
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 6
call fcn.0049d8d8
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 5
call fcn.0049d8d8
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 4
call fcn.0049d8d8
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2c]
call fcn.0049d8d8
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 1
call fcn.0049d8d8
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], bl
call fcn.0049d8d8
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.0049d8d8
or eax, 0xffffffff
jmp 0x4199e6
lea edi, [esi + 0x270]
mov dword [ebp - 0x38], esp
push edi
call fcn.0049d64d
call fcn.00449f55
test al, 8
pop ecx
je 0x419713
push 0x6e
jmp 0x419356
test al, 4
je 0x41971e
push 0x71
jmp 0x419356
test al, 0xa0
jne 0x419983
test al, 0x50
jne 0x41997c
test al, 2
je 0x41976b
cmp dword [esi + 0x124], ebx
jne 0x419790
push 0x69
lea ecx, [ebp - 0x14]
call fcn.0049de81
push 0x124
mov ecx, esi
push dword [ebp - 0x18]
push dword [ebp - 0x14]
call fcn.0049bcf1
cmp eax, 6
jne 0x41936d
mov dword [esi + 0x124], 1
jmp 0x419790
push ebx
push ecx
mov ecx, esp
mov dword [ebp - 0x38], esp
push edi
call fcn.0049d64d
call fcn.004466f0
pop ecx
cmp eax, ebx
pop ecx
jne 0x41978a
push 0x6d
jmp 0x419356
mov dword [esi + 0x124], ebx
push ebx
push ecx
lea edi, [esi + 0x270]
mov ecx, esp
mov dword [ebp - 0x38], esp
push edi
call fcn.0049d64d
call fcn.004466f0
pop ecx
cmp eax, ebx
pop ecx
jne 0x4197c0
cmp dword [0x4e80ec], ebx
jne 0x4197c0
push 0xa35
jmp 0x419356
push ebx
push ecx
lea eax, [esi + 0x274]
mov ecx, esp
mov dword [ebp - 0x38], esp
push eax
call fcn.0049d64d
call fcn.004466f0
pop ecx
cmp eax, ebx
pop ecx
jne 0x4197e8
push 0xa40
jmp 0x419356
push ebx
push ecx
lea eax, [esi + 0x278]
mov ecx, esp
mov dword [ebp - 0x38], esp
push eax
call fcn.0049d64d
call fcn.004466f0
pop ecx
cmp eax, ebx
pop ecx
jne 0x419812
cmp dword [esi + 0x2ac], ebx
jne 0x419351
cmp dword [0x4e814c], ebx
jne 0x419905
mov ecx, dword [esi + 0xdc]
lea eax, [ebp - 0x34]
push eax
call fcn.0040c434
mov eax, dword [eax]
cmp dword [eax - 8], ebx
je 0x41984c
mov eax, dword [esi + 0xdc]
mov byte [ebp - 0xd], 1
cmp dword [eax + 0x344], 1
setne al
cmp al, bl
jne 0x41984f
mov byte [ebp - 0xd], bl
lea ecx, [ebp - 0x34]
call fcn.0049d8d8
cmp byte [ebp - 0xd], bl
je 0x419905
push ebx
push ecx
mov ecx, dword [esi + 0xdc]
mov eax, esp
mov dword [ebp - 0x38], esp
push eax
call fcn.0040c434
push ecx
mov byte [ebp - 4], 0xb
mov ecx, esp
mov dword [ebp - 0x34], esp
push edi
call fcn.0049d64d
mov byte [ebp - 4], 6
call fcn.0044c9c8
add esp, 0xc
cmp eax, ebx
jne 0x419905
cmp dword [esi + 0x120], ebx
lea eax, [esi + 0x120]
je 0x419905
push 0x7ef
lea ecx, [ebp - 0x14]
mov dword [eax], ebx
call fcn.0049de81
push 0x24
mov ecx, esi
push dword [ebp - 0x18]
push dword [ebp - 0x14]
call fcn.0049bcf1
cmp eax, 6
jne 0x419905
mov ecx, dword [esi + 0xdc]
lea eax, [ebp - 0x34]
push eax
call fcn.0040c434
push eax
mov ecx, edi
mov byte [ebp - 4], 0xc
call fcn.0049d9c5
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 6
call fcn.0049d8d8
push ebx
mov ecx, esi
call fcn.0049c56e
push ebx
push ebx
push 0x80e
push dword [esi + 0x1c]
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x419917
mov ecx, esi
call fcn.0041aad6
mov ecx, esi
call fcn.0041af49
test eax, eax
je 0x41992f
push 0x578
mov ecx, esi
call fcn.0049ceae
mov ecx, eax
call fcn.0049d11e
jmp 0x41936d
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov eax, dword [esi + 0xdc]
mov dword [eax + 0x3c0], ebx
cmp dword [esi + 0x2cc], ebx
mov dword [esi + 0xd4], 1
je 0x419965
mov ecx, esi
call fcn.0041c9a3
test eax, eax
je 0x41936d
mov ecx, esi
call fcn.004a245b
lea ecx, [ebp - 0x1c]
mov edi, eax
mov byte [ebp - 4], 5
call fcn.0049d8d8
jmp 0x4199a9
push 0x70
jmp 0x419356
push 0x6f
jmp 0x419356
push 0xa2e
lea ecx, [ebp - 0x14]
call fcn.0049de81
push 0x10
mov ecx, esi
push dword [ebp - 0x18]
or edi, 0xffffffff
push dword [ebp - 0x14]
call fcn.0049bcf1
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 4
call fcn.0049d8d8
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
call fcn.0049d8d8
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 1
call fcn.0049d8d8
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], bl
call fcn.0049d8d8
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.0049d8d8
mov eax, edi
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret