Function at 0x4214f0
Capabilities:
Check mutex on windows
Get file system object information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5ae955
mov eax, dword fs:[0]
push eax
sub esp, 0x42c
mov eax, dword [0x620024]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x3e4], edi
push str.mtx_running_test_app
push 1
push 0
mov dword [ebp - 0x3e0], 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0
cmp eax, 0xb7
jne 0x42155f
push 0
push 0x5f5ce4
call fcn.0044b515
jmp 0x4219fd
push str.EdeW.939011A5_5EEA_4367_BA6E_94432724D5EA
call dword [sym.imp.USER32.dll_FindWindowW]
push eax
call fcn.004439d0
mov esi, eax
test esi, esi
je 0x42159f
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x421591
push 5
mov ecx, esi
call fcn.00441895
jmp 0x4219fd
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
jmp 0x4219fd
lea eax, [ebp - 0x3f8]
mov dword [ebp - 0x3f8], 8
push eax
mov dword [ebp - 0x3f4], 0xff
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
mov ecx, edi
call fcn.00456eba
push 0
call fcn.00457b26
mov eax, dword [sym.imp.USER32.dll_DefWindowProcW]
add esp, 4
xorps xmm0, xmm0
mov dword [ebp - 0x420], 0xb
movlpd qword [ebp - 0x418], xmm0
mov dword [ebp - 0x41c], eax
call fcn.0044bbac
mov eax, dword [eax + 8]
mov dword [ebp - 0x410], eax
call fcn.0044bbac
push 0x64
mov eax, dword [eax + 0xc]
push eax
call dword [sym.imp.USER32.dll_LoadIconW]
mov dword [ebp - 0x40c], eax
call fcn.0044bbac
push 0x7f00
mov eax, dword [eax + 0xc]
push eax
call dword [sym.imp.USER32.dll_LoadCursorW]
mov dword [ebp - 0x408], eax
lea eax, [ebp - 0x420]
push eax
mov dword [ebp - 0x404], 6
mov dword [ebp - 0x400], 0
mov dword [ebp - 0x3fc], str.EdeW.939011A5_5EEA_4367_BA6E_94432724D5EA
call fcn.00442381
test eax, eax
jne 0x42166f
push eax
push eax
push 0x5f5d08
call fcn.0044b515
jmp 0x4219fd
push 0x110
lea eax, [ebp - 0x120]
mov dword [0x62b9d0], 1
push 0
push eax
call fcn.00588550
add esp, 0xc
mov dword [ebp - 0x124], 0x114
lea eax, [ebp - 0x124]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [ebp - 0x114], 2
jne 0x4216bc
cmp dword [ebp - 0x120], 4
jb 0x4216bc
mov al, 1
jmp 0x4216be
xor al, al
push 1
push 0x62b858
lea ecx, [ebp - 0x42c]
mov byte [0x62b64e], al
call fcn.0044c3e1
push 0x200
push 0
push 0x62b658
mov dword [ebp - 4], 0
call fcn.00588550
add esp, 0xc
push 0x62b880
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push dword [0x62b89c]
xor eax, eax
mov word [0x62b650], ax
call dword [sym.imp.KERNEL32.dll_ResetEvent]
push 0x62b880
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0x2b4
lea eax, [ebp - 0x3d8]
push 0
push eax
call fcn.00588550
add esp, 0xc
lea eax, [ebp - 0x3d8]
push 0x4101
push 0x2b4
push eax
push 0
push 0x5f5d3c
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
push eax
lea ecx, [edi + 0xd4]
call fcn.0044cf87
call fcn.0042fe60
mov ecx, 0x62b9c0
call fcn.00430220
call fcn.004183d0
call fcn.00449b3d
mov ecx, eax
test ecx, ecx
je 0x421a1b
mov eax, dword [ecx]
call dword [eax + 0xc]
mov esi, eax
call fcn.00449b3d
test eax, eax
je 0x421a1b
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
or ebx, 0xffffffff
mov ecx, ebx
lock xadd dword [eax + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x4217af
mov ecx, dword [eax]
push eax
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x4217c3
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [edi + 0xcc], 0
call fcn.00449b3d
test eax, eax
je 0x421a1b
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0x3dc], eax
mov eax, str.2024_07_31
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x3dc]
test eax, 0xffff0000
jne 0x42180b
movzx eax, ax
push eax
call fcn.00403130
jmp 0x421817
push 0xa
push str.2024_07_31
call fcn.00402d30
push str._Y__m__d
lea eax, [ebp - 0x3f0]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x438]
call fcn.00404670
mov ecx, eax
call fcn.004168e0
mov byte [ebp - 4], 3
mov edi, dword [ebp - 0x3dc]
test edi, edi
je 0x421a1b
mov eax, dword [ebp - 0x3f0]
mov ecx, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x421879
test dx, dx
je 0x421875
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x421879
add eax, 4
add ecx, 4
test dx, dx
jne 0x421853
xor eax, eax
jmp 0x42187e
sbb eax, eax
or eax, 1
test eax, eax
jle 0x4219a6
mov byte [ebp - 4], 4
mov ecx, dword [edi - 0x10]
test ecx, ecx
je 0x42189c
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, eax
test ecx, ecx
jne 0x4218b2
call fcn.00449b3d
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x10]
mov ecx, eax
test ecx, ecx
je 0x421a25
mov eax, dword [ecx]
call dword [eax + 0xc]
push dword [edi - 0xc]
add eax, 0x10
mov dword [ebp - 0x3e0], 1
push edi
push 0xe
mov dword [ebp - 0x3e8], eax
lea eax, [ebp - 0x3e8]
push 0x5f5d88
push eax
call fcn.00416370
add esp, 0x14
mov byte [ebp - 4], 5
mov esi, dword [ebp - 0x3e8]
mov ecx, dword [esi - 0x10]
lea eax, [esi - 0x10]
mov dword [ebp - 0x3e4], eax
test ecx, ecx
je 0x421909
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, eax
test ecx, ecx
jne 0x42191f
call fcn.00449b3d
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x10]
mov ecx, eax
test ecx, ecx
je 0x421a2f
mov eax, dword [ecx]
call dword [eax + 0xc]
push 0xb
push 0x5f5d70
push dword [esi - 0xc]
add eax, 0x10
mov dword [ebp - 0x3e0], 3
mov dword [ebp - 0x3ec], eax
lea eax, [ebp - 0x3ec]
push esi
push eax
call fcn.00416370
mov esi, dword [ebp - 0x3ec]
add esp, 0x14
push 0
push 0
push esi
call fcn.0044b515
mov dword [ebp - 0x3e0], 1
add esi, 0xfffffff0
mov byte [ebp - 4], 4
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x421986
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x3e4]
mov eax, ebx
mov byte [ebp - 4], 3
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4219b1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x4219b1
mov ecx, dword [ebp - 0x3e4]
call fcn.00421ac0
mov byte [ebp - 4], 2
mov eax, ebx
mov edx, dword [ebp - 0x3f0]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4219d2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
add edi, 0xfffffff0
lock xadd dword [edi + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x4219eb
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x42c]
mov dword [ebp - 4], 7
call fcn.0044c483
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00586281
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.00403300
push 0x80004005
call fcn.00403300
push 0x80004005
call fcn.00403300
int3