Function at 0x410b13
Capabilities:
Set current directory

Disassembly:
mov eax, 0x41b8a0
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 0x630108
call dword [sym.imp.KERNEL32.dll_InterlockedCompareExchange]
cmp eax, edi
jne 0x410df9
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 0x410b6a
push ebx
push dword [esi]
call dword [sym.imp.KERNEL32.dll_TerminateThread]
add esi, 4
cmp esi, dword [edi + 4]
jne 0x410b5e
lea eax, [edi + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x421584
call fcn.0040f6f8
mov edx, 0x4100e1
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x42159c
call fcn.0040f6f8
mov edx, 0x4100f2
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x4215b4
call fcn.0040f6f8
mov edx, 0x410103
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x4215cc
call fcn.0040f6f8
mov edx, 0x410123
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x4215e4
call fcn.0040f6f8
mov edx, 0x410143
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x421600
call fcn.0040f6f8
mov edx, 0x41019f
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x42161c
call fcn.0040f6f8
mov edx, 0x4101fb
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x421638
call fcn.0040f6f8
add esp, 0x40
mov edx, 0x410262
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x421654
call fcn.0040f6f8
mov edx, 0x4102c9
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x421670
call fcn.0040f6f8
mov edx, 0x4102c9
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x42168c
call fcn.0040f6f8
mov edx, 0x4102cc
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x4216a0
call fcn.0040f6f8
mov edx, 0x4102ef
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x4216b8
call fcn.0040f6f8
mov edx, 0x410329
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x4216cc
call fcn.0040f6f8
mov edx, 0x410360
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x4216e0
call fcn.0040f6f8
mov edx, 0x4103e1
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x421704
call fcn.0040f6f8
add esp, 0x40
mov edx, 0x4103e6
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x421718
call fcn.0040f6f8
mov edx, 0x410408
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x421730
call fcn.0040f6f8
mov edx, 0x41042a
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x421748
call fcn.0040f6f8
mov edx, 0x410450
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x421760
call fcn.0040f6f8
mov edx, 0x410476
mov ecx, eax
call fcn.00405067
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x421778
call fcn.0040f6f8
add esp, 0x28
mov edx, 0x4104a0
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 0x410e46
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