Function at 0x4241d0
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4cc7e3
mov eax, dword fs:[0]
push eax
sub esp, 0x4b8
mov eax, dword [0x50a4c0]
xor eax, esp
mov dword [esp + 0x4b0], eax
push ebx
push esi
push edi
mov eax, dword [0x50a4c0]
xor eax, esp
push eax
lea eax, [esp + 0x4c8]
mov dword fs:[0], eax
call fcn.00428f90
xor ebx, ebx
cmp byte [eax + 0x128], bl
je 0x424224
add eax, 0x18
jmp 0x424227
mov eax, dword [eax + 0x14]
lea ecx, [esp + 0x394]
lea edi, [eax + 4]
call fcn.00430920
mov eax, edi
lea edx, [esp + 0x394]
mov dword [esp + 0x4d0], ebx
call fcn.00430b00
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x4f0608
lea ecx, [esp + 0x38]
call fcn.00429c00
lea eax, [esp + 0x2c]
cmp byte [esp + 0x13c], bl
jne 0x42426f
mov eax, dword [esp + 0x28]
cmp word [eax + 4], 0x2e
jne 0x424288
lea ecx, [esp + 0x20]
lea esi, [esp + 0x394]
call fcn.0042ac20
jmp 0x424299
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x398]
call fcn.00429f70
mov dword [esp + 0x20], vtable.t_str.0
cmp byte [esp + 0x13c], bl
jne 0x4242bf
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x2c]
cmp eax, ecx
je 0x4242bf
push eax
call fcn.004a4a7f
add esp, 4
lea ecx, [esp + 0x144]
mov dword [esp + 0x4d0], 1
call fcn.00430920
mov eax, edi
lea edx, [esp + 0x144]
mov byte [esp + 0x4d0], 2
call fcn.00430b00
push ebx
push ebx
push ebx
push ebx
push ebx
push str.sgutil.dll
lea ecx, [esp + 0x38]
call fcn.00429c00
lea eax, [esp + 0x2c]
cmp byte [esp + 0x13c], bl
jne 0x424310
mov eax, dword [esp + 0x28]
cmp word [eax + 4], 0x2e
jne 0x424329
lea ecx, [esp + 0x20]
lea esi, [esp + 0x144]
call fcn.0042ac20
jmp 0x42433a
lea edx, [esp + 0x20]
push edx
lea ecx, [esp + 0x148]
call fcn.00429f70
mov dword [esp + 0x20], vtable.t_str.0
cmp byte [esp + 0x13c], bl
jne 0x424360
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x2c]
cmp eax, ecx
je 0x424360
push eax
call fcn.004a4a7f
add esp, 4
mov byte [esp + 0x4d0], 3
lea esi, [esp + 0x150]
cmp byte [esp + 0x260], bl
jne 0x42437f
mov esi, dword [esp + 0x14c]
cmp byte [0x51141f], bl
je 0x42438b
xor esi, esi
jmp 0x4243bc
call fcn.0042e890
test al, al
je 0x424398
xor esi, esi
jmp 0x4243bc
call fcn.00439330
test al, al
jne 0x4243a5
xor esi, esi
jmp 0x4243bc
call fcn.0042d7e0
test al, al
jne 0x4243b2
xor esi, esi
jmp 0x4243bc
lea ecx, [esi + 4]
call fcn.0042d490
mov esi, eax
lea eax, [esp + 0x150]
cmp byte [esp + 0x260], bl
jne 0x4243d3
mov eax, dword [esp + 0x14c]
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
add eax, 4
push eax
call edi
cmp eax, 0xffffffff
je 0x4243f5
shr eax, 4
not al
and al, 1
je 0x4243f5
cmp esi, ebx
je 0x424627
call fcn.00428f90
lea ecx, [esp + 0x26c]
mov esi, eax
call fcn.00430920
cmp byte [esi + 0x128], bl
je 0x424415
add esi, 0x18
jmp 0x424418
mov esi, dword [esi + 0x14]
lea eax, [esi + 4]
lea edx, [esp + 0x26c]
call fcn.00430b00
lea ecx, [esp + 0x20]
call fcn.00430920
mov eax, str.sgtool.dll
lea edx, [esp + 0x20]
call fcn.00430b00
lea eax, [esp + 0x2c]
cmp byte [esp + 0x13c], bl
jne 0x42444f
mov eax, dword [esp + 0x28]
cmp word [eax + 4], 0x2e
jne 0x424468
lea ecx, [esp + 0x20]
lea esi, [esp + 0x26c]
call fcn.0042ac20
jmp 0x424479
lea edx, [esp + 0x20]
push edx
lea ecx, [esp + 0x270]
call fcn.00429f70
mov esi, vtable.t_str.0
mov dword [esp + 0x20], esi
cmp byte [esp + 0x13c], bl
jne 0x4244a0
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x2c]
cmp eax, ecx
je 0x4244a0
push eax
call fcn.004a4a7f
add esp, 4
mov byte [esp + 0x4d0], 0xa
lea eax, [esp + 0x278]
cmp byte [esp + 0x388], bl
jne 0x4244bf
mov eax, dword [esp + 0x274]
add eax, 4
push eax
call edi
cmp eax, 0xffffffff
je 0x4244d7
shr eax, 4
not al
and al, 1
jne 0x424565
mov dword [esp + 0x26c], esi
cmp byte [esp + 0x388], bl
jne 0x424502
mov eax, dword [esp + 0x274]
lea edx, [esp + 0x278]
cmp eax, edx
je 0x424502
push eax
call fcn.004a4a7f
add esp, 4
mov dword [esp + 0x144], esi
cmp byte [esp + 0x260], bl
jne 0x42452d
mov eax, dword [esp + 0x14c]
lea ecx, [esp + 0x150]
cmp eax, ecx
je 0x42452d
push eax
call fcn.004a4a7f
add esp, 4
mov dword [esp + 0x394], esi
cmp byte [esp + 0x4b0], bl
jne 0x4245e7
mov eax, dword [esp + 0x39c]
lea edx, [esp + 0x3a0]
cmp eax, edx
je 0x4245e7
push eax
call fcn.004a4a7f
add esp, 4
jmp 0x4245e7
lea eax, [esp + 0x278]
cmp byte [esp + 0x388], bl
jne 0x42457c
mov eax, dword [esp + 0x274]
add eax, 4
push eax
call fcn.0042d460
add esp, 4
cmp eax, ebx
jne 0x4245c3
mov byte [esp + 0x1c], bl
mov dword [esp + 0x18], ebx
push ebx
lea eax, [esp + 0x148]
push eax
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x278]
mov byte [esp + 0x4dc], 0xb
call fcn.0042aef0
lea ecx, [esp + 0x18]
test al, al
jne 0x42460e
call fcn.0042c930
lea ecx, [esp + 0x26c]
call fcn.00430ad0
lea ecx, [esp + 0x144]
call fcn.00430ad0
lea ecx, [esp + 0x394]
call fcn.00430ad0
or eax, 0xffffffff
mov ecx, dword [esp + 0x4c8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x4b0]
xor ecx, esp
call fcn.004a4a25
mov esp, ebp
pop ebp
ret
call fcn.0042c930
lea ecx, [esp + 0x26c]
mov byte [esp + 0x4d0], 3
call fcn.00430ad0
lea ecx, [esp + 0x144]
call fcn.0042a1b0
test al, al
je 0x4245cf
mov byte [esp + 0x1c], bl
mov dword [esp + 0x18], ebx
mov byte [esp + 0x4d0], 0xc
call fcn.0044eeb0
lea ecx, [esp + 0x18]
test al, al
jne 0x424667
call fcn.0042c9e0
lea ecx, [esp + 0x18]
call fcn.0042c930
jmp 0x4245cf
call fcn.0042c930
lea ecx, [esp + 0x144]
call fcn.00430ad0
lea ecx, [esp + 0x394]
call fcn.00430ad0
xor eax, eax
jmp 0x4245ea