Function at 0x409640
Capabilities:
Delete file
Enumerate gui resources

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x439e30
push eax
mov dword fs:[0], esp
lea eax, [ebp - 0x550]
push ebx
sub esp, 0x540
push esi
push edi
push 0x410
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0x550]
push 0x208
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov ecx, 0x208
lea eax, [ebp - 0x550]
cmp word [eax], 0
je 0x4096be
add eax, 2
sub ecx, 1
jne 0x4096b0
mov eax, 0x208
mov edx, ecx
sub eax, ecx
neg edx
sbb edx, edx
and edx, eax
test ecx, ecx
jne 0x4096e9
mov eax, 0x50100001
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
lea ecx, [ebp - 0x550]
lea ecx, [ecx + edx*2]
mov ax, word [ecx]
lea ecx, [ecx - 2]
cmp ax, 0x5c
jne 0x4096f2
xor eax, eax
mov word [ecx + 4], ax
lea ecx, [ebp - 0x550]
push 0x448de0
call fcn.004094f0
sub esp, 8
lea eax, [ebp - 0x550]
lea ecx, [ebp - 0x140]
push 4
push eax
call fcn.0040c7f0
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x140]
mov eax, dword [eax + 4]
cmp dword [ebp + eax - 0x134], 0
je 0x40974f
mov esi, 0x50100002
jmp 0x4098e6
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x140]
call dword [sym.imp.MSVCP140.dll_public:_class_std::fpos_struct__Mbstatet____thiscall_std::basic_istream_char__struct_std::char_traits_char__::tellg_void_]
mov ecx, dword [ebp - 0x28]
add ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
adc eax, dword [ebp - 0x1c]
or ecx, eax
jne 0x4097a0
lea ecx, [ebp - 0x130]
call fcn.0040cdb0
test eax, eax
jne 0x409796
push eax
mov eax, dword [ebp - 0x140]
lea ecx, [ebp - 0x140]
push 2
add ecx, dword [eax + 4]
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
mov esi, 0x50100003
jmp 0x4098e6
push 0
push 0
push 0
lea ecx, [ebp - 0x140]
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::seekg_long_long___int64___int_]
mov ecx, dword [ebp - 0x28]
add ecx, dword [ebp - 0x20]
push 0x443530
push ecx
call fcn.00438d21
mov edx, dword [ebp - 0x28]
add esp, 8
add edx, dword [ebp - 0x20]
mov edi, eax
mov ecx, dword [ebp - 0x24]
adc ecx, dword [ebp - 0x1c]
push ecx
push edx
push edi
lea ecx, [ebp - 0x140]
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::read_char___long_long___int64__]
lea ecx, [ebp - 0x130]
call fcn.0040cdb0
test eax, eax
jne 0x40980a
push eax
mov eax, dword [ebp - 0x140]
lea ecx, [ebp - 0x140]
push 2
add ecx, dword [eax + 4]
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
lea eax, [ebp - 0x550]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0xa
push 0
push edi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
add esp, 0xc
mov esi, eax
push edi
call fcn.00438d2a
add esp, 4
test esi, esi
jne 0x40983e
mov esi, 0x30100004
jmp 0x4098e6
lea ecx, [ebp - 0x4c]
call fcn.00409910
push str.user32.dll
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x3c], 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x4c]
push eax
push 0x4095a0
call dword [sym.imp.USER32.dll_EnumWindows]
test eax, eax
jne 0x409878
mov esi, 0x50100005
jmp 0x4098de
mov esi, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x48]
cmp esi, edi
jne 0x409889
mov esi, 0x50100006
jmp 0x4098de
movups xmm0, xmmword [str.This_sentence_is_false.]
lea eax, [ebp - 0x88]
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x2c], eax
movups xmmword [ebp - 0x88], xmm0
mov dword [ebp - 0x30], 0x30
movups xmm0, xmmword [0x448e1c]
movups xmmword [ebp - 0x78], xmm0
movups xmm0, xmmword [0x448e2c]
movups xmmword [ebp - 0x68], xmm0
mov ecx, dword [esi + 4]
lea eax, [ebp - 0x34]
push eax
push ecx
push 0x4a
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
add esi, 8
cmp esi, edi
jne 0x4098c4
xor esi, esi
lea ecx, [ebp - 0x4c]
call fcn.004099f0
lea ecx, [ebp - 0x140]
call fcn.00409940
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret