Function at 0x41f6e0
Capabilities:
Check if file exists
Get file attributes
Set current directory

Disassembly:
sub esp, 0x148
push ebx
push ebp
mov ebp, dword [esp + 0x154]
xor eax, eax
mov dword [esp + 0x20], 0x90020
mov ebx, ecx
mov word [esp + 0x24], ax
push esi
push edi
mov edi, ebp
test ebp, ebp
je 0x41f741
movzx eax, word [ebp]
test ax, ax
je 0x41f741
mov esi, eax
lea ecx, [esp + 0x28]
mov edx, 0x20
nop dword [eax]
cmp si, dx
je 0x41f784
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x41f720
movzx eax, word [edi + 2]
add edi, 2
mov esi, eax
test ax, ax
jne 0x41f713
mov ecx, ebp
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41f746
sub ecx, edx
sar ecx, 1
lea edi, [ecx*2]
add edi, ebp
xor esi, esi
mov eax, dword [esp + 0x15c]
mov ebp, edi
sub ebp, eax
sar ebp, 1
cmp ebp, 0x20
jb 0x41f79f
mov eax, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
mov esi, edi
movzx eax, word [esi]
cmp eax, 0x20
je 0x41f793
cmp eax, 9
jne 0x41f798
add esi, 2
jmp 0x41f786
test ax, ax
jne 0x41f760
jmp 0x41f75e
cmp word [edi], 0
je 0x41f7c8
push ebp
push eax
lea eax, [esp + 0x38]
push eax
call fcn.004ab924
add esp, 0xc
lea edi, [esp + 0x30]
xor eax, eax
mov word [esp + ebp*2 + 0x30], ax
mov ebp, dword [esp + 0x15c]
jmp 0x41f7cc
mov ebp, eax
mov edi, ebp
push str.Include
push edi
mov byte [esp + 0x24], 0
call fcn.0049f76e
add esp, 8
test eax, eax
je 0x4202a7
push str.IncludeAgain
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
sete byte [esp + 0x1c]
test eax, eax
je 0x4202a7
push str.DllLoad
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x41f971
test esi, esi
jne 0x41f84b
push esi
call dword [sym.imp.KERNEL32.dll_SetDllDirectoryW]
test eax, eax
jne 0x41f98a
push 0x4d1e48
push str.An_internal_function_call_failed.
mov ecx, ebx
call fcn.00430790
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
movzx eax, word [esi]
mov ecx, eax
cmp eax, 0x22
je 0x41f85c
mov edx, ecx
cmp eax, 0x27
jne 0x41f880
lea edi, [esi + 2]
push 0
push edi
call fcn.0049d2e2
movzx ecx, word [esi]
add esp, 8
mov edx, ecx
cmp word [eax - 2], cx
jne 0x41f880
xor ecx, ecx
mov esi, edi
mov word [eax - 2], cx
movzx edx, word [edi]
cmp dx, 0x2a
jne 0x41f8d3
movzx eax, word [esi + 2]
mov edi, eax
test eax, 0xffffff80
je 0x41f897
xor eax, eax
jmp 0x41f8a0
push eax
call fcn.004a5790
add esp, 4
mov ecx, edi
and ecx, 0xffdf
test eax, eax
movzx edx, cx
mov ecx, edi
cmove edx, ecx
cmp dx, 0x49
jne 0x41f8d3
movzx eax, word [esi + 4]
add esi, 4
mov byte [esp + 0x13], 1
cmp eax, 0x20
je 0x41f8ce
cmp eax, 9
jne 0x41f8d8
add esi, 2
jmp 0x41f8d8
mov byte [esp + 0x13], 0
push esi
lea eax, [esp + 0x20]
mov ecx, ebx
push eax
call fcn.0042f4e0
test eax, eax
je 0x42043c
mov edi, dword [esp + 0x1c]
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x41f91a
test al, 0x10
je 0x41f91a
push edi
call dword [sym.imp.KERNEL32.dll_SetDllDirectoryW]
push edi
mov esi, eax
call fcn.0049f86f
add esp, 4
test esi, esi
jmp 0x41f827
push edi
mov esi, 3
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [esp + 0x14], eax
test eax, eax
je 0x41f943
lea eax, [esp + 0x14]
push eax
push edi
push 1
call dword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
cmp dword [esp + 0x14], 0
jne 0x41f959
cmp byte [esp + 0x13], 0
jne 0x41f959
push edi
push str.Failed_to_load_DLL.
mov ecx, ebx
call fcn.00430790
mov esi, eax
push edi
call fcn.0049f86f
mov eax, esi
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
push str.NoTrayIcon
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x41f99c
mov byte [0x4ea0e0], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
push str.SingleInstance
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x41fa75
test esi, esi
je 0x41fa59
push str.Force
push esi
call fcn.0049f76e
add esp, 8
test eax, eax
je 0x41fa59
push 0x4d8d74
push esi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x41f9fe
mov dword [0x4e59a8], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
push str.Ignore
push esi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x41fa2c
mov dword [0x4e59a8], 3
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
push 0x4d4858
push esi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x41fee0
mov dword [0x4e59a8], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
mov dword [0x4e59a8], 2
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
push str.UseHook
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x41fab5
push ecx
push 0x4e9eed
push esi
call fcn.00420520
test eax, eax
jne 0x41f98a
push esi
push str.Parameter_1_invalid.
mov ecx, ebx
call fcn.00430790
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
push 0x4d373c
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x41fc2f
mov edi, dword [0x4e59a0]
cmp dword [edi + 0x18], eax
jne 0x41fc11
cmp dword [ebx + 0x54], eax
jne 0x41fc11
cmp dword [ebx + 0x1c], eax
jne 0x41fc11
test esi, esi
jne 0x41fb03
mov dword [edi + 0x58], esi
lea eax, [esi + 3]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
mov ecx, esi
call fcn.0040fd70
mov dword [edi + 0x58], eax
test eax, eax
jne 0x41f98a
mov ecx, ebx
call fcn.0043dd60
mov edx, dword [ebx + 0x1c]
lea eax, [esp + 0x70]
push eax
xor ecx, ecx
call fcn.004108f0
add esp, 4
test eax, eax
je 0x42043c
cmp word [esi], 0
je 0x41fb84
mov edi, esi
lea ecx, [edi + 2]
mov ax, word [edi]
add edi, 2
test ax, ax
jne 0x41fb41
sub edi, ecx
sar edi, 1
lea eax, [edi + edi]
lea ecx, [eax + 2]
mov dword [esp + 0x14], eax
call fcn.0047f3f0
mov ebp, eax
test ebp, ebp
je 0x42050f
test edi, edi
mov edi, dword [esp + 0x14]
je 0x41fb7c
push edi
push esi
push ebp
call fcn.0049ef90
add esp, 0xc
xor eax, eax
mov word [edi + ebp], ax
jmp 0x41fb89
mov ebp, 0x4d1e48
mov eax, dword [0x4e59a0]
mov ecx, ebx
push 0
push 0
push 0
mov eax, dword [eax + 0x58]
push 0
push 3
mov dword [eax + 0xc], ebp
mov edi, dword [ebx + 0x1c]
call fcn.00421c00
test eax, eax
je 0x41fbf3
push 0
push 0
push 6
push esi
mov ecx, ebx
call fcn.004206b0
test eax, eax
je 0x41fbf3
push 0
push 0
push 0
push 0
push 4
mov ecx, ebx
call fcn.00421c00
test eax, eax
je 0x41fbf3
mov eax, dword [0x4e59a0]
mov ecx, dword [edi + 0x28]
mov eax, dword [eax + 0x58]
mov dword [ecx + 0xc], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
push 0x4d1e48
push str.Out_of_memory.
mov ecx, ebx
call fcn.00430790
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
push 0x4d1e48
push str.Invalid_usage.
mov ecx, ebx
call fcn.00430790
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
push str.HotIfTimeout
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x41fc67
test esi, esi
je 0x41f98a
mov ecx, esi
call fcn.004828e0
mov dword [0x4e5f00], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
push str.Hotstring
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x41fdb4
test esi, esi
je 0x41f98a
mov edx, str.EndChars
mov ecx, esi
call fcn.00482440
mov edi, eax
test edi, edi
je 0x41fd2c
movzx eax, word [edi]
test ax, ax
je 0x41f98a
mov esi, eax
nop dword [eax]
mov ecx, 0x4d8dfc
mov edx, 9
nop word [eax + eax]
cmp si, dx
je 0x41fcf3
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x41fcc0
movzx eax, word [edi + 2]
add edi, 2
mov esi, eax
test ax, ax
jne 0x41fcb0
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
push 0x64
lea eax, [edi + 2]
push eax
push str._____:____.___n__t
call fcn.004ab924
add esp, 0xc
xor eax, eax
xor edx, edx
mov word [0x4e5ef8], ax
mov ecx, str._____:____.___n__t
call fcn.00484740
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
push 7
push str.NoMouse
push esi
call fcn.0049f8ef
add esp, 0xc
test eax, eax
jne 0x41fd57
mov byte [0x4e5e2c], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
push 0x4ea06f
push 0x4e9eb9
push 0x4e9eee
push 0x4e9eef
push 0x4e5e2d
push 0x4e9f9a
push 0x4e9f98
push 0x4e5e2e
push 0x4e5e2f
push 0x4e9f99
push 0x4e5efc
push 0x4e9f9c
mov edx, 0x4e9fa0
mov ecx, esi
call fcn.00412760
add esp, 0x30
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
push str.MaxThreadsPerHotkey
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x41fe17
test esi, esi
je 0x41f98a
mov ecx, esi
call fcn.004828e0
cmp eax, 0xff
jle 0x41fdf8
mov eax, 0xff
mov byte [0x4e5efa], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
mov ecx, 1
cmp eax, ecx
cmovl eax, ecx
mov byte [0x4e5efa], al
lea eax, [ecx + 2]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
push str.MaxThreadsBuffer
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x41fe57
push ecx
push 0x4ea0dc
push esi
call fcn.00420520
test eax, eax
jne 0x41f98a
push esi
push str.Parameter_1_invalid.
mov ecx, ebx
call fcn.00430790
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
push str.MaxThreads
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x41feba
test esi, esi
je 0x41f98a
mov ecx, esi
call fcn.004828e0
cmp eax, 0xff
jle 0x41fe9b
mov eax, 0xff
mov dword [0x4e599c], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
mov ecx, 1
cmp eax, ecx
cmovl eax, ecx
mov dword [0x4e599c], eax
lea eax, [ecx + 2]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
push str.SuspendExempt
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x41fefa
push ecx
push 0x4e9eb8
push esi
call fcn.00420520
test eax, eax
jne 0x41f98a
push ebp
push str.Parameter_1_invalid.
mov ecx, ebx
call fcn.00430790
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
push str.ClipboardTimeout
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x41ff32
test esi, esi
je 0x41f98a
mov ecx, esi
call fcn.004828e0
mov dword [0x4e59b0], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
push str.WinActivateForce
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x41ff5d
mov byte [0x4ea0e2], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
push str.ErrorStdOut
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x41ffd8
test esi, esi
je 0x41ff9f
movzx eax, word [esi]
cmp eax, 0x22
je 0x41ff80
cmp eax, 0x27
jne 0x41ff9f
lea edi, [esi + 2]
push 0
push edi
call fcn.0049d2e2
add esp, 8
mov cx, word [eax - 2]
cmp cx, word [esi]
jne 0x41ff9f
xor ecx, ecx
mov esi, edi
mov word [eax - 2], cx
mov ecx, esi
call fcn.0041a2f0
cmp eax, 0xffffffff
mov dword [ebx + 0x6d0], eax
setne cl
mov byte [ebx + 0x6cf], cl
jne 0x41f98a
push esi
push str.Parameter_1_invalid.
mov ecx, ebx
call fcn.00430790
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
push str.InputLevel
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x420035
test esi, esi
je 0x42001c
mov ecx, esi
call fcn.004828e0
test eax, eax
js 0x41fee0
cmp eax, 0x64
jle 0x42001e
push ebp
push str.Parameter_1_invalid.
mov ecx, ebx
call fcn.00430790
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
xor eax, eax
mov byte [0x4ea06e], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
push str.Warn
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x420189
test esi, esi
mov edi, 0x4d1e48
push 0x2c
cmovne edi, esi
push edi
call fcn.0049d2e2
mov ecx, eax
add esp, 8
mov ebp, 0x4d1e48
test ecx, ecx
je 0x4200aa
lea ebp, [ecx + 2]
nop
movzx eax, word [ebp]
cmp eax, 0x20
je 0x42007e
cmp eax, 9
jne 0x420083
add ebp, 2
jmp 0x420070
lea eax, [ecx - 2]
cmp eax, edi
jbe 0x4200a4
nop word [eax + eax]
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x42009d
cmp ecx, 9
jne 0x4200a4
sub eax, 2
cmp eax, edi
ja 0x420090
xor ecx, ecx
mov word [eax + 2], cx
cmp word [edi], 0
mov esi, 3
je 0x4200fb
xor esi, esi
nop word [eax + eax]
push dword [esi*4 + 0x4db6d0]
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
je 0x4200fb
inc esi
cmp esi, 4
jne 0x4200c0
mov eax, dword [esp + 0x15c]
mov ecx, ebx
push eax
push str.Parameter_1_invalid.
call fcn.00430790
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
cmp word [ebp], 0
mov edi, 2
je 0x420144
xor edi, edi
nop dword [eax]
push dword [edi*4 + 0x4db6c0]
push ebp
call fcn.0049f76e
add esp, 8
test eax, eax
je 0x420144
inc edi
cmp edi, 4
jne 0x420110
push ebp
push str.Parameter_2_invalid.
mov ecx, ebx
call fcn.00430790
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
test esi, esi
je 0x42014d
cmp esi, 3
jne 0x420153
mov dword [0x4ea0e4], edi
cmp esi, 1
je 0x42015d
cmp esi, 3
jne 0x420163
mov dword [0x4e5f10], edi
cmp esi, 2
je 0x420171
cmp esi, 3
jne 0x41f98a
mov dword [0x4e5f0c], edi
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
push str.Requires
push edi
call fcn.0049f76e
add esp, 8
test eax, eax
jne 0x41f772
test esi, esi
jne 0x4201c1
push 0x4d1e48
push str.Parameter_1_required
mov ecx, ebx
call fcn.00430790
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
push 0xa
push 0x4d1fc4
push esi
mov byte [esp + 0x1f], 0
call fcn.0049f8ef
add esp, 0xc
mov ebp, 0x4c14c8
test eax, eax
jne 0x420256
movzx eax, word [esi + 0x14]
test ax, ax
je 0x41f98a
cmp eax, 0x20
je 0x4201f6
cmp eax, 9
jne 0x420256
lea edi, [esi + 0x16]
nop dword [eax]
movzx eax, word [edi]
cmp eax, 0x20
je 0x42020d
cmp eax, 9
jne 0x420212
add edi, 2
jmp 0x420200
mov ecx, eax
cmp eax, 0x76
jne 0x420222
movzx ecx, word [edi + 2]
lea eax, [edi + 2]
mov edi, eax
cmp cx, word [0x4c14c8]
jne 0x420252
movzx eax, word [edi + 2]
push eax
push 0x4d8f64
call fcn.0049d2e2
add esp, 8
test eax, eax
je 0x420252
mov edx, ebp
mov ecx, edi
call fcn.00484c30
test eax, eax
jle 0x41f98a
mov cl, 1
jmp 0x42025a
mov cl, byte [esp + 0x13]
test cl, cl
mov edx, 0x4d1e48
mov eax, str.__but_you_have_v
cmove ebp, edx
cmove eax, edx
push ebp
push eax
push esi
push str.This_script_requires__s_s_s.
lea eax, [esp + 0xa0]
push 0x64
push eax
call fcn.00482070
add esp, 0x18
lea eax, [esp + 0x90]
mov ecx, ebx
push 0x4d1e48
push eax
call fcn.00430790
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
test esi, esi
jne 0x4202c5
push ebp
push str.Parameter_1_required
mov ecx, ebx
call fcn.00430790
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
movzx eax, word [esi]
mov ecx, eax
cmp eax, 0x22
je 0x4202d6
mov edx, ecx
cmp eax, 0x27
jne 0x4202fa
lea edi, [esi + 2]
push 0
push edi
call fcn.0049d2e2
movzx ecx, word [esi]
add esp, 8
mov edx, ecx
cmp word [eax - 2], cx
jne 0x4202fa
xor ecx, ecx
mov esi, edi
mov word [eax - 2], cx
movzx edx, word [edi]
movzx eax, dx
test ax, ax
jne 0x420320
push 0x4d1e48
push str.Parameter_1_invalid.
mov ecx, ebx
call fcn.00430790
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
cmp eax, 0x2a
jne 0x420369
movzx eax, word [esi + 2]
mov edi, eax
test eax, 0xffffff80
je 0x420336
xor eax, eax
jmp 0x42033f
push eax
call fcn.004a5790
add esp, 4
mov ecx, edi
and ecx, 0xffdf
test eax, eax
movzx edx, cx
mov ecx, edi
cmove edx, ecx
cmp dx, 0x49
jne 0x420369
movzx eax, word [esi + 4]
cmp eax, 0x20
je 0x420365
cmp eax, 9
jne 0x420369
mov al, 1
jmp 0x42036b
xor al, al
test al, al
mov byte [esp + 0x14], al
lea edi, [esi + 6]
cmove edi, esi
cmp word [edi], 0x3c
jne 0x42042b
push 0x3e
push edi
call fcn.0049d2e2
add esp, 8
mov dword [esp + 0x20], eax
test eax, eax
je 0x42042b
cmp word [eax + 2], 0
jne 0x42042b
xor ecx, ecx
lea esi, [edi + 2]
mov word [eax], cx
call fcn.00444020
mov edi, dword [esp + 0x20]
mov ecx, edi
mov dword [esp + 0x1c], eax
sub ecx, esi
lea eax, [esp + 0x1b]
sar ecx, 1
push eax
lea eax, [esp + 0x17]
push eax
push ecx
push esi
mov ecx, ebx
call fcn.00424f10
mov esi, dword [esp + 0x1c]
test esi, esi
je 0x4203e9
push esi
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push esi
call fcn.0049f86f
add esp, 4
mov al, byte [esp + 0x13]
test al, al
jne 0x420405
cmp byte [esp + 0x1b], al
jne 0x41f98a
cmp byte [esp + 0x14], al
jne 0x41f98a
mov ecx, 0x3e
mov word [edi], cx
test al, al
jne 0x42043c
push ebp
push str.Function_library_not_found.
mov ecx, ebx
call fcn.00430790
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
push edi
lea eax, [esp + 0x24]
mov ecx, ebx
push eax
call fcn.0042f4e0
test eax, eax
jne 0x42044b
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
mov esi, dword [esp + 0x20]
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4204c5
test al, 0x10
je 0x4204c5
movzx eax, word [esi]
mov edi, esi
test ax, ax
je 0x42048f
movzx ecx, word [edi + 2]
cmp ecx, 0x3a
jne 0x42048f
cmp word [edi + 4], 0
jne 0x42048f
mov word [esp + 0x20], ax
lea edi, [esp + 0x20]
mov word [esp + 0x22], cx
mov dword [esp + 0x24], 0x5c
push edi
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
test eax, eax
je 0x4204aa
cmp byte [0x4eb7dc], 0
je 0x4204aa
mov ecx, edi
call fcn.00443fc0
push esi
call fcn.0049f86f
mov eax, 3
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
call fcn.00444020
push dword [esp + 0x14]
mov ecx, ebx
mov ebp, eax
push dword [esp + 0x20]
push esi
call fcn.0041cab0
neg eax
sbb edi, edi
and edi, 3
test ebp, ebp
je 0x4204f7
push ebp
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push ebp
call fcn.0049f86f
add esp, 4
push esi
call fcn.0049f86f
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x148
ret 4
call fcn.00430e20
int3