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

Disassembly:
sub esp, 0x498
mov edx, dword [esp + 0x49c]
xor eax, eax
mov dword [esp + 0xc], 0x90020
mov word [esp + 0x10], ax
push ebx
mov ebx, edx
push ebp
mov ebp, ecx
push esi
push edi
test edx, edx
je 0x43dc18
movzx eax, word [edx]
test ax, ax
je 0x43dc18
mov esi, eax
lea ecx, [esp + 0x1c]
mov edx, 0x20
nop dword [eax + eax]
cmp si, dx
je 0x43dc51
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x43dbf0
movzx eax, word [ebx + 2]
add ebx, 2
mov esi, eax
test ax, ax
jne 0x43dbe2
mov edx, dword [esp + 0x4ac]
mov ecx, edx
lea esi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43dc20
sub ecx, esi
sar ecx, 1
lea ebx, [edx + ecx*2]
xor edi, edi
mov esi, ebx
sub esi, edx
sar esi, 1
cmp esi, 0x20
jb 0x43dc73
mov eax, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
mov edi, ebx
movzx eax, word [edi]
cmp eax, 0x20
je 0x43dc60
cmp eax, 9
jne 0x43dc65
add edi, 2
jmp 0x43dc53
mov edx, dword [esp + 0x4ac]
test ax, ax
jne 0x43dc34
jmp 0x43dc32
cmp word [ebx], 0
je 0x43dc95
push esi
push edx
lea eax, [esp + 0x70]
push eax
call fcn.004aa9a4
add esp, 0xc
xor eax, eax
mov word [esp + esi*2 + 0x68], ax
lea esi, [esp + 0x68]
jmp 0x43dc97
mov esi, edx
push 0x4d6fd4
push esi
mov byte [esp + 0x18], 0
call fcn.0049f3a1
add esp, 8
test eax, eax
je 0x43e939
push 0x4d76ac
push esi
call fcn.0049f3a1
add esp, 8
test eax, eax
sete byte [esp + 0x10]
test eax, eax
je 0x43e939
push 0x4d7728
push esi
call fcn.0049f3a1
add esp, 8
test eax, eax
jne 0x43de24
test edi, edi
jne 0x43dd16
push edi
call dword [sym.imp.KERNEL32.DLL_SetDllDirectoryW]
test eax, eax
jne 0x43de3d
push 0x4cee98
push 0x4d0d48
mov ecx, ebp
call fcn.0040d780
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
movzx eax, word [edi]
mov ecx, eax
cmp eax, 0x22
je 0x43dd27
mov edx, ecx
cmp eax, 0x27
jne 0x43dd4b
lea esi, [edi + 2]
push 0
push esi
call fcn.0049cf2f
movzx ecx, word [edi]
add esp, 8
mov edx, ecx
cmp word [eax - 2], cx
jne 0x43dd4b
xor ecx, ecx
mov edi, esi
mov word [eax - 2], cx
movzx edx, word [esi]
cmp dx, 0x2a
jne 0x43dd8b
movzx eax, word [edi + 2]
mov edx, eax
mov esi, eax
and eax, 0xffdf
add edx, 0xffffff9f
movzx ecx, ax
cmp dx, 0x19
mov eax, esi
cmova ecx, eax
cmp cx, 0x49
jne 0x43dd8b
movzx eax, word [edi + 4]
add edi, 4
mov bl, 1
cmp eax, 0x20
je 0x43dd86
cmp eax, 9
jne 0x43dd8d
add edi, 2
jmp 0x43dd8d
xor bl, bl
push edi
lea eax, [esp + 0x14]
mov ecx, ebp
push eax
call fcn.0044c340
test eax, eax
je 0x43eac2
mov edi, dword [esp + 0x10]
push edi
call dword [sym.imp.KERNEL32.DLL_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x43ddcf
test al, 0x10
je 0x43ddcf
push edi
call dword [sym.imp.KERNEL32.DLL_SetDllDirectoryW]
push edi
mov esi, eax
call fcn.0049f4a2
add esp, 4
test esi, esi
jmp 0x43dcf2
push edi
mov esi, 3
call dword [sym.imp.KERNEL32.DLL_LoadLibraryW]
mov dword [esp + 0x14], eax
test eax, eax
je 0x43ddf9
lea eax, [esp + 0x14]
push eax
push edi
push 1
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleExW]
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x43de0c
test bl, bl
jne 0x43de0c
push edi
push 0x4d4af0
mov ecx, ebp
call fcn.0040d780
mov esi, eax
push edi
call fcn.0049f4a2
mov eax, esi
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
push 0x4d773c
push esi
call fcn.0049f3a1
add esp, 8
test eax, eax
jne 0x43de4f
mov byte [0x4e8e7c], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
push 0x4d7754
push esi
call fcn.0049f3a1
add esp, 8
test eax, eax
jne 0x43df28
test edi, edi
je 0x43df0c
push 0x4d7774
push edi
call fcn.0049f3a1
add esp, 8
test eax, eax
je 0x43df0c
push 0x4d7780
push edi
call fcn.0049f3a1
add esp, 8
test eax, eax
jne 0x43deb1
mov dword [0x4e4790], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
push 0x4d7790
push edi
call fcn.0049f3a1
add esp, 8
test eax, eax
jne 0x43dedf
mov dword [0x4e4790], 3
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
push 0x4d3e20
push edi
call fcn.0049f3a1
add esp, 8
test eax, eax
jne 0x43e64c
mov dword [0x4e4790], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
mov dword [0x4e4790], 2
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
push 0x4d77a0
push esi
call fcn.0049f3a1
add esp, 8
test eax, eax
jne 0x43dfbf
test edi, edi
je 0x43dfa6
cmp word [edi], ax
je 0x43dfa6
push 0x4d7960
push edi
call fcn.0049f3a1
add esp, 8
test eax, eax
je 0x43dfa6
cmp word [edi], 0x31
jne 0x43df66
cmp word [edi + 2], 0
je 0x43dfa6
push 0x4d796c
push edi
call fcn.0049f3a1
add esp, 8
test eax, eax
je 0x43df8d
cmp word [edi], 0x30
jne 0x43e60c
cmp word [edi + 2], 0
jne 0x43e60c
mov byte [0x4e8c6f], 0
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
mov byte [0x4e8c6f], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
push 0x4d2d38
push esi
call fcn.0049f3a1
add esp, 8
test eax, eax
jne 0x43e1ca
cmp dword [ebp + 0x58], eax
jne 0x43e1ac
mov esi, dword [0x4e4788]
mov eax, dword [esi + 0x18]
cmp eax, dword [ebp + 0x1c]
jne 0x43e1ac
test edi, edi
jne 0x43e007
mov dword [esi + 0x58], edi
lea eax, [edi + 3]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
mov ecx, edi
call fcn.00413d60
mov dword [esi + 0x58], eax
test eax, eax
jne 0x43de3d
mov ebx, dword [ebp + 0x1c]
test ebx, ebx
je 0x43e023
dec dword [ebp + 0x28]
mov ecx, ebp
call fcn.0044f580
mov ecx, dword [ebp + 0x1c]
call fcn.004145b0
cmp eax, 1
je 0x43e060
cmp eax, 0xa00e0001
jne 0x43eac2
push 0x4cee98
push 0x4d27e0
mov ecx, ebp
call fcn.0040d780
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
cmp word [edi], 0
je 0x43e0bb
mov esi, edi
lea ecx, [esi + 2]
nop dword [eax + eax]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x43e070
sub esi, ecx
sar esi, 1
lea eax, [esi + esi]
lea ecx, [eax + 2]
mov dword [esp + 0x14], eax
call fcn.0047e730
mov ecx, eax
mov dword [esp + 0x10], ecx
test ecx, ecx
je 0x43eb53
test esi, esi
mov esi, dword [esp + 0x14]
je 0x43e0b3
push esi
push edi
push ecx
call fcn.0049cfe0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
xor eax, eax
mov word [ecx + esi], ax
jmp 0x43e0c0
mov ecx, 0x4cee98
mov eax, dword [0x4e4788]
push 0
push 0
push 0
mov eax, dword [eax + 0x58]
push 0
push 3
mov dword [eax + 0xc], ecx
mov ecx, ebp
mov esi, dword [ebp + 0x1c]
call fcn.004401c0
test eax, eax
je 0x43e042
push 0
push 0
push 6
push edi
mov ecx, ebp
call fcn.0043ec60
test eax, eax
je 0x43e042
push 0
push 0
push 0
push 0
push 4
mov ecx, ebp
call fcn.004401c0
test eax, eax
je 0x43e042
mov ecx, dword [esi + 0x28]
mov edx, dword [0x4e4788]
mov eax, dword [edx + 0x58]
mov dword [ecx + 0xc], eax
mov dword [ebp + 0x1c], ebx
mov dword [edx + 0x18], ebx
test ebx, ebx
je 0x43de3d
mov esi, dword [ebp + 0x28]
mov edi, dword [ebp + 0x2c]
cmp esi, edi
jne 0x43e16b
test edi, edi
je 0x43e145
add edi, edi
jmp 0x43e14a
mov edi, 4
lea eax, [edi*4]
push eax
push dword [ebp + 0x24]
call fcn.0049f4c8
add esp, 8
test eax, eax
je 0x43de3d
mov dword [ebp + 0x24], eax
mov dword [ebp + 0x2c], edi
mov ecx, dword [ebp + 0x28]
lea edi, [esi*4]
cmp esi, ecx
je 0x43e191
mov eax, dword [ebp + 0x24]
sub ecx, esi
shl ecx, 2
add eax, edi
push ecx
push eax
add eax, 4
push eax
call fcn.0049cfe0
add esp, 0xc
mov eax, dword [ebp + 0x24]
mov dword [edi + eax], ebx
mov eax, 3
inc dword [ebp + 0x28]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
push 0x4cee98
push 0x4d5104
mov ecx, ebp
call fcn.0040d780
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
push 0x4d77b4
push esi
call fcn.0049f3a1
add esp, 8
test eax, eax
jne 0x43e202
test edi, edi
je 0x43de3d
mov ecx, edi
call fcn.004820d0
mov dword [0x4e4cf0], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
push 0x4d77d0
push esi
call fcn.0049f3a1
add esp, 8
test eax, eax
jne 0x43e354
test edi, edi
je 0x43de3d
mov edx, 0x4d437c
mov ecx, edi
call fcn.00481c80
mov ebx, eax
test ebx, ebx
je 0x43e2cc
movzx eax, word [ebx]
test ax, ax
je 0x43de3d
mov esi, eax
nop dword [eax]
nop dword [eax + eax]
mov ecx, 0x4d77e8
mov edx, 9
nop word [eax + eax]
cmp si, dx
je 0x43e293
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x43e260
movzx eax, word [ebx + 2]
add ebx, 2
mov esi, eax
test ax, ax
jne 0x43e250
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
push 0x64
lea eax, [ebx + 2]
push eax
push 0x4e4c20
call fcn.004aa9a4
add esp, 0xc
xor eax, eax
xor edx, edx
mov word [0x4e4ce8], ax
mov ecx, 0x4e4c20
call fcn.00483d10
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
push 7
push 0x4d77f0
push edi
call fcn.0049f522
add esp, 0xc
test eax, eax
jne 0x43e2f7
mov byte [0x4e4849], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
push 0x4e8e0a
push 0x4e8d30
push 0x4e8d31
push 0x4e8d32
push 0x4e484a
push 0x4e8d35
push 0x4e8d33
push 0x4e484b
push 0x4e484c
push 0x4e8d34
push 0x4e4cec
push 0x4e8d38
mov edx, 0x4e8d3c
mov ecx, edi
call fcn.00416860
add esp, 0x30
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
push 0x4d7800
push esi
call fcn.0049f3a1
add esp, 8
test eax, eax
jne 0x43e3b7
test edi, edi
je 0x43de3d
mov ecx, edi
call fcn.004820d0
cmp eax, 0xff
jle 0x43e398
mov eax, 0xff
mov byte [0x4e484d], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
mov ecx, 1
cmp eax, ecx
cmovl eax, ecx
mov byte [0x4e484d], al
lea eax, [ecx + 2]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
push 0x4d782c
push esi
call fcn.0049f3a1
add esp, 8
test eax, eax
jne 0x43e44e
test edi, edi
je 0x43e435
cmp word [edi], ax
je 0x43e435
push 0x4d7960
push edi
call fcn.0049f3a1
add esp, 8
test eax, eax
je 0x43e435
cmp word [edi], 0x31
jne 0x43e3f5
cmp word [edi + 2], 0
je 0x43e435
push 0x4d796c
push edi
call fcn.0049f3a1
add esp, 8
test eax, eax
je 0x43e41c
cmp word [edi], 0x30
jne 0x43e60c
cmp word [edi + 2], 0
jne 0x43e60c
mov byte [0x4e8e0c], 0
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
mov byte [0x4e8e0c], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
push 0x4d7850
push esi
call fcn.0049f3a1
add esp, 8
test eax, eax
jne 0x43e4b1
test edi, edi
je 0x43de3d
mov ecx, edi
call fcn.004820d0
cmp eax, 0xff
jle 0x43e492
mov eax, 0xff
mov dword [0x4e4784], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
mov ecx, 1
cmp eax, ecx
cmovl eax, ecx
mov dword [0x4e4784], eax
lea eax, [ecx + 2]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
push 0x4d7868
push esi
call fcn.0049f3a1
add esp, 8
test eax, eax
jne 0x43e548
test edi, edi
je 0x43e52f
cmp word [edi], ax
je 0x43e52f
push 0x4d7960
push edi
call fcn.0049f3a1
add esp, 8
test eax, eax
je 0x43e52f
cmp word [edi], 0x31
jne 0x43e4ef
cmp word [edi + 2], 0
je 0x43e52f
push 0x4d796c
push edi
call fcn.0049f3a1
add esp, 8
test eax, eax
je 0x43e516
cmp word [edi], 0x30
jne 0x43e64c
cmp word [edi + 2], 0
jne 0x43e64c
mov byte [0x4e8e0b], 0
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
mov byte [0x4e8e0b], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
push 0x4d7888
push esi
call fcn.0049f3a1
add esp, 8
test eax, eax
jne 0x43e580
test edi, edi
je 0x43de3d
mov ecx, edi
call fcn.004820d0
mov dword [0x4e4798], eax
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
push 0x4d78ac
push esi
call fcn.0049f3a1
add esp, 8
test eax, eax
jne 0x43e5ab
mov byte [0x4e8e7e], 1
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
push 0x4d78d0
push esi
call fcn.0049f3a1
add esp, 8
test eax, eax
jne 0x43e626
test edi, edi
je 0x43e5ed
movzx eax, word [edi]
cmp eax, 0x22
je 0x43e5ce
cmp eax, 0x27
jne 0x43e5ed
lea esi, [edi + 2]
push 0
push esi
call fcn.0049cf2f
add esp, 8
mov cx, word [eax - 2]
cmp cx, word [edi]
jne 0x43e5ed
xor ecx, ecx
mov edi, esi
mov word [eax - 2], cx
mov ecx, edi
call fcn.0040c300
cmp eax, 0xffffffff
mov dword [ebp + 0x6d8], eax
setne cl
mov byte [ebp + 0x6d7], cl
jne 0x43de3d
push edi
push 0x4d4b64
mov ecx, ebp
call fcn.0040d780
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
push 0x4d78ec
push esi
call fcn.0049f3a1
add esp, 8
test eax, eax
jne 0x43e685
test edi, edi
je 0x43e66c
mov ecx, edi
call fcn.004820d0
test eax, eax
js 0x43e64c
cmp eax, 0x64
jle 0x43e66e
push dword [esp + 0x4ac]
mov ecx, ebp
push 0x4d4b64
call fcn.0040d780
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
xor eax, eax
mov byte [0x4e8e09], al
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
push 0x4d7904
push esi
call fcn.0049f3a1
add esp, 8
test eax, eax
jne 0x43e7d9
test edi, edi
mov eax, 0x4cee98
push 0x2c
cmovne eax, edi
mov edi, eax
mov dword [esp + 0x14], eax
push edi
call fcn.0049cf2f
mov ecx, eax
add esp, 8
mov ebx, 0x4cee98
test ecx, ecx
je 0x43e6fa
lea ebx, [ecx + 2]
movzx eax, word [ebx]
cmp eax, 0x20
je 0x43e6d1
cmp eax, 9
jne 0x43e6d6
add ebx, 2
jmp 0x43e6c4
lea eax, [ecx - 2]
cmp eax, edi
jbe 0x43e6f4
nop dword [eax]
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x43e6ed
cmp ecx, 9
jne 0x43e6f4
sub eax, 2
cmp eax, edi
ja 0x43e6e0
xor ecx, ecx
mov word [eax + 2], cx
cmp word [edi], 0
mov esi, 3
je 0x43e74a
xor esi, esi
nop word [eax + eax]
push dword [esi*4 + 0x4d9544]
push edi
call fcn.0049f3a1
add esp, 8
test eax, eax
je 0x43e74a
inc esi
cmp esi, 4
jne 0x43e710
push dword [esp + 0x4ac]
mov ecx, ebp
push 0x4d4b64
call fcn.0040d780
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
cmp word [ebx], 0
mov edi, 2
je 0x43e794
xor edi, edi
nop word [eax + eax]
push dword [edi*4 + 0x4d9534]
push ebx
call fcn.0049f3a1
add esp, 8
test eax, eax
je 0x43e794
inc edi
cmp edi, 4
jne 0x43e760
push ebx
push 0x4d7910
mov ecx, ebp
call fcn.0040d780
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
test esi, esi
je 0x43e79d
cmp esi, 3
jne 0x43e7a3
mov dword [0x4e8c78], edi
cmp esi, 1
je 0x43e7ad
cmp esi, 3
jne 0x43e7b3
mov dword [0x4e4cfc], edi
cmp esi, 2
je 0x43e7c1
cmp esi, 3
jne 0x43de3d
mov dword [0x4e479c], edi
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
push 0x4d793c
push esi
call fcn.0049f3a1
add esp, 8
test eax, eax
jne 0x43dc3f
test edi, edi
jne 0x43e811
push 0x4cee98
push 0x4d76c8
mov ecx, ebp
call fcn.0040d780
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
push 0xa
push 0x4cf014
push edi
call fcn.0049f522
add esp, 0xc
test eax, eax
jne 0x43e8e8
movzx eax, word [edi + 0x14]
test ax, ax
je 0x43de3d
cmp eax, 0x20
je 0x43e844
cmp eax, 9
jne 0x43e8e8
lea ebx, [edi + 0x16]
mov ecx, ebx
nop dword [eax]
movzx eax, word [ecx]
cmp eax, 0x20
je 0x43e85d
cmp eax, 9
jne 0x43e862
add ecx, 2
jmp 0x43e850
test ax, ax
je 0x43de3d
mov ebx, ecx
mov edx, eax
nop
cmp dx, 0x20
je 0x43e88a
cmp dx, 9
je 0x43e88a
movzx eax, word [ebx + 2]
add ebx, 2
mov edx, eax
test ax, ax
jne 0x43e870
mov esi, ebx
mov eax, 0x20
sub esi, ecx
sar esi, 1
inc esi
cmp esi, 0x20
cmova esi, eax
lea eax, [esp + 0x28]
dec esi
push esi
push ecx
push eax
call fcn.004aa9a4
add esp, 0xc
xor eax, eax
mov word [esp + esi*2 + 0x28], ax
lea eax, [esp + 0x28]
push 0x4d7950
push eax
call fcn.0049f3a1
add esp, 8
test eax, eax
je 0x43e847
push 0
lea edx, [esp + 0x2c]
mov ecx, 0x4be504
call fcn.00484380
add esp, 4
test eax, eax
jne 0x43e847
push dword [ebp + 0x6c4]
lea eax, [esp + 0xac]
push 0x4d7950
push 0x4be504
push 0x4cf014
push edi
push 0x4d7978
push 0x200
push eax
call fcn.00481920
add esp, 0x20
lea eax, [esp + 0xa8]
mov ecx, ebp
push 0x4cee98
push eax
call fcn.0040d780
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
test edi, edi
jne 0x43e95d
push dword [esp + 0x4ac]
mov ecx, ebp
push 0x4d76c8
call fcn.0040d780
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
movzx eax, word [edi]
mov ecx, eax
cmp eax, 0x22
je 0x43e96e
mov edx, ecx
cmp eax, 0x27
jne 0x43e992
lea esi, [edi + 2]
push 0
push esi
call fcn.0049cf2f
movzx ecx, word [edi]
add esp, 8
mov edx, ecx
cmp word [eax - 2], cx
jne 0x43e992
xor ecx, ecx
mov edi, esi
mov word [eax - 2], cx
movzx edx, word [esi]
movzx eax, dx
test ax, ax
jne 0x43e9b8
push 0x4cee98
push 0x4d4b64
mov ecx, ebp
call fcn.0040d780
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
cmp eax, 0x2a
jne 0x43e9f1
movzx eax, word [edi + 2]
mov edx, eax
mov esi, eax
and eax, 0xffdf
add edx, 0xffffff9f
movzx ecx, ax
cmp dx, 0x19
mov eax, esi
cmova ecx, eax
cmp cx, 0x49
jne 0x43e9f1
movzx eax, word [edi + 4]
cmp eax, 0x20
je 0x43e9ed
cmp eax, 9
jne 0x43e9f1
mov bl, 1
jmp 0x43e9f3
xor bl, bl
test bl, bl
mov byte [esp + 0x14], bl
lea esi, [edi + 6]
cmove esi, edi
cmp word [esi], 0x3c
jne 0x43eab1
push 0x3e
push esi
call fcn.0049cf2f
mov edi, eax
add esp, 8
test edi, edi
je 0x43eab1
cmp word [edi + 2], 0
jne 0x43eab1
xor eax, eax
add esi, 2
mov word [edi], ax
call fcn.004504e0
mov dword [esp + 0x10], eax
mov ecx, edi
lea eax, [esp + 0x1b]
sub ecx, esi
push eax
lea eax, [esp + 0x1e]
sar ecx, 1
push eax
push ecx
push esi
mov ecx, ebp
call fcn.00443570
mov esi, dword [esp + 0x10]
test esi, esi
je 0x43ea6b
push esi
call dword [sym.imp.KERNEL32.DLL_SetCurrentDirectoryW]
push esi
call fcn.0049f4a2
add esp, 4
mov al, byte [esp + 0x1a]
test al, al
jne 0x43ea85
cmp byte [esp + 0x1b], al
jne 0x43de3d
test bl, bl
jne 0x43de3d
mov ecx, 0x3e
mov word [edi], cx
test al, al
jne 0x43eac2
push dword [esp + 0x4ac]
mov ecx, ebp
push 0x4d76f4
call fcn.0040d780
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
push esi
lea eax, [esp + 0x28]
mov ecx, ebp
push eax
call fcn.0044c340
test eax, eax
jne 0x43ead1
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
mov esi, dword [esp + 0x24]
push esi
call dword [sym.imp.KERNEL32.DLL_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x43eb09
test al, 0x10
je 0x43eb09
push esi
call fcn.00450430
add esp, 4
push esi
call fcn.0049f4a2
mov eax, 3
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
call fcn.004504e0
push dword [esp + 0x14]
mov ecx, ebp
mov ebx, eax
push dword [esp + 0x14]
push esi
call fcn.0043b080
neg eax
sbb edi, edi
and edi, 3
test ebx, ebx
je 0x43eb3b
push ebx
call dword [sym.imp.KERNEL32.DLL_SetCurrentDirectoryW]
push ebx
call fcn.0049f4a2
add esp, 4
push esi
call fcn.0049f4a2
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x498
ret 4
call fcn.0040dcc0
int3