Function at 0x41072d
Capabilities:
Set current directory

Disassembly:
mov eax, 0x41b469
call fcn.00403df8
push ecx
push ebx
push edi
mov edi, ecx
mov dword [ebp - 0x10], edi
mov dword [ebp - 4], 4
push edi
xor ebx, ebx
push ebx
push 0x62e108
call dword [sym.imp.KERNEL32.dll_InterlockedCompareExchange]
cmp eax, edi
jne 0x410a13
push esi
push dword [edi + 0xc]
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
lea eax, [edi + 0x88]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov esi, dword [edi]
jmp 0x410784
push ebx
push dword [esi]
call dword [sym.imp.KERNEL32.dll_TerminateThread]
add esi, 4
cmp esi, dword [edi + 4]
jne 0x410778
lea eax, [edi + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x421758
call fcn.0040f312
mov edx, 0x40fcfb
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x421770
call fcn.0040f312
mov edx, 0x40fd0c
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x421788
call fcn.0040f312
mov edx, 0x40fd1d
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x4217a0
call fcn.0040f312
mov edx, 0x40fd3d
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x4217b8
call fcn.0040f312
mov edx, 0x40fd5d
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x4217d4
call fcn.0040f312
mov edx, 0x40fdb9
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x4217f0
call fcn.0040f312
mov edx, 0x40fe15
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x42180c
call fcn.0040f312
add esp, 0x40
mov edx, 0x40fe7c
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x421828
call fcn.0040f312
mov edx, 0x40fee3
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x421844
call fcn.0040f312
mov edx, 0x40fee3
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x421860
call fcn.0040f312
mov edx, 0x40fee6
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x421874
call fcn.0040f312
mov edx, 0x40ff09
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x42188c
call fcn.0040f312
mov edx, 0x40ff43
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x4218a0
call fcn.0040f312
mov edx, 0x40ff7a
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x4218b4
call fcn.0040f312
mov edx, 0x40fffb
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x4218d8
call fcn.0040f312
add esp, 0x40
mov edx, 0x410000
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x4218ec
call fcn.0040f312
mov edx, 0x410022
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x421904
call fcn.0040f312
mov edx, 0x410044
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x42191c
call fcn.0040f312
mov edx, 0x41006a
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x421934
call fcn.0040f312
mov edx, 0x410090
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x42194c
call fcn.0040f312
add esp, 0x28
mov edx, 0x4100ba
mov ecx, eax
call fcn.00405067
pop esi
mov byte [ebp - 4], 3
push ebx
push 1
lea ecx, [edi + 0x70]
call fcn.004048f0
mov byte [ebp - 4], 2
lea ecx, [edi + 0x58]
call fcn.004047bf
mov byte [ebp - 4], 1
push ebx
push 1
lea ecx, [edi + 0x40]
call fcn.004048f0
mov byte [ebp - 4], bl
lea ecx, [edi + 0x28]
call fcn.004047bf
or dword [ebp - 4], 0xffffffff
cmp dword [edi], ebx
je 0x410a60
push dword [edi]
call fcn.004013ce
pop ecx
mov dword [edi], ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
mov ecx, dword [ebp - 0xc]
pop edi
pop ebx
mov dword fs:[0], ecx
leave
ret