Function at 0x41ac30
Capabilities:
Check if file exists
Delete directory
Delete file
Enumerate files on windows

Disassembly:
push ebp
lea ebp, [esp - 0x5a8]
sub esp, 0x5a8
push 0xffffffffffffffff
push 0x45817e
mov eax, dword fs:[0]
push eax
sub esp, 0x80
mov eax, dword [0x46be4c]
xor eax, ebp
mov dword [ebp + 0x5a4], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 0x5b0]
mov ecx, dword [ebp + 0x5c0]
mov edi, dword [ebp + 0x5b4]
mov esi, dword [ebp + 0x5bc]
mov dword [ebp - 0x2c], eax
mov eax, 1
xor ebx, ebx
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x4c], eax
call fcn.004048c0
cmp eax, 6
jne 0x41b31f
cmp dword [ebp + 0x5b8], ebx
jne 0x41b326
lea edx, [ebp - 0x64]
push edx
lea eax, [ebp - 0x50]
push eax
push ebx
push ebx
push 6
push esi
push ebx
call sub.WINSPOOL.DRV_EnumPrinterDriversA
test eax, eax
jne 0x41ace3
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x41b31f
mov ecx, dword [ebp - 0x50]
add ecx, 0x100
push ecx
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
cmp eax, ebx
mov dword [ebp - 0x24], eax
je 0x41bc62
mov ecx, dword [ebp - 0x50]
lea edx, [ebp - 0x64]
push edx
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0x50]
push eax
push ecx
push edx
push 6
push esi
push ebx
call sub.WINSPOOL.DRV_EnumPrinterDriversA
cmp eax, ebx
je 0x41b315
cmp dword [ebp - 0x64], ebx
je 0x41b315
mov dword [ebp - 0x20], ebx
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
mov eax, dword [ebp - 0x64]
cmp dword [ebp - 0x20], eax
jae 0x41b2f7
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x2c]
shl ecx, 4
lea esi, [ecx + edx]
mov ecx, dword [esi + 4]
push eax
push ecx
call ebx
test eax, eax
jne 0x41b30c
mov edx, dword [esi + 0x48]
push edx
lea ecx, [ebp - 0x2c]
call fcn.004027b0
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 4], 0
call fcn.00410130
mov ecx, dword [ebp - 0x2c]
add esp, 4
push ecx
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [ebp - 0x18]
call fcn.00401630
mov esi, dword [esi + 0x1c]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [ebp - 4], 2
push esi
mov edi, 0xf
call ebx
test eax, eax
je 0x41aeab
test esi, esi
jne 0x41adb7
xor eax, eax
jmp 0x41adcb
mov eax, esi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x41adc0
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0x18]
call fcn.00401bc0
mov edi, dword [ebp - 0x18]
push 0x5c
push edi
call fcn.00440e55
add esp, 8
test eax, eax
jne 0x41adec
or ecx, 0xffffffff
jmp 0x41adf0
sub eax, edi
mov ecx, eax
mov eax, dword [edi - 0xc]
add ecx, 1
sub eax, ecx
push eax
lea edx, [ebp - 0x28]
push edx
lea ecx, [ebp - 0x18]
call fcn.004072d0
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 3
call fcn.00402020
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff0
mov byte [ebp - 4], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41ae35
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [ebp - 0x18]
mov eax, edx
mov dword [ebp + 0x158], 0xf
mov dword [ebp + 0x154], 0
mov byte [ebp + 0x144], 0
lea edi, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x41ae58
sub eax, edi
push eax
push edx
lea ecx, [ebp + 0x140]
call fcn.004078d0
lea ecx, [ebp + 0x140]
push ecx
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 4
call fcn.0041a4d0
cmp dword [ebp + 0x158], 0x10
mov byte [ebp - 4], 2
jb 0x41ae9f
mov edx, dword [ebp + 0x144]
push edx
call fcn.00430362
add esp, 4
push esi
call ebx
lea esi, [esi + eax + 1]
jmp 0x41ad9f
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
lea eax, [eax + eax*4]
shl eax, 4
mov edx, dword [eax + ecx + 0x14]
add eax, ecx
xor ebx, ebx
cmp edx, ebx
mov dword [ebp - 0x20], eax
jne 0x41aeca
xor eax, eax
jmp 0x41aedb
mov eax, edx
lea esi, [eax + 1]
nop
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x41aed0
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x18]
call fcn.00401bc0
mov esi, dword [ebp - 0x18]
push 0x5c
push esi
call fcn.00440e55
add esp, 8
cmp eax, ebx
jne 0x41aefc
or ecx, 0xffffffff
jmp 0x41af00
sub eax, esi
mov ecx, eax
mov eax, dword [esi - 0xc]
add ecx, 1
sub eax, ecx
push eax
lea edx, [ebp - 0x28]
push edx
lea ecx, [ebp - 0x18]
call fcn.004072d0
mov ecx, dword [eax]
mov eax, ecx
mov byte [ebp - 4], 5
mov dword [ebp + 0x190], edi
mov dword [ebp + 0x18c], ebx
mov byte [ebp + 0x17c], 0
lea esi, [eax + 1]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x41af33
sub eax, esi
push eax
push ecx
lea ecx, [ebp + 0x178]
call fcn.004078d0
mov ecx, dword [ebp - 0x14]
lea eax, [ebp + 0x178]
push eax
mov byte [ebp - 4], 6
call fcn.0041a4d0
cmp dword [ebp + 0x190], 0x10
jb 0x41af76
mov ecx, dword [ebp + 0x17c]
push ecx
call fcn.00430362
add esp, 4
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff0
mov dword [ebp + 0x190], edi
mov dword [ebp + 0x18c], ebx
mov byte [ebp + 0x17c], 0
mov byte [ebp - 4], 2
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41afac
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx + 0x10]
cmp edx, ebx
jne 0x41afba
xor eax, eax
jmp 0x41afcb
mov eax, edx
lea esi, [eax + 1]
nop
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x41afc0
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x18]
call fcn.00401bc0
mov esi, dword [ebp - 0x18]
push 0x5c
push esi
call fcn.00440e55
add esp, 8
cmp eax, ebx
jne 0x41afec
or ecx, 0xffffffff
jmp 0x41aff0
sub eax, esi
mov ecx, eax
mov eax, dword [esi - 0xc]
add ecx, 1
sub eax, ecx
push eax
lea edx, [ebp - 0x28]
push edx
lea ecx, [ebp - 0x18]
call fcn.004072d0
mov ecx, dword [eax]
mov eax, ecx
mov byte [ebp - 4], 7
mov dword [ebp + 0x190], edi
mov dword [ebp + 0x18c], ebx
mov byte [ebp + 0x17c], 0
lea esi, [eax + 1]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x41b023
sub eax, esi
push eax
push ecx
lea ecx, [ebp + 0x178]
call fcn.004078d0
mov ecx, dword [ebp - 0x14]
lea eax, [ebp + 0x178]
push eax
mov byte [ebp - 4], 8
call fcn.0041a4d0
cmp dword [ebp + 0x190], 0x10
jb 0x41b066
mov ecx, dword [ebp + 0x17c]
push ecx
call fcn.00430362
add esp, 4
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff0
mov dword [ebp + 0x190], edi
mov dword [ebp + 0x18c], ebx
mov byte [ebp + 0x17c], 0
mov byte [ebp - 4], 2
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41b09c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx + 0x18]
cmp edx, ebx
jne 0x41b0aa
xor eax, eax
jmp 0x41b0bb
mov eax, edx
lea esi, [eax + 1]
nop
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x41b0b0
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x18]
call fcn.00401bc0
mov esi, dword [ebp - 0x18]
push 0x5c
push esi
call fcn.00440e55
add esp, 8
cmp eax, ebx
jne 0x41b0dc
or ecx, 0xffffffff
jmp 0x41b0e0
sub eax, esi
mov ecx, eax
mov eax, dword [esi - 0xc]
add ecx, 1
sub eax, ecx
push eax
lea edx, [ebp - 0x28]
push edx
lea ecx, [ebp - 0x18]
call fcn.004072d0
mov ecx, dword [eax]
mov eax, ecx
mov byte [ebp - 4], 9
mov dword [ebp + 0x190], edi
mov dword [ebp + 0x18c], ebx
mov byte [ebp + 0x17c], 0
lea esi, [eax + 1]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x41b113
sub eax, esi
push eax
push ecx
lea ecx, [ebp + 0x178]
call fcn.004078d0
mov ecx, dword [ebp - 0x14]
lea eax, [ebp + 0x178]
push eax
mov byte [ebp - 4], 0xa
call fcn.0041a4d0
cmp dword [ebp + 0x190], 0x10
jb 0x41b156
mov ecx, dword [ebp + 0x17c]
push ecx
call fcn.00430362
add esp, 4
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff0
mov dword [ebp + 0x190], edi
mov dword [ebp + 0x18c], ebx
mov byte [ebp + 0x17c], 0
mov byte [ebp - 4], 2
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41b18c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx + 0xc]
cmp edx, ebx
jne 0x41b19a
xor eax, eax
jmp 0x41b1ab
mov eax, edx
lea esi, [eax + 1]
nop
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x41b1a0
sub eax, esi
push eax
push edx
lea ecx, [ebp - 0x18]
call fcn.00401bc0
mov edi, dword [ebp - 0x18]
push 0x5c
push edi
call fcn.00440e55
add esp, 8
test eax, eax
jne 0x41b1cc
or ecx, 0xffffffff
jmp 0x41b1d0
sub eax, edi
mov ecx, eax
mov eax, dword [edi - 0xc]
add ecx, 1
sub eax, ecx
push eax
lea edx, [ebp - 0x28]
push edx
lea ecx, [ebp - 0x18]
call fcn.004072d0
mov ecx, dword [eax]
mov ebx, 0xf
mov eax, ecx
mov byte [ebp - 4], 0xb
mov dword [ebp + 0x190], ebx
mov dword [ebp + 0x18c], 0
mov byte [ebp + 0x17c], 0
lea esi, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x41b210
sub eax, esi
push eax
push ecx
lea ecx, [ebp + 0x178]
call fcn.004078d0
mov ecx, dword [ebp - 0x14]
lea eax, [ebp + 0x178]
push eax
mov byte [ebp - 4], 0xc
call fcn.0041a4d0
cmp dword [ebp + 0x190], 0x10
jb 0x41b253
mov ecx, dword [ebp + 0x17c]
push ecx
call fcn.00430362
add esp, 4
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff0
mov dword [ebp + 0x190], ebx
mov dword [ebp + 0x18c], 0
mov byte [ebp + 0x17c], 0
mov byte [ebp - 4], 2
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41b28d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], 1
jmp 0x41b2b1
lea eax, [edi - 0x10]
mov byte [ebp - 4], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41b2d1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x2c]
add eax, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41b2f7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x24]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x41bc62
add dword [ebp - 0x20], 1
jmp 0x41ad33
mov edx, dword [ebp - 0x24]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
xor eax, eax
jmp 0x41bc65
push 0x104
lea eax, [ebp + 0x4a0]
push ebx
push eax
call fcn.004413c0
push 0x104
lea ecx, [ebp + 0x298]
push ebx
push ecx
call fcn.004413c0
push 0x104
lea edx, [ebp + 0x39c]
push ebx
push edx
call fcn.004413c0
push 0x104
lea eax, [ebp + 0x194]
push ebx
push eax
call fcn.004413c0
lea ecx, [ebp + 0x298]
push ecx
call fcn.0040cb30
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
push edi
lea edx, [ebp + 0x298]
push edx
lea eax, [ebp + 0x39c]
push 0x45ce28
push eax
call esi
add esp, 0x44
lea ecx, [ebp + 0x39c]
push ecx
lea edx, [ebp + 0x4a0]
push str._s.
push edx
call esi
add esp, 0xc
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 4], 0xe
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0xf
call fcn.0040ec00
mov dword [ebp - 0x34], eax
mov byte [eax + 0x45], 1
mov eax, dword [ebp - 0x34]
mov dword [eax + 4], eax
mov eax, dword [ebp - 0x34]
mov dword [eax], eax
mov eax, dword [ebp - 0x34]
mov dword [eax + 8], eax
mov dword [ebp - 0x30], ebx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x44]
cmp ecx, eax
mov byte [ebp - 4], 0x10
mov esi, eax
jbe 0x41b413
call fcn.00442bda
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x44]
cmp ecx, eax
lea edi, [ebp - 0x48]
mov ebx, ecx
jbe 0x41b421
call fcn.00442bda
push esi
push edi
push ebx
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0x48]
call fcn.00416bc0
mov ecx, dword [ebp - 0x34]
mov edx, dword [ecx + 4]
push edx
lea ecx, [ebp - 0x38]
call fcn.00415990
mov eax, dword [ebp - 0x34]
mov dword [eax + 4], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x30], 0
mov dword [eax], eax
mov eax, dword [ebp - 0x34]
mov dword [eax + 8], eax
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x5c]
cmp ecx, eax
mov esi, eax
jbe 0x41b472
call fcn.00442bda
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x5c]
cmp ecx, eax
lea edi, [ebp - 0x60]
mov ebx, ecx
jbe 0x41b480
call fcn.00442bda
push esi
push edi
push ebx
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0x60]
call fcn.00416bc0
lea ecx, [ebp - 0x38]
push ecx
lea edx, [ebp - 0x60]
push edx
call fcn.0041a580
mov edi, dword [ebp - 0x5c]
add esp, 8
test edi, edi
mov dword [ebp - 0x20], eax
je 0x41ba65
mov ebx, dword [ebp - 0x58]
mov ecx, ebx
sub ecx, edi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x41ba65
cmp edi, ebx
mov esi, edi
jbe 0x41b4e2
call fcn.00442bda
mov ebx, dword [ebp - 0x58]
mov edi, dword [ebp - 0x5c]
lea eax, [ebp - 0x60]
mov dword [ebp - 0x74], eax
cmp edi, ebx
mov dword [ebp - 0x70], esi
jbe 0x41b4f4
call fcn.00442bda
mov eax, dword [ebp - 0x74]
test eax, eax
je 0x41b502
lea ecx, [ebp - 0x60]
cmp eax, ecx
je 0x41b507
call fcn.00442bda
cmp esi, ebx
je 0x41ba44
cmp dword [ebp - 0x74], 0
jne 0x41b51a
call fcn.00442bda
mov edx, dword [ebp - 0x74]
cmp esi, dword [edx + 8]
jb 0x41b527
call fcn.00442bda
push 0xffffffffffffffff
xor edi, edi
push edi
mov ebx, 0xf
push esi
lea ecx, [ebp + 0x140]
mov dword [ebp + 0x158], ebx
mov dword [ebp + 0x154], edi
mov byte [ebp + 0x144], 0
call fcn.004077f0
cmp dword [ebp + 0x158], 0x10
mov eax, dword [ebp + 0x144]
mov byte [ebp - 4], 0x11
jae 0x41b569
lea eax, [ebp + 0x144]
mov esi, dword [ebp - 0x24]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x41ba01
mov byte [ebp + 0x160], al
mov eax, esi
mov dword [ebp + 0x174], ebx
mov dword [ebp + 0x170], edi
lea ecx, [eax + 1]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x41b593
sub eax, ecx
push eax
mov eax, esi
push eax
lea ecx, [ebp + 0x15c]
call fcn.004078d0
lea ecx, [ebp + 0x15c]
push ecx
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x12
call fcn.0040ed80
lea edx, [ebp + 0x15c]
lea esi, [ebp - 0x38]
push edx
mov ecx, esi
mov edi, eax
call fcn.0040ecf0
cmp dword [ebp + 0x174], 0x10
mov ecx, esi
mov edx, esi
mov ebx, ecx
mov esi, eax
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x80], esi
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], edi
mov byte [ebp - 4], 0x11
jb 0x41b606
mov eax, dword [ebp + 0x160]
push eax
call fcn.00430362
add esp, 4
test ebx, ebx
je 0x41b60f
cmp ebx, dword [ebp - 0x7c]
je 0x41b614
call fcn.00442bda
cmp esi, dword [ebp - 0x78]
je 0x41b7d8
test ebx, ebx
jne 0x41b626
call fcn.00442bda
cmp esi, dword [ebx + 4]
jne 0x41b630
call fcn.00442bda
push 0xffffffffffffffff
push 0
add esi, 0x28
push esi
lea ecx, [ebp + 0x15c]
mov dword [ebp + 0x174], 0xf
mov dword [ebp + 0x170], 0
mov byte [ebp + 0x160], 0
call fcn.004077f0
mov esi, dword [ebp - 0x44]
cmp esi, dword [ebp - 0x40]
mov byte [ebp - 4], 0x13
jbe 0x41b66f
call fcn.00442bda
lea eax, [ebp - 0x48]
mov edi, eax
mov ebx, dword [ebp - 0x40]
cmp dword [ebp - 0x44], ebx
jbe 0x41b681
call fcn.00442bda
test edi, edi
je 0x41b68c
lea ecx, [ebp - 0x48]
cmp edi, ecx
je 0x41b691
call fcn.00442bda
cmp esi, ebx
je 0x41b750
test edi, edi
jne 0x41b6a2
call fcn.00442bda
cmp esi, dword [edi + 8]
jb 0x41b6ac
call fcn.00442bda
push 0xffffffffffffffff
push 0
push esi
lea ecx, [ebp + 0x178]
mov dword [ebp + 0x190], 0xf
mov dword [ebp + 0x18c], 0
mov byte [ebp + 0x17c], 0
call fcn.004077f0
mov ecx, dword [ebp + 0x17c]
mov ebx, 0x10
cmp dword [ebp + 0x190], ebx
jae 0x41b6f0
lea ecx, [ebp + 0x17c]
cmp dword [ebp + 0x174], ebx
mov eax, dword [ebp + 0x160]
jae 0x41b704
lea eax, [ebp + 0x160]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x41b739
cmp dword [ebp + 0x190], ebx
jb 0x41b727
mov edx, dword [ebp + 0x17c]
push edx
call fcn.00430362
add esp, 4
cmp esi, dword [edi + 8]
jb 0x41b731
call fcn.00442bda
add esi, 0x1c
jmp 0x41b674
cmp dword [ebp + 0x190], ebx
jb 0x41b750
mov eax, dword [ebp + 0x17c]
push eax
call fcn.00430362
add esp, 4
mov ebx, dword [ebp - 0x40]
cmp dword [ebp - 0x44], ebx
jbe 0x41b75d
call fcn.00442bda
test edi, edi
je 0x41b768
lea ecx, [ebp - 0x48]
cmp edi, ecx
je 0x41b76d
call fcn.00442bda
cmp esi, ebx
jne 0x41b78b
lea edx, [ebp + 0x15c]
push edx
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x14
call fcn.0041a4d0
mov dword [ebp - 4], 0x13
cmp dword [ebp + 0x174], 0x10
mov byte [ebp - 4], 0x11
jb 0x41b7a7
mov eax, dword [ebp + 0x160]
push eax
call fcn.00430362
add esp, 4
lea ecx, [ebp - 0x84]
call fcn.0040eb90
mov esi, dword [ebp - 0x80]
mov ebx, dword [ebp - 0x84]
jmp 0x41b606
mov esi, dword [ebp - 0x44]
cmp esi, dword [ebp - 0x40]
jbe 0x41b7e5
call fcn.00442bda
lea ebx, [ebp - 0x48]
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], esi
mov edi, edi
mov edi, dword [ebp - 0x40]
cmp dword [ebp - 0x44], edi
jbe 0x41b7fd
call fcn.00442bda
test ebx, ebx
je 0x41b808
lea ecx, [ebp - 0x48]
cmp ebx, ecx
je 0x41b80d
call fcn.00442bda
cmp esi, edi
je 0x41ba01
test ebx, ebx
jne 0x41b81e
call fcn.00442bda
cmp esi, dword [ebx + 8]
jb 0x41b828
call fcn.00442bda
push 0xffffffffffffffff
push 0
push esi
lea ecx, [ebp + 0x15c]
mov dword [ebp + 0x174], 0xf
mov dword [ebp + 0x170], 0
mov byte [ebp + 0x160], 0
call fcn.004077f0
mov esi, dword [ebp - 0x14]
mov edi, dword [esi + 4]
cmp edi, dword [esi + 8]
mov byte [ebp - 4], 0x16
jbe 0x41b867
call fcn.00442bda
mov dword [ebp - 0x6c], esi
lea ebx, [ebx]
mov ebx, dword [esi + 8]
cmp dword [esi + 4], ebx
jbe 0x41b87d
call fcn.00442bda
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x41b888
cmp eax, esi
je 0x41b88d
call fcn.00442bda
cmp edi, ebx
je 0x41b9c6
cmp dword [ebp - 0x6c], 0
jne 0x41b8a0
call fcn.00442bda
mov edx, dword [ebp - 0x6c]
cmp edi, dword [edx + 8]
jb 0x41b8ad
call fcn.00442bda
push 0xffffffffffffffff
push 0
push edi
lea ecx, [ebp + 0x178]
mov dword [ebp + 0x190], 0xf
mov dword [ebp + 0x18c], 0
mov byte [ebp + 0x17c], 0
call fcn.004077f0
mov ecx, dword [ebp + 0x17c]
mov esi, 0x10
cmp dword [ebp + 0x190], esi
mov byte [ebp - 4], 0x17
jae 0x41b8f5
lea ecx, [ebp + 0x17c]
cmp dword [ebp + 0x174], esi
mov eax, dword [ebp + 0x160]
jae 0x41b909
lea eax, [ebp + 0x160]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x41b948
cmp dword [ebp + 0x190], esi
mov byte [ebp - 4], 0x16
jb 0x41b930
mov eax, dword [ebp + 0x17c]
push eax
call fcn.00430362
add esp, 4
mov ecx, dword [ebp - 0x6c]
cmp edi, dword [ecx + 8]
jb 0x41b93d
call fcn.00442bda
mov esi, dword [ebp - 0x14]
add edi, 0x1c
jmp 0x41b870
mov edx, dword [ebp - 0x14]
mov ebx, dword [edx + 8]
lea esi, [edi + 0x1c]
cmp esi, ebx
je 0x41b96b
sub edi, esi
push 0xffffffffffffffff
push 0
push esi
lea ecx, [edi + esi]
call fcn.004077f0
add esi, 0x1c
cmp esi, ebx
jne 0x41b957
mov eax, dword [ebp - 0x14]
mov edi, dword [eax + 8]
lea esi, [edi - 0x1c]
cmp esi, edi
je 0x41b9aa
add esi, 0x18
xor ebx, ebx
lea ecx, [ecx]
cmp dword [esi], 0x10
jb 0x41b991
mov eax, dword [esi - 0x14]
push eax
call fcn.00430362
add esp, 4
mov dword [esi], 0xf
mov dword [esi - 4], ebx
mov byte [esi - 0x14], bl
add esi, 0x1c
lea eax, [esi - 0x18]
cmp eax, edi
jne 0x41b980
mov eax, dword [ebp - 0x14]
add dword [eax + 8], 0xffffffe4
cmp dword [ebp + 0x190], 0x10
jb 0x41b9c6
mov ecx, dword [ebp + 0x17c]
push ecx
call fcn.00430362
add esp, 4
cmp dword [ebp + 0x174], 0x10
mov byte [ebp - 4], 0x11
jb 0x41b9e2
mov edx, dword [ebp + 0x160]
push edx
call fcn.00430362
add esp, 4
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [eax + 8]
jb 0x41b9f2
call fcn.00442bda
add dword [ebp - 0x18], 0x1c
mov ebx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x18]
jmp 0x41b7f0
cmp dword [ebp + 0x158], 0x10
mov byte [ebp - 4], 0x10
jb 0x41ba1d
mov edx, dword [ebp + 0x144]
push edx
call fcn.00430362
add esp, 4
mov edi, dword [ebp - 0x74]
test edi, edi
jne 0x41ba29
call fcn.00442bda
mov esi, dword [ebp - 0x70]
cmp esi, dword [edi + 8]
jb 0x41ba36
call fcn.00442bda
mov ebx, dword [ebp - 0x58]
mov edi, dword [ebp - 0x5c]
add esi, 0x1c
jmp 0x41b4e8
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x41ba65
mov ecx, dword [ebp - 0x40]
sub ecx, eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x41ba72
cmp dword [ebp - 0x20], 1
jne 0x41ba72
mov dword [ebp - 0x2c], 0
lea ecx, [ebp]
push ecx
lea edx, [ebp + 0x4a0]
push edx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov esi, eax
xor ebx, ebx
cmp esi, 0xffffffff
mov dword [ebp - 0x24], esi
je 0x41bc09
cmp dword [ebp - 0x28], ebx
je 0x41bc00
lea esp, [esp]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [ebp + 0x2c]
push eax
lea ecx, [ebp + 0x39c]
push ecx
lea edx, [ebp + 0x4a0]
push 0x45ce28
push edx
call esi
add esp, 0x10
cmp dword [ebp - 0x2c], 1
jne 0x41bbd8
lea eax, [ebp + 0x2c]
push eax
lea ecx, [ebp + 0x298]
push ecx
lea edx, [ebp + 0x194]
push str._s3_s
push edx
call esi
add esp, 0x10
lea eax, [ebp + 0x194]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x41bbd8
mov edi, dword [ebp - 0x14]
mov esi, dword [edi + 4]
cmp esi, dword [edi + 8]
jbe 0x41bb13
call fcn.00442bda
mov ebx, edi
mov edi, dword [edi + 8]
mov edx, ebx
cmp dword [edx + 4], edi
jbe 0x41bb24
call fcn.00442bda
test ebx, ebx
je 0x41bb2c
cmp ebx, ebx
je 0x41bb31
call fcn.00442bda
cmp esi, edi
je 0x41bbe8
test ebx, ebx
jne 0x41bb42
call fcn.00442bda
cmp esi, dword [ebx + 8]
jb 0x41bb4c
call fcn.00442bda
push 0xffffffffffffffff
xor edi, edi
push edi
push esi
lea ecx, [ebp + 0x140]
mov dword [ebp + 0x158], 0xf
mov dword [ebp + 0x154], edi
mov byte [ebp + 0x144], 0
call fcn.004077f0
cmp dword [ebp + 0x158], 0x10
mov eax, dword [ebp + 0x144]
jae 0x41bb89
lea eax, [ebp + 0x144]
lea ecx, [ebp + 0x2c]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x41bbac
lea edx, [ebp + 0x4a0]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp eax, edi
jne 0x41bbac
mov dword [ebp - 0x4c], edi
cmp dword [ebp + 0x158], 0x10
jb 0x41bbc4
mov eax, dword [ebp + 0x144]
push eax
call fcn.00430362
add esp, 4
cmp esi, dword [ebx + 8]
jb 0x41bbce
call fcn.00442bda
add esi, 0x1c
mov edi, ebx
jmp 0x41bb15
lea ecx, [ebp + 0x4a0]
push ecx
call edi
cmp eax, ebx
jne 0x41bbe8
mov dword [ebp - 0x4c], ebx
mov esi, dword [ebp - 0x24]
lea edx, [ebp]
push edx
push esi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
xor ebx, ebx
cmp eax, ebx
jne 0x41baa0
push esi
call dword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x41bc10
mov dword [ebp - 0x4c], 1
lea eax, [ebp + 0x39c]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov eax, dword [ebp - 0x34]
mov edx, dword [eax]
push eax
lea ecx, [ebp - 0x38]
push ecx
mov esi, ecx
push edx
push esi
lea ecx, [ebp - 0x6c]
push ecx
mov ecx, esi
mov byte [ebp - 4], 0xf
call fcn.00416d40
mov edx, dword [ebp - 0x34]
push edx
call fcn.00430362
add esp, 4
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], ebx
call fcn.0040c640
lea ecx, [ebp - 0x60]
call fcn.0040c640
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x5a4]
xor ecx, ebp
call fcn.0044027a
add ebp, 0x5a8
mov esp, ebp
pop ebp
ret