Function at 0x414220
Capabilities:
Delete file

Disassembly:
sub esp, 0x11c
mov eax, dword [0x4630e0]
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 0x41429a
pop edi
pop esi
mov eax, 1
pop ebp
mov ecx, dword [esp + 0x118]
xor ecx, esp
call fcn.0043b76b
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.00408fe0
add esp, 0x1c
test eax, eax
je 0x4142e4
mov dword [esp + 0x10], 1
jmp 0x4145ca
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.00408fe0
add esp, 0x1c
test eax, eax
je 0x414327
mov dword [esp + 0x10], 1
jmp 0x4145ca
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.00408fe0
add esp, 0x1c
test eax, eax
je 0x41436a
mov dword [esp + 0x10], 1
jmp 0x4145ca
cmp dword [esi + 0x110], ebp
mov dword [esp + 0x24], ebp
jle 0x414563
jmp 0x414386
mov ebx, dword [sym.imp.USER32.dll_wsprintfA]
mov edi, dword [esp + 0x138]
test edi, edi
je 0x4143c9
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.00408fe0
add esp, 0x1c
test eax, eax
jne 0x4142d7
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.00408fe0
add esp, 0x1c
test eax, eax
jne 0x4142d7
test edi, edi
je 0x414412
mov edx, 0x453a78
mov ecx, 0x453a74
jmp 0x414419
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.00408fe0
add esp, 0x2c
test eax, eax
jne 0x4142d7
test edi, edi
jne 0x4144a7
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.00408fe0
add esp, 0x1c
test eax, eax
jne 0x4142d7
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.00408fe0
add esp, 0x1c
test eax, eax
jne 0x4142d7
xor ebx, ebx
cmp dword [esi + 0x104], ebx
jle 0x414549
xor edi, edi
jmp 0x414500
mov edx, dword [esi + 0x10c]
mov ecx, dword [esp + 0x24]
cmp dword [edx + edi + 4], ecx
lea eax, [edx + edi]
jne 0x41453b
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.00410310
add esp, 0x14
test eax, eax
jne 0x4142d7
add ebx, 1
add edi, 0x50
cmp ebx, dword [esi + 0x104]
jl 0x414500
mov eax, dword [esp + 0x24]
add eax, 1
add ebp, 0x4c
cmp eax, dword [esi + 0x110]
mov dword [esp + 0x24], eax
jl 0x414380
cmp dword [esp + 0x20], 0
jne 0x41456e
mov dword [esp + 0x20], esi
mov eax, dword [esp + 0x20]
push 0x1000
push eax
call fcn.0040a330
mov esi, eax
add esp, 8
test esi, esi
jl 0x4145b4
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push edi
push ecx
push esi
call fcn.0040a3f0
add esp, 0xc
cmp eax, edi
jne 0x4145b4
push esi
call fcn.0040a380
add esp, 4
test eax, eax
je 0x4145ca
mov dword [esp + 0x10], 2
jmp 0x4145ca
cmp esi, 0xffffffff
mov dword [esp + 0x10], 2
jle 0x4145ca
push esi
call fcn.0040a380
add esp, 4
mov edi, dword [esp + 0x14]
test edi, edi
pop ebx
je 0x4145ed
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 0x414600
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.0043b76b
add esp, 0x11c
ret