Function at 0x40b800
Capabilities:
Check if file exists
Delete file
Get file attributes
Move file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x451bcf
mov eax, dword fs:[0]
push eax
sub esp, 0x23c
mov eax, dword [0x46e560]
xor eax, esp
mov dword [esp + 0x234], eax
push esi
push edi
mov eax, dword [0x46e560]
xor eax, esp
push eax
lea eax, [esp + 0x248]
mov dword fs:[0], eax
mov edi, ecx
call fcn.00407780
push dword [edi + 0x12f4]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push 1
push 0x80
push dword [edi + 0x20]
call esi
push dword [edi + 0x12f4]
push 0
push 0x80
push dword [edi + 0x20]
call esi
call fcn.004083e0
test al, al
jne 0x40b88d
push 0x30
push 0x461c34
push str._OnInitDialog_
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
call fcn.0041d6a6
push 0x460cc8
push str.VIEW_BACK
lea ecx, [edi + 0x10b8]
mov eax, dword [eax + 8]
push eax
call fcn.00402ed0
call fcn.0041d6a6
push 0x460cc8
push str.LOGO
lea ecx, [edi + 0x11d4]
mov eax, dword [eax + 8]
push eax
call fcn.00402ed0
mov eax, dword [edi + 0xdc]
lea ecx, [edi + 0x2e8]
push str.DATAButton_btn_close_normal.png
push str.DATAButton_btn_close_down.png
push str.DATAButton_btn_close_highlight.png
push str.DATAButton_btn_close_normal.png
mov dword [0x474164], eax
call fcn.00405740
mov eax, dword [0x474164]
lea ecx, [edi + 0x2e8]
push 2
push 0x14
push 0x27
push 0
push 0
mov dword [edi + 0x3dc], 0
push 0
mov dword [edi + 0x364], 1
mov dword [edi + 0x360], eax
call fcn.0041cc64
push str.DATAButton_btn_mini_normal.png
push str.DATAButton_btn_mini_down.png
push str.DATAButton_btn_mini_highlight.png
push str.DATAButton_btn_mini_normal.png
lea ecx, [edi + 0x3f8]
call fcn.00405740
mov eax, dword [0x474164]
lea ecx, [edi + 0x3f8]
push 2
push 0x14
push 0x1c
push 0
push 0
mov dword [edi + 0x4ec], 0
push 0
mov dword [edi + 0x474], 1
mov dword [edi + 0x470], eax
call fcn.0041cc64
push 0
push str.DATAButton_allbtn_down.png
push str.DATAButton_allbtn_highlight.png
push 0
lea ecx, [edi + 0x508]
call fcn.00405740
push str.DATAButtonBuy.png
lea ecx, [edi + 0x508]
call fcn.00405e50
movdqa xmm0, xmmword [0x463430]
lea ecx, [edi + 0x508]
mov eax, dword [0x474164]
push 2
push 0x2d
push 0x37
push 0
push 0
movdqu xmmword [edi + 0x594], xmm0
mov dword [edi + 0x5fc], 3
push 0
mov dword [edi + 0x584], 1
mov dword [edi + 0x580], eax
call fcn.0041cc64
push 0
push str.DATAButton_allbtn_down.png
push str.DATAButton_allbtn_highlight.png
push 0
lea ecx, [edi + 0x618]
call fcn.00405740
push str.DATAButtonTika.png
lea ecx, [edi + 0x618]
call fcn.00405e50
movdqa xmm0, xmmword [0x463430]
lea ecx, [edi + 0x618]
mov eax, dword [0x474164]
push 2
push 0x2d
push 0x37
push 0
push 0
movdqu xmmword [edi + 0x6a4], xmm0
mov dword [edi + 0x70c], 3
push 0
mov dword [edi + 0x694], 1
mov dword [edi + 0x690], eax
call fcn.0041cc64
push 0
push str.DATAButton_allbtn_down.png
push str.DATAButton_allbtn_highlight.png
push 0
lea ecx, [edi + 0x728]
call fcn.00405740
push str.DATAButtonChong.png
lea ecx, [edi + 0x728]
call fcn.00405e50
movdqa xmm0, xmmword [0x463430]
lea ecx, [edi + 0x728]
mov eax, dword [0x474164]
push 2
push 0x2d
push 0x37
push 0
push 0
movdqu xmmword [edi + 0x7b4], xmm0
mov dword [edi + 0x81c], 3
push 0
mov dword [edi + 0x7a4], 1
mov dword [edi + 0x7a0], eax
call fcn.0041cc64
push 0
push str.DATAButton_allbtn_down.png
push str.DATAButton_allbtn_highlight.png
push 0
lea ecx, [edi + 0x838]
call fcn.00405740
push str.DATAButtonStart.png
lea ecx, [edi + 0x838]
call fcn.00405e50
movdqa xmm0, xmmword [0x463430]
lea ecx, [edi + 0x838]
mov eax, dword [0x474164]
push 2
push 0x2d
push 0x37
push 0
push 0
movdqu xmmword [edi + 0x8c4], xmm0
mov dword [edi + 0x92c], 3
push 0
mov dword [edi + 0x8b4], 1
mov dword [edi + 0x8b0], eax
call fcn.0041cc64
push 0
push str.DATAButton_allbtn_down.png
push str.DATAButton_allbtn_highlight.png
push 0
lea ecx, [edi + 0x948]
call fcn.00405740
push str.DATAButtonSave.png
lea ecx, [edi + 0x948]
call fcn.00405e50
movdqa xmm0, xmmword [0x463430]
mov eax, dword [0x474164]
push 2
movdqu xmmword [edi + 0x9d4], xmm0
mov dword [edi + 0xa3c], 3
push 0x14
mov dword [edi + 0x9c4], 1
mov dword [edi + 0x9c0], eax
push 0x37
push 0
push 0
push 0
lea ecx, [edi + 0x948]
call fcn.0041cc64
push 0
push str.DATAButton_allbtn_down.png
push str.DATAButton_allbtn_highlight.png
push 0
lea ecx, [edi + 0xa58]
call fcn.00405740
push str.DATAButtonDelete.png
lea ecx, [edi + 0xa58]
call fcn.00405e50
movdqa xmm0, xmmword [0x463430]
lea ecx, [edi + 0xa58]
mov eax, dword [0x474164]
push 2
push 0x14
push 0x37
push 0
push 0
movdqu xmmword [edi + 0xae4], xmm0
mov dword [edi + 0xb4c], 3
push 0
mov dword [edi + 0xad4], 1
mov dword [edi + 0xad0], eax
call fcn.0041cc64
push 0
push str.DATAButton_allbtn_down.png
push str.DATAButton_allbtn_highlight.png
push 0
lea ecx, [edi + 0xe98]
call fcn.00405740
push str.DATAButtonWebLink.png
lea ecx, [edi + 0xe98]
call fcn.00405e50
movdqa xmm0, xmmword [0x463430]
lea ecx, [edi + 0xe98]
mov eax, dword [0x474164]
push 2
push 0x14
push 0x87
push 0
push 0
movdqu xmmword [edi + 0xf24], xmm0
mov dword [edi + 0xf8c], 3
push 0
mov dword [edi + 0xf14], 1
mov dword [edi + 0xf10], eax
call fcn.0041cc64
push str.DATAButtondelete_path.png
lea ecx, [edi + 0xfa8]
call fcn.00405e50
movdqa xmm0, xmmword [0x463430]
lea ecx, [edi + 0xfa8]
mov eax, dword [0x474164]
push 2
push 0x14
push 0xfa
push 0
push 0
movdqu xmmword [edi + 0x1034], xmm0
mov dword [edi + 0x109c], 3
push 0
mov dword [edi + 0x1024], 1
mov dword [edi + 0x1020], eax
call fcn.0041cc64
sub esp, 0x10
lea ecx, [edi + 0xb68]
call fcn.00405ad0
mov eax, dword [0x474164]
push 2
push 0xf
push 0x44
push 0
mov dword [edi + 0xc5c], 1
push 0
mov dword [edi + 0xbe4], 1
mov dword [edi + 0xbe0], eax
push 0
lea ecx, [edi + 0xb68]
call fcn.0041cc64
sub esp, 0x10
lea ecx, [edi + 0xc78]
call fcn.00405ad0
mov eax, dword [0x474164]
lea ecx, [edi + 0xc78]
push 2
push 0xf
push 0x44
push 0
push 0
mov dword [edi + 0xd6c], 1
push 0
mov dword [edi + 0xcf4], 1
mov dword [edi + 0xcf0], eax
call fcn.0041cc64
sub esp, 0x10
lea ecx, [edi + 0xd88]
call fcn.00405ad0
mov eax, dword [0x474164]
lea ecx, [edi + 0xd88]
push 2
push 0xf
push 0x44
push 0
push 0
mov dword [edi + 0xe7c], 1
push 0
mov dword [edi + 0xe04], 1
mov dword [edi + 0xe00], eax
call fcn.0041cc64
mov eax, dword [edi + 0x20]
mov edx, 0x474bc4
push ecx
lea ecx, [esp + 0x10]
mov dword [0x474174], eax
call fcn.0040a7c0
add esp, 4
mov dword [esp + 0x250], 0
lea ecx, [esp + 0x14]
push dword [eax]
call fcn.00413fc0
mov esi, eax
cmp esi, 0x474bc8
je 0x40be08
mov ecx, 0x474bc8
call fcn.004140f0
mov eax, dword [esi]
mov dword [0x474bc8], eax
test eax, eax
je 0x40be08
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov esi, dword [esp + 0x14]
test esi, esi
je 0x40be5d
lea eax, [esi + 8]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x40be55
test esi, esi
je 0x40be55
mov eax, dword [esi]
test eax, eax
je 0x40be35
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x40be4c
push eax
call fcn.00414aba
add esp, 4
mov dword [esi + 4], 0
push esi
call fcn.00414aba
add esp, 4
mov dword [esp + 0x14], 0
mov dword [esp + 0x250], 0xffffffff
or esi, 0xffffffff
mov edx, dword [esp + 0xc]
mov eax, esi
add edx, 0xfffffff0
lea ecx, [edx + 0xc]
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x40be88
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x104
push 0x474920
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov ecx, 0x474920
dec ecx
add eax, ecx
cmp byte [eax], 0x5c
je 0x40bead
dec eax
cmp byte [eax], 0x5c
jne 0x40bea7
push 0x104
push 0x474920
push 0x104
push 0x4743f8
mov byte [eax + 1], 0
call fcn.0043a1e6
push str.Update.exe
push 0x104
push 0x4743f8
call fcn.004397a3
add esp, 0x1c
push 0x104
push 0x474920
push 0x104
push 0x474818
call fcn.0043a1e6
push str.TL_6x.dll
push 0x104
push 0x474818
call fcn.004397a3
add esp, 0x1c
push 0x104
push 0x474920
push 0x104
push 0x474710
call fcn.0043a1e6
push str.Login.dll
push 0x104
push 0x474710
call fcn.004397a3
add esp, 0x1c
push 0x104
push 0x474920
push 0x104
push 0x4742f0
call fcn.0043a1e6
push str.DATADigital.dll
push 0x104
push 0x4742f0
call fcn.004397a3
add esp, 0x1c
push 0x104
push 0x474920
push 0x104
push 0x4741e8
call fcn.0043a1e6
push str.DATAhbdt.dll
push 0x104
push 0x4741e8
call fcn.004397a3
add esp, 0x1c
push 0x104
push 0x474920
push 0x104
push 0x474608
call fcn.0043a1e6
push str.DATA_
push 0x104
push 0x474608
call fcn.004397a3
add esp, 0x1c
push 0x104
push 0x474920
push 0x104
push 0x474500
call fcn.0043a1e6
push str.DATAOpen.wav
push 0x104
push 0x474500
call fcn.004397a3
add esp, 0x1c
mov dword [esp + 0x18], 0
lea ecx, [esp + 0x18]
push 0x4608c2
call fcn.00402630
lea edx, [esp + 0x18]
mov dword [esp + 0x250], 1
lea eax, [edi + 0x1490]
lea ecx, [edi + 0x148c]
push edx
push eax
push ecx
call fcn.0040feb0
mov eax, dword [esp + 0x18]
mov ecx, 0x4608c2
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40c063
test dl, dl
je 0x40c05f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40c063
add eax, 2
add ecx, 2
test dl, dl
jne 0x40c043
xor eax, eax
jmp 0x40c068
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40c07c
push 8
push 0x461f38
lea ecx, [esp + 0x20]
jmp 0x40c10e
push dword [edi + 0x1490]
call fcn.00438adc
add esp, 4
cmp eax, 0xbaa1251
je 0x40c0a6
push dword [edi + 0x1490]
call fcn.00438adc
add esp, 4
cmp eax, 0xf297316
jne 0x40c113
push 0x104
lea eax, [esp + 0x30]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [esp + 0x2c]
dec ecx
add eax, ecx
cmp byte [eax], 0x5c
je 0x40c0ca
dec eax
cmp byte [eax], 0x5c
jne 0x40c0c4
push str.DATABuyInfo.txt
mov byte [eax + 1], 0
lea eax, [esp + 0x30]
push 0x104
push eax
call fcn.004397a3
add esp, 0xc
lea eax, [esp + 0x2c]
push eax
call fcn.0040fcd0
push 9
push str.254374486
lea ecx, [edi + 0x1490]
call fcn.00402510
push 0x1d
push str.http:__happycici9.taobao.com_
lea ecx, [edi + 0x148c]
call fcn.00402510
mov eax, dword [edi + 0x1490]
mov ecx, 0x4608c2
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40c140
test dl, dl
je 0x40c13c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40c140
add eax, 2
add ecx, 2
test dl, dl
jne 0x40c120
xor eax, eax
jmp 0x40c145
sbb eax, eax
or eax, 1
test eax, eax
je 0x40c1df
lea eax, [edi + 0x1490]
push eax
lea eax, [esp + 0x18]
push 0x461f88
push eax
call fcn.00413d70
add esp, 0xc
push 0x461f84
push eax
lea eax, [esp + 0x14]
mov byte [esp + 0x258], 2
push eax
call fcn.00413ec0
add esp, 0xc
push eax
lea ecx, [edi + 0x1490]
mov byte [esp + 0x254], 3
call fcn.00402260
mov byte [esp + 0x250], 2
mov ecx, esi
mov edx, dword [esp + 0xc]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40c1ba
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0x250], 1
mov ecx, esi
mov edx, dword [esp + 0x14]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40c1df
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0xfffffffffffffff0
push dword [edi + 0x1324]
call dword [sym.imp.USER32.dll_GetWindowLongA]
or eax, 0x209
push eax
push 0xfffffffffffffff0
push dword [edi + 0x1324]
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0x1037
push dword [edi + 0x1324]
call esi
or eax, 0x20
push eax
push 0
push 0x1036
push dword [edi + 0x1324]
call esi
push 0xa1e3fa
push 0
push 0x1001
push dword [edi + 0x1324]
call esi
push 0x9b00ff
push 0
push 0x1024
push dword [edi + 0x1324]
call esi
push 0xa1e3fa
push 0
push 0x1026
push dword [edi + 0x1324]
call esi
push 0x24
push 0
push 0x1036
push dword [edi + 0x1324]
call esi
push 0xffffffffffffffff
push 0x64
push 2
push 0x461fa0
push 0
lea ecx, [edi + 0x1304]
call fcn.00422b75
push 0xffffffffffffffff
push 0x2d
push 2
push 0x461fac
push 1
lea ecx, [edi + 0x1304]
call fcn.00422b75
push 0xffffffffffffffff
push 0x5a
push 2
push 0x461fb4
push 2
lea ecx, [edi + 0x1304]
call fcn.00422b75
push 0xffffffffffffffff
push 0x30
push 2
push 0x461fbc
push 3
lea ecx, [edi + 0x1304]
call fcn.00422b75
push 0xffffffffffffffff
push 0
push 2
push 0x461fc4
push 4
lea ecx, [edi + 0x1304]
call fcn.00422b75
push 0x20011
push 0
push 0x474500
call dword [sym.imp.WINMM.dll_PlaySoundA]
xor edx, edx
lea ecx, [esp + 0xc]
call fcn.0040a060
push eax
mov ecx, 0x474bc0
mov byte [esp + 0x254], 4
call fcn.00402260
mov byte [esp + 0x250], 1
or esi, 0xffffffff
mov edx, dword [esp + 0xc]
mov ecx, esi
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40c348
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x461c18
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.00413ec0
add esp, 0xc
push 0x474bc0
push eax
lea eax, [esp + 0x1c]
mov byte [esp + 0x258], 5
push eax
call fcn.00412dd0
add esp, 0xc
push 0x461fc8
push eax
lea eax, [esp + 0x14]
mov byte [esp + 0x258], 6
push eax
call fcn.00413ec0
add esp, 0xc
mov byte [esp + 0x250], 7
mov ecx, edi
push dword [eax]
call fcn.0041cca0
mov byte [esp + 0x250], 6
mov ecx, esi
mov edx, dword [esp + 0xc]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40c3cb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0x250], 5
mov ecx, esi
mov edx, dword [esp + 0x14]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40c3f0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0x250], 1
mov ecx, esi
mov edx, dword [esp + 0x10]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40c415
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x461c18
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.00413ec0
add esp, 0xc
push 0x474bc0
push eax
lea eax, [esp + 0x14]
mov byte [esp + 0x258], 8
push eax
call fcn.00412dd0
add esp, 0xc
push 0x461fc8
push eax
lea eax, [esp + 0x18]
mov byte [esp + 0x258], 9
push eax
call fcn.00413ec0
add esp, 0xc
mov byte [esp + 0x250], 0xa
mov ecx, edi
push dword [eax]
push 0x408
call fcn.0041c43c
mov ecx, eax
call fcn.0041cca0
mov byte [esp + 0x250], 9
mov ecx, esi
mov edx, dword [esp + 0x10]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40c4a4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0x250], 8
mov ecx, esi
mov edx, dword [esp + 0xc]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40c4c9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0x250], 1
mov ecx, esi
mov edx, dword [esp + 0x14]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40c4ee
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
xor edx, edx
lea ecx, [esp + 0x10]
call fcn.0040a060
push eax
mov ecx, 0x474bc0
mov byte [esp + 0x254], 0xb
call fcn.00402260
mov byte [esp + 0x250], 1
mov ecx, esi
mov edx, dword [esp + 0x10]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40c531
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00414dfd
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x40c54d
push 0x80004005
call fcn.00402a40
mov eax, dword [edx]
mov ecx, edx
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
mov byte [esp + 0x250], 0xc
lea eax, [esp + 0x14]
push dword [esp + 0x18]
push 0x461fcc
push eax
call fcn.00402960
mov esi, dword [esp + 0x20]
add esp, 0xc
push esi
push 0
push 0x181
push dword [edi + 0x1438]
call dword [sym.imp.USER32.dll_SendMessageA]
push 0x461fe8
push 0
push 0x181
push dword [edi + 0x1438]
call dword [sym.imp.USER32.dll_SendMessageA]
push 0x46200c
push 0
push 0x181
push dword [edi + 0x1438]
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [edi + 0x1490]
mov ecx, 0x4608c2
mov dword [esp + 0xc], eax
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40c5f2
test dl, dl
je 0x40c5ee
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40c5f2
add eax, 2
add ecx, 2
test dl, dl
jne 0x40c5d2
xor eax, eax
jmp 0x40c5f7
sbb eax, eax
or eax, 1
test eax, eax
je 0x40c612
push dword [esp + 0xc]
push 0
push 0x181
push dword [edi + 0x1438]
call dword [sym.imp.USER32.dll_SendMessageA]
push 0x462030
push 0
push 0x181
push dword [edi + 0x1438]
call dword [sym.imp.USER32.dll_SendMessageA]
push 0x462050
push 0
push 0x181
push dword [edi + 0x1438]
call dword [sym.imp.USER32.dll_SendMessageA]
push 0x462074
push 0
push 0x181
push dword [edi + 0x1438]
call dword [sym.imp.USER32.dll_SendMessageA]
push 0x46209c
push 0
push 0x181
push dword [edi + 0x1438]
call dword [sym.imp.USER32.dll_SendMessageA]
push 0x4620b8
push 0
push 0x181
push dword [edi + 0x1438]
call dword [sym.imp.USER32.dll_SendMessageA]
call fcn.0040c970
test al, al
je 0x40c81c
call fcn.00410e70
test al, al
je 0x40c81c
mov ecx, edi
call fcn.0040c8b0
push 0x104
push 0x474920
lea eax, [esp + 0x13c]
push 0x104
push eax
call fcn.0043a1e6
push str.U.upg
lea eax, [esp + 0x148]
push 0x104
push eax
call fcn.004397a3
add esp, 0x1c
lea eax, [esp + 0x134]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x40c714
push 0x4743f8
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [esp + 0x134]
push 0x4743f8
push eax
call fcn.00439957
add esp, 8
mov ecx, edi
call fcn.00410280
push 1
mov ecx, edi
call fcn.00422ff7
mov eax, dword [edi + 0x1498]
lea ecx, [edi + 0x1498]
push 0
push edi
call dword [eax + 0x160]
push 0
push 1
push 0x401
push dword [edi + 0x14b8]
call dword [sym.imp.USER32.dll_SendMessageA]
push 0x3eb
mov ecx, edi
call fcn.0041c43c
push 0
push 0
push 0x4620e4
push eax
lea ecx, [edi + 0x1498]
call fcn.00422ee8
push 0x3ff
mov ecx, edi
call fcn.0041c43c
push 0
push 0
push 0x462120
push eax
lea ecx, [edi + 0x1498]
call fcn.00422ee8
push 0x3ef
mov ecx, edi
call fcn.0041c43c
push 0
push 0
push 0x462148
push eax
lea ecx, [edi + 0x1498]
call fcn.00422ee8
push 0x407
mov ecx, edi
call fcn.0041c43c
push 0
push 0
push 0x462170
push eax
lea ecx, [edi + 0x1498]
call fcn.00422ee8
push 0xa1e3fa
mov byte [edi + 0x1300], 1
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov dword [edi + 0x12fc], eax
xorps xmm0, xmm0
lea eax, [esp + 0x1c]
push eax
push dword [edi + 0x20]
movdqu xmmword [esp + 0x24], xmm0
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x1c]
push ecx
push eax
mov ecx, edi
call fcn.00412c50
mov dword [esp + 0x14], 1
jmp 0x40c824
mov dword [esp + 0x14], 0
lea edx, [esi - 0x10]
mov byte [esp + 0x250], 1
or esi, 0xffffffff
lea eax, [edx + 0xc]
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40c848
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [esp + 0x250], 0xffffffff
mov edi, dword [esp + 0x18]
add edi, 0xfffffff0
lea eax, [edi + 0xc]
lock xadd dword [eax], esi
dec esi
test esi, esi
jg 0x40c86e
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x248]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [esp + 0x234]
xor ecx, esp
call fcn.004387e7
mov esp, ebp
pop ebp
ret