Function at 0x4144c0
Capabilities:
Delete file

Disassembly:
sub esp, 0x11c
mov eax, dword [0x4630b0]
xor eax, esp
mov dword [esp + 0x118], eax
mov eax, dword [esp + 0x124]
push ebp
push esi
push edi
mov edi, dword [esp + 0x12c]
mov esi, dword [edi + 0x5a4]
push 0x4000
xor ebp, ebp
push 0x42
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], ebp
mov dword [esp + 0x20], 0x4000
mov dword [esp + 0x1c], ebp
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
cmp eax, ebp
mov dword [esp + 0x10], eax
jne 0x41453a
pop edi
pop esi
mov eax, 1
pop ebp
mov ecx, dword [esp + 0x118]
xor ecx, esp
call fcn.0043b3fc
add esp, 0x11c
ret
mov ecx, dword [edi + 0xa10]
mov edx, dword [ecx + 0x10]
push ebx
mov ebx, dword [sym.imp.USER32.dll_wsprintfA]
push edx
lea eax, [esp + 0x2c]
push str.Width___d
push eax
call ebx
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x2c]
push ecx
call fcn.00409290
add esp, 0x1c
test eax, eax
je 0x414584
mov dword [esp + 0x10], 1
jmp 0x41486a
mov edx, dword [edi + 0xa10]
mov eax, dword [edx + 8]
push eax
lea ecx, [esp + 0x2c]
push str.Height___d
push ecx
call ebx
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x2c]
push edx
call fcn.00409290
add esp, 0x1c
test eax, eax
je 0x4145c7
mov dword [esp + 0x10], 1
jmp 0x41486a
mov eax, dword [edi + 0xa10]
mov ecx, dword [eax + 0x20]
push ecx
lea edx, [esp + 0x2c]
push str.DPI___d
push edx
call ebx
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x2c]
push eax
call fcn.00409290
add esp, 0x1c
test eax, eax
je 0x41460a
mov dword [esp + 0x10], 1
jmp 0x41486a
cmp dword [esi + 0x110], ebp
mov dword [esp + 0x24], ebp
jle 0x414803
jmp 0x414626
mov ebx, dword [sym.imp.USER32.dll_wsprintfA]
mov edi, dword [esp + 0x138]
test edi, edi
je 0x414669
mov ecx, dword [esp + 0x24]
add ecx, 1
push ecx
lea edx, [esp + 0x2c]
push str._Layer_d_
push edx
call ebx
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x2c]
push eax
call fcn.00409290
add esp, 0x1c
test eax, eax
jne 0x414577
mov ecx, dword [esi + 0x11c]
add ecx, ebp
push ecx
lea edx, [esp + 0x2c]
push str.Name___s
push edx
call ebx
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x2c]
push eax
call fcn.00409290
add esp, 0x1c
test eax, eax
jne 0x414577
test edi, edi
je 0x4146b2
mov edx, 0x453a78
mov ecx, 0x453a74
jmp 0x4146b9
mov edx, 0x45354b
mov ecx, edx
mov eax, dword [esi + 0x11c]
push edx
movzx edx, byte [eax + ebp + 0x46]
add eax, ebp
push edx
movzx edx, byte [eax + 0x45]
movzx eax, byte [eax + 0x44]
push edx
push eax
push ecx
lea ecx, [esp + 0x3c]
push str.Color___s_d__d__d_s
push ecx
call ebx
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x3c]
push edx
call fcn.00409290
add esp, 0x2c
test eax, eax
jne 0x414577
test edi, edi
jne 0x414747
mov eax, dword [esi + 0x11c]
xor ecx, ecx
cmp dword [eax + ebp + 0x48], ecx
lea edx, [esp + 0x28]
setne cl
push ecx
push str.UseColor___d
push edx
call ebx
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x2c]
push eax
call fcn.00409290
add esp, 0x1c
test eax, eax
jne 0x414577
mov ecx, dword [esi + 0x11c]
xor edx, edx
cmp dword [ecx + ebp + 0x40], edx
lea eax, [esp + 0x28]
setne dl
push edx
push str.Visible___d
push eax
call ebx
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x2c]
push ecx
call fcn.00409290
add esp, 0x1c
test eax, eax
jne 0x414577
xor ebx, ebx
cmp dword [esi + 0x104], ebx
jle 0x4147e9
xor edi, edi
jmp 0x4147a0
mov edx, dword [esi + 0x10c]
mov ecx, dword [esp + 0x24]
cmp dword [edx + edi + 4], ecx
lea eax, [edx + edi]
jne 0x4147db
mov edx, dword [esp + 0x138]
push edx
push eax
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x24]
push edx
call fcn.004105b0
add esp, 0x14
test eax, eax
jne 0x414577
add ebx, 1
add edi, 0x58
cmp ebx, dword [esi + 0x104]
jl 0x4147a0
mov eax, dword [esp + 0x24]
add eax, 1
add ebp, 0x4c
cmp eax, dword [esi + 0x110]
mov dword [esp + 0x24], eax
jl 0x414620
cmp dword [esp + 0x20], 0
jne 0x41480e
mov dword [esp + 0x20], esi
mov eax, dword [esp + 0x20]
push 0x1000
push eax
call fcn.0040a5e0
mov esi, eax
add esp, 8
test esi, esi
jl 0x414854
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push edi
push ecx
push esi
call fcn.0040a6a0
add esp, 0xc
cmp eax, edi
jne 0x414854
push esi
call fcn.0040a630
add esp, 4
test eax, eax
je 0x41486a
mov dword [esp + 0x10], 2
jmp 0x41486a
cmp esi, 0xffffffff
mov dword [esp + 0x10], 2
jle 0x41486a
push esi
call fcn.0040a630
add esp, 4
mov edi, dword [esp + 0x14]
test edi, edi
pop ebx
je 0x41488d
mov esi, dword [sym.imp.KERNEL32.dll_GlobalHandle]
push edi
call esi
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push edi
call esi
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov esi, dword [esp + 0xc]
test esi, esi
je 0x4148a0
mov edx, dword [esp + 0x1c]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, dword [esp + 0x124]
pop edi
mov eax, esi
pop esi
pop ebp
xor ecx, esp
call fcn.0043b3fc
add esp, 0x11c
ret