Function at 0x43cd2a
Capabilities:
Check for time delay via gettickcount
Delete file
Write file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x364
mov eax, dword [0x4434f4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
push esi
push edi
xor edi, edi
lea esi, [ebx + 0x20]
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 4
mov edx, 0x40af1c
pop ecx
call fcn.0041e9cb
and dword [ebx + 0x48], edi
cmp dword [ebx + 0x38], 2
je 0x43cd8a
cmp dword [0x443534], 0xffffffff
jne 0x43cd78
push ecx
push 2
pop edx
call fcn.0041e530
mov edx, 0x40af34
push 2
pop ecx
call fcn.0041e988
jmp 0x43d2dc
mov ecx, dword [ebx + 0x50]
mov dword [ebx + 0x38], 3
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43cd97
sub ecx, edx
lea edi, [ecx + 1]
push edi
call fcn.0041fb3c
mov dword [ebp - 0x324], eax
pop ecx
test eax, eax
jne 0x43cdd2
cmp dword [0x443534], 0xffffffff
mov edi, 0x8007000e
jne 0x43cdcb
push ecx
push 2
pop edx
call fcn.0041e530
mov edx, 0x40af70
jmp 0x43cd7d
push dword [ebx + 0x50]
mov edx, edi
mov ecx, eax
call fcn.0041c6b9
push 0x3c
pop esi
push esi
xor edi, edi
lea eax, [ebp - 0x364]
push edi
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [ebp - 0x364], esi
mov esi, dword [ebx + 0x22c]
lea eax, [ebp - 0x208]
mov dword [ebp - 0x354], eax
mov ecx, 0x104
lea eax, [ebp - 0x30c]
mov dword [ebp - 0x350], ecx
mov dword [ebp - 0x338], eax
lea eax, [ebp - 0x364]
push eax
push edi
push edi
push dword [ebp - 0x324]
mov dword [ebp - 0x334], ecx
mov ecx, esi
call dword [0x446624]
call esi
test eax, eax
jne 0x43ce74
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test edi, edi
jne 0x43ce57
push 0x57
pop edi
test edi, edi
jle 0x43ce62
movzx edi, di
or edi, 0x80070000
push edi
push 0x40af9c
push 2
call fcn.0041ea5f
jmp 0x43d2be
mov esi, dword [ebx + 0x230]
mov ecx, esi
push edi
push edi
push 3
push edi
push edi
push dword [ebp - 0x34c]
push dword [ebp - 0x354]
push dword [ebx + 0x70]
call dword [0x446624]
call esi
mov dword [ebx + 0x74], eax
test eax, eax
jne 0x43cec4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test edi, edi
jne 0x43ceb1
push 0x57
pop edi
test edi, edi
jle 0x43cebc
movzx edi, di
or edi, 0x80070000
push edi
push 0x40afc4
jmp 0x43ce68
mov esi, dword [ebx + 0x240]
mov ecx, esi
push edi
push 0x4400200
push edi
push edi
push edi
push dword [ebp - 0x338]
push 0x40aff0
push eax
call dword [0x446624]
call esi
mov edi, eax
mov dword [ebp - 0x314], edi
mov dword [ebx + 0x78], edi
test edi, edi
jne 0x43cf1f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test edi, edi
jne 0x43cf09
push 0x57
pop edi
test edi, edi
jle 0x43cf14
movzx edi, di
or edi, 0x80070000
push edi
push 0x40aff4
jmp 0x43ce68
lea eax, [ebx + 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 4
mov edx, 0x40b020
pop ecx
call fcn.0041e9cb
mov esi, dword [ebx + 0x244]
xor eax, eax
push eax
push eax
push eax
push eax
push edi
mov ecx, esi
call dword [0x446624]
call esi
test eax, eax
je 0x43d250
mov esi, dword [ebx + 0x248]
lea eax, [ebp - 0x318]
push 0
push eax
lea eax, [ebp - 0x320]
mov dword [ebp - 0x318], 4
push eax
push 0x20000013
push edi
mov ecx, esi
call dword [0x446624]
call esi
test eax, eax
je 0x43d232
mov eax, dword [ebp - 0x320]
sub eax, 0xc8
je 0x43d042
sub eax, 0xc9
je 0x43cfe2
dec eax
sub eax, 1
je 0x43cfe2
sub eax, 1
je 0x43cfdb
sub eax, 3
je 0x43cfd4
sub eax, 1
je 0x43cfcd
sub eax, 0x5c
je 0x43cfc6
mov eax, 0x800710e0
jmp 0x43cfe7
mov eax, 0x8007003a
jmp 0x43cfe7
mov eax, 0x8007041d
jmp 0x43cfe7
mov eax, 0x80070041
jmp 0x43cfe7
mov eax, 0x80070002
jmp 0x43cfe7
mov eax, 0x80070005
push eax
push 0x40b0b4
push 2
call fcn.0041ea5f
add esp, 0xc
cmp dword [ebp - 0x320], 0x197
jne 0x43d02e
mov esi, dword [ebx + 0x23c]
mov ecx, esi
push 0
push 7
push 0x2eee
push edi
push dword [ebx + 0x128c]
call dword [0x446624]
call esi
cmp eax, 0x2f00
je 0x43cf36
lea esi, [ebx + 0x20]
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, 0x80072efd
jmp 0x43d2c4
lea esi, [ebx + 0x20]
xor edi, edi
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x38], 3
je 0x43d0b5
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test edi, edi
jne 0x43d065
push 0x57
pop edi
test edi, edi
jle 0x43d070
movzx edi, di
or edi, 0x80070000
mov esi, dword [ebx + 0x238]
mov ecx, esi
push dword [ebx + 0x74]
call dword [0x446624]
call esi
mov esi, dword [ebx + 0x238]
mov ecx, esi
push dword [ebx + 0x78]
and dword [ebx + 0x74], 0
call dword [0x446624]
call esi
and dword [ebx + 0x78], 0
push edi
push 0x40b0e8
push 2
call fcn.0041ea5f
mov edi, 0x80004004
jmp 0x43d2be
push esi
mov dword [ebx + 0x38], 4
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [ebx + 0x248]
lea ecx, [ebp - 0x318]
push 0
push ecx
lea eax, [ebx + 0x40]
mov dword [ebp - 0x318], 4
push eax
push 0x20000005
push dword [ebp - 0x314]
mov ecx, esi
call dword [0x446624]
call esi
test eax, eax
jne 0x43d10b
push 0x40b110
push 4
call fcn.0041ea5f
or dword [ebx + 0x40], 0xffffffff
pop ecx
pop ecx
and dword [ebp - 0x310], edi
and dword [ebp - 0x328], edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea ecx, [ebp - 0x310]
mov dword [ebp - 0x31c], eax
push ecx
lea eax, [ebx + 0x278]
push 0x1000
push eax
jmp 0x43d1a6
cmp dword [ebp - 0x310], edi
je 0x43d1f0
push 0
lea eax, [ebp - 0x328]
push eax
push dword [ebp - 0x310]
lea esi, [ebx + 0x278]
push esi
push dword [ebx + 0x7c]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x43d20e
mov eax, dword [ebp - 0x310]
add dword [ebx + 0x44], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x31c]
mov ecx, 0x3e8
cmp eax, ecx
jb 0x43d199
xor edx, edx
div ecx
xor edx, edx
mov ecx, eax
mov eax, dword [ebx + 0x44]
div ecx
mov dword [ebx + 0x48], eax
lea eax, [ebp - 0x310]
push eax
push 0x1000
push esi
mov esi, dword [ebx + 0x234]
mov ecx, esi
push dword [ebp - 0x314]
call dword [0x446624]
call esi
test eax, eax
jne 0x43d138
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test edi, edi
jne 0x43d1d5
push 0x57
pop edi
test edi, edi
jle 0x43d1e0
movzx edi, di
or edi, 0x80070000
push edi
push 0x40b140
push 2
call fcn.0041ea5f
add esp, 0xc
lea esi, [ebx + 0x20]
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x38], 4
je 0x43d2c4
mov edi, 0x80004004
jmp 0x43d2c4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test edi, edi
jne 0x43d21f
push 0x57
pop edi
test edi, edi
jle 0x43d22a
movzx edi, di
or edi, 0x80070000
push edi
push 0x40b174
jmp 0x43d1e6
lea esi, [ebx + 0x20]
mov edi, 0x8007000d
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push edi
push 0x40b07c
push 2
call fcn.0041ea5f
jmp 0x43d2c1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test edi, edi
jne 0x43d261
push 0x57
pop edi
test edi, edi
jle 0x43d26c
movzx edi, di
or edi, 0x80070000
lea eax, [ebx + 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov esi, dword [ebx + 0x24c]
lea eax, [ebp - 0x31c]
and dword [ebp - 0x314], 0
mov ecx, esi
push eax
lea eax, [ebp - 0x104]
mov dword [ebp - 0x31c], 0x100
push eax
lea eax, [ebp - 0x314]
push eax
call dword [0x446624]
call esi
push edi
push 0x40b04c
push 2
call fcn.0041ea5f
mov edi, 0x80072efd
lea esi, [ebx + 0x20]
add esp, 0xc
push dword [ebp - 0x324]
call fcn.00441807
pop ecx
cmp edi, 0x80004004
je 0x43d397
push 4
mov edx, 0x40b1a0
pop ecx
call fcn.0041e9cb
mov eax, edi
mov dword [ebx + 0x3c], edi
sar eax, 0x1f
and eax, 0xfffffffc
add eax, 5
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x7c], 0xffffffff
je 0x43d30d
push dword [ebx + 0x7c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or dword [ebx + 0x7c], 0xffffffff
test edi, edi
jns 0x43d322
cmp dword [ebx + 0x60], 0
je 0x43d322
push dword [ebx + 0x54]
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x43d326
and dword [ebx + 0x60], 0
mov edi, dword [ebx + 0x274]
and dword [ebx + 0x274], 0
test edi, edi
je 0x43d35f
mov esi, dword [ebx + 0x4c]
lea eax, [ebx + 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [edi]
push esi
push edi
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x446624]
call esi
lea esi, [ebx + 0x20]
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebx + 0x38], 5
je 0x43d397
cmp dword [ebx + 0x50], 0
je 0x43d37c
push 0x2f
push dword [ebx + 0x50]
call dword [sym.imp.msvcrt.dll_strrchr]
pop ecx
pop ecx
test eax, eax
jne 0x43d381
mov eax, 0x40b1b8
push dword [ebx + 0x40]
push dword [ebx + 0x44]
push eax
push 0x40b1c0
push 4
call fcn.0041ea5f
add esp, 0x14
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00441b90
mov esp, ebp
pop ebp
ret