Function at 0x4036f0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x424b98
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x15c
push ebx
push esi
push edi
lea edi, [ebp - 0x168]
mov ecx, 0x57
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 8]
mov dword [0x42ee6c], eax
mov esi, esp
push 0
mov eax, dword [ebp + 8]
push eax
push 0
push 0
push 0x226
push 0x320
push 0x64
push 0x64
push 0xcf0000
push 0x42ee08
push 0x42eea0
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
cmp esi, esp
call fcn.00409af0
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x403773
xor eax, eax
jmp 0x404201
push 0
call fcn.0040d940
add esp, 4
push eax
call fcn.0040d8f0
add esp, 4
mov ecx, 0x42ede4
call fcn.00402d10
lea ecx, [ebp - 0x40]
call fcn.00401000
mov dword [ebp - 4], 0
mov dword [ebp - 0x4c], 0
jmp 0x4037b1
mov eax, dword [ebp - 0x4c]
add eax, 1
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0xf
jge 0x4037e8
call sub.SonicUI.dll_GetSonicUI
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x168]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [ebp - 0x168]
call dword [edx + 0xc]
cmp esi, esp
call fcn.00409af0
mov ecx, dword [ebp - 0x4c]
mov dword [ecx*4 + 0x42ef04], eax
jmp 0x4037a8
mov esi, esp
push 0xff
push str._c_x_
mov eax, dword [0x42ef04]
mov ecx, dword [eax]
mov edx, dword [0x42ef04]
push edx
call dword [ecx + 0x1c]
add esp, 0xc
cmp esi, esp
call fcn.00409af0
mov esi, esp
push 0xff0000
push str._c_x__ahttp:__hi.csdn.net_zskof_
mov eax, dword [0x42ef08]
mov ecx, dword [eax]
mov edx, dword [0x42ef08]
push edx
call dword [ecx + 0x1c]
add esp, 0xc
cmp esi, esp
call fcn.00409af0
mov esi, esp
push 0xff00ff
push str._c_x__ahttp:__hi.csdn.net_zskof__linkl1__linkc0__linkt
mov eax, dword [0x42ef0c]
mov ecx, dword [eax]
mov edx, dword [0x42ef0c]
push edx
call dword [ecx + 0x1c]
add esp, 0xc
cmp esi, esp
call fcn.00409af0
mov esi, esp
push 0xff00ff
push str._c_x__ahttp:__hi.csdn.net_zskof__linkl2__font__font_height14__font_bold1__font_italic1_
mov eax, dword [0x42ef10]
mov ecx, dword [eax]
mov edx, dword [0x42ef10]
push edx
call dword [ecx + 0x1c]
add esp, 0xc
cmp esi, esp
call fcn.00409af0
mov esi, esp
push 0xff00
push 0xffff
push 0xff
push str._sparkle__sparkle_color_x_x_x_
mov eax, dword [0x42ef14]
mov ecx, dword [eax]
mov edx, dword [0x42ef14]
push edx
call dword [ecx + 0x1c]
add esp, 0x14
cmp esi, esp
call fcn.00409af0
mov eax, dword [0x42edec]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [0x42edec]
call dword [edx + 4]
cmp esi, esp
call fcn.00409af0
mov esi, esp
push eax
push str._fadeout__fadeout_min0_
mov eax, dword [0x42ef18]
mov ecx, dword [eax]
mov edx, dword [0x42ef18]
push edx
call dword [ecx + 0x1c]
add esp, 0xc
cmp esi, esp
call fcn.00409af0
mov esi, esp
push 0xff00
push str._c_x__line_width100_
mov eax, dword [0x42ef1c]
mov ecx, dword [eax]
mov edx, dword [0x42ef1c]
push edx
call dword [ecx + 0x1c]
add esp, 0xc
cmp esi, esp
call fcn.00409af0
mov esi, esp
push 0
push str._c_x__line_width100__single_line2_
mov eax, dword [0x42ef20]
mov ecx, dword [eax]
mov edx, dword [0x42ef20]
push edx
call dword [ecx + 0x1c]
add esp, 0xc
cmp esi, esp
call fcn.00409af0
mov esi, esp
push 0xff00ff
push str._a__c_x__linkl2_
mov eax, dword [0x42ef24]
mov ecx, dword [eax]
mov edx, dword [0x42ef24]
push edx
call dword [ecx + 0x1c]
add esp, 0xc
cmp esi, esp
call fcn.00409af0
mov esi, esp
push 0x4030b0
push 0
push 0
push 1
mov eax, dword [0x42ef24]
mov ecx, dword [eax]
mov edx, dword [0x42ef24]
push edx
call dword [ecx + 0x14]
add esp, 0x14
cmp esi, esp
call fcn.00409af0
mov eax, dword [0x42edec]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [0x42edec]
call dword [edx + 4]
cmp esi, esp
call fcn.00409af0
mov esi, esp
push eax
mov eax, dword [0x42ede8]
mov edx, dword [eax]
mov edi, esp
mov ecx, dword [0x42ede8]
call dword [edx + 4]
cmp edi, esp
call fcn.00409af0
push eax
mov eax, dword [0x42ede4]
mov edx, dword [eax]
mov edi, esp
mov ecx, dword [0x42ede4]
call dword [edx + 4]
cmp edi, esp
call fcn.00409af0
push eax
push str._a__p3_d_d_d__linkt
mov eax, dword [0x42ef28]
mov ecx, dword [eax]
mov edx, dword [0x42ef28]
push edx
call dword [ecx + 0x1c]
add esp, 0x14
cmp esi, esp
call fcn.00409af0
mov esi, esp
push 0x403100
push 0
push 0
push 1
mov eax, dword [0x42ef28]
mov ecx, dword [eax]
mov edx, dword [0x42ef28]
push edx
call dword [ecx + 0x14]
add esp, 0x14
cmp esi, esp
call fcn.00409af0
mov eax, dword [0x42edec]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [0x42edec]
call dword [edx + 4]
cmp esi, esp
call fcn.00409af0
mov esi, esp
push eax
mov eax, dword [0x42ede8]
mov edx, dword [eax]
mov edi, esp
mov ecx, dword [0x42ede8]
call dword [edx + 4]
cmp edi, esp
call fcn.00409af0
push eax
mov eax, dword [0x42ede4]
mov edx, dword [eax]
mov edi, esp
mov ecx, dword [0x42ede4]
call dword [edx + 4]
cmp edi, esp
call fcn.00409af0
push eax
push 0x426900
mov eax, dword [0x42ef2c]
mov ecx, dword [eax]
mov edx, dword [0x42ef2c]
push edx
call dword [ecx + 0x1c]
add esp, 0x14
cmp esi, esp
call fcn.00409af0
mov esi, esp
push 0x403160
push 0
push 0
push 1
mov eax, dword [0x42ef2c]
mov ecx, dword [eax]
mov edx, dword [0x42ef2c]
push edx
call dword [ecx + 0x14]
add esp, 0x14
cmp esi, esp
call fcn.00409af0
mov eax, dword [0x42edf8]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [0x42edf8]
call dword [edx + 4]
cmp esi, esp
call fcn.00409af0
mov esi, esp
push eax
push str._a__p4_d__linkt
mov eax, dword [0x42ef30]
mov ecx, dword [eax]
mov edx, dword [0x42ef30]
push edx
call dword [ecx + 0x1c]
add esp, 0xc
cmp esi, esp
call fcn.00409af0
mov esi, esp
push 0x4032c0
push 0
mov eax, dword [ebp - 0x14]
push eax
push 1
mov ecx, dword [0x42ef30]
mov edx, dword [ecx]
mov eax, dword [0x42ef30]
push eax
call dword [edx + 0x14]
add esp, 0x14
cmp esi, esp
call fcn.00409af0
call sub.SonicUI.dll_GetSonicUI
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x168]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [ebp - 0x168]
call dword [edx + 8]
cmp esi, esp
call fcn.00409af0
mov dword [0x42ef40], eax
mov esi, esp
push 0
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [0x42ef40]
mov edx, dword [ecx]
mov ecx, dword [0x42ef40]
call dword [edx + 0x1c]
cmp esi, esp
call fcn.00409af0
mov esi, esp
push 0x403050
push 0
push 0
push 0xd
mov eax, dword [0x42ef40]
mov ecx, dword [eax]
mov edx, dword [0x42ef40]
push edx
call dword [ecx + 0x14]
add esp, 0x14
cmp esi, esp
call fcn.00409af0
mov esi, esp
push 0x403050
push 0
push 0
push 0x11
mov eax, dword [0x42ef40]
mov ecx, dword [eax]
mov edx, dword [0x42ef40]
push edx
call dword [ecx + 0x14]
add esp, 0x14
cmp esi, esp
call fcn.00409af0
call sub.SonicUI.dll_GetSonicUI
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x168]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [ebp - 0x168]
call dword [edx + 0xc]
cmp esi, esp
call fcn.00409af0
mov dword [ebp - 0x58], eax
mov eax, dword [0x42edf4]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [0x42edf4]
call dword [edx + 4]
cmp esi, esp
call fcn.00409af0
mov esi, esp
push eax
push 0x426898
mov eax, dword [ebp - 0x58]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x58]
push edx
call dword [ecx + 0x1c]
add esp, 0xc
cmp esi, esp
call fcn.00409af0
call sub.SonicUI.dll_GetSonicUI
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x168]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [ebp - 0x168]
call dword [edx + 0x10]
cmp esi, esp
call fcn.00409af0
mov dword [ebp - 0x64], eax
mov esi, esp
push 0
push 0x28
push 1
push 0x3c
push 0x96
push 0xa
push 0x12c
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x64]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x64]
call dword [edx + 0x1c]
cmp esi, esp
call fcn.00409af0
mov eax, dword [ebp - 0x58]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [ebp - 0x58]
call dword [edx + 4]
cmp esi, esp
call fcn.00409af0
mov esi, esp
push eax
mov eax, dword [ebp - 0x64]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x64]
call dword [edx + 0x20]
cmp esi, esp
call fcn.00409af0
mov eax, dword [0x42ede4]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [0x42ede4]
call dword [edx + 4]
cmp esi, esp
call fcn.00409af0
mov esi, esp
push eax
mov eax, dword [ebp - 0x64]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x64]
call dword [edx + 0x20]
cmp esi, esp
call fcn.00409af0
mov esi, esp
push 1
mov eax, dword [ebp - 0x64]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x64]
call dword [edx + 0x28]
cmp esi, esp
call fcn.00409af0
call sub.SonicUI.dll_GetSonicUI
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x168]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [ebp - 0x168]
call dword [edx + 0xc]
cmp esi, esp
call fcn.00409af0
mov dword [ebp - 0x70], eax
mov eax, dword [0x42edec]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [0x42edec]
call dword [edx + 4]
cmp esi, esp
call fcn.00409af0
mov esi, esp
push eax
mov eax, dword [0x42ede8]
mov edx, dword [eax]
mov edi, esp
mov ecx, dword [0x42ede8]
call dword [edx + 4]
cmp edi, esp
call fcn.00409af0
push eax
mov eax, dword [0x42ede4]
mov edx, dword [eax]
mov edi, esp
mov ecx, dword [0x42ede4]
call dword [edx + 4]
cmp edi, esp
call fcn.00409af0
push eax
push 0x42686c
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x70]
push edx
call dword [ecx + 0x1c]
add esp, 0x14
cmp esi, esp
call fcn.00409af0
mov esi, esp
push 0x403200
push 0
push 0
push 1
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x70]
push edx
call dword [ecx + 0x14]
add esp, 0x14
cmp esi, esp
call fcn.00409af0
call sub.SonicUI.dll_GetSonicUI
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x168]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [ebp - 0x168]
call dword [edx + 0x34]
cmp esi, esp
call fcn.00409af0
mov dword [0x42ef44], eax
mov eax, dword [ebp - 0x70]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [ebp - 0x70]
call dword [edx + 0x24]
cmp esi, esp
call fcn.00409af0
mov esi, esp
push eax
mov eax, dword [ebp - 0x70]
mov edx, dword [eax]
mov edi, esp
mov ecx, dword [ebp - 0x70]
call dword [edx + 0x28]
cmp edi, esp
call fcn.00409af0
push eax
push 0xc8
push 0x12c
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [0x42ef44]
mov edx, dword [ecx]
mov ecx, dword [0x42ef44]
call dword [edx + 0x1c]
cmp esi, esp
call fcn.00409af0
mov esi, esp
push 0x403260
push 0
push 0
push 0xd
mov eax, dword [0x42ef44]
mov ecx, dword [eax]
mov edx, dword [0x42ef44]
push edx
call dword [ecx + 0x14]
add esp, 0x14
cmp esi, esp
call fcn.00409af0
mov esi, esp
push 0
push 0
mov eax, dword [ebp - 0x70]
mov edx, dword [eax]
mov edi, esp
mov ecx, dword [ebp - 0x70]
call dword [edx + 4]
cmp edi, esp
call fcn.00409af0
push eax
mov ecx, dword [0x42ef44]
add ecx, 8
mov eax, dword [0x42ef44]
mov edx, dword [eax + 8]
call dword [edx]
cmp esi, esp
call fcn.00409af0
call sub.SonicUI.dll_GetSonicUI
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x168]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [ebp - 0x168]
call dword [edx + 0xc]
cmp esi, esp
call fcn.00409af0
mov dword [ebp - 0x7c], eax
mov eax, dword [0x42edf0]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [0x42edf0]
call dword [edx + 4]
cmp esi, esp
call fcn.00409af0
mov esi, esp
push eax
push 0x426864
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x7c]
push edx
call dword [ecx + 0x1c]
add esp, 0xc
cmp esi, esp
call fcn.00409af0
call sub.SonicUI.dll_GetSonicUI
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x168]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [ebp - 0x168]
call dword [edx + 0x34]
cmp esi, esp
call fcn.00409af0
mov dword [0x42ef48], eax
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [ebp - 0x7c]
call dword [edx + 0x24]
cmp esi, esp
call fcn.00409af0
mov esi, esp
push eax
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax]
mov edi, esp
mov ecx, dword [ebp - 0x7c]
call dword [edx + 0x28]
cmp edi, esp
call fcn.00409af0
push eax
push 0xc8
push 0x64
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [0x42ef48]
mov edx, dword [ecx]
mov ecx, dword [0x42ef48]
call dword [edx + 0x1c]
cmp esi, esp
call fcn.00409af0
mov esi, esp
push 0x403410
push 0
push 0
push 6
mov eax, dword [0x42ef48]
mov ecx, dword [eax]
mov edx, dword [0x42ef48]
push edx
call dword [ecx + 0x14]
add esp, 0x14
cmp esi, esp
call fcn.00409af0
mov esi, esp
push 0
push 0
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax]
mov edi, esp
mov ecx, dword [ebp - 0x7c]
call dword [edx + 4]
cmp edi, esp
call fcn.00409af0
push eax
mov ecx, dword [0x42ef48]
add ecx, 8
mov eax, dword [0x42ef48]
mov edx, dword [eax + 8]
call dword [edx]
cmp esi, esp
call fcn.00409af0
call sub.SonicUI.dll_GetSonicUI
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x168]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [ebp - 0x168]
call dword [edx + 0xc]
cmp esi, esp
call fcn.00409af0
mov dword [ebp - 0x88], eax
mov esi, esp
push str._c0xff0000__fadeout__init_normal_Do_me_a_favor
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x88]
push edx
call dword [ecx + 0x1c]
add esp, 8
cmp esi, esp
call fcn.00409af0
call sub.SonicUI.dll_GetSonicUI
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x168]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [ebp - 0x168]
call dword [edx + 0x30]
cmp esi, esp
call fcn.00409af0
mov dword [ebp - 0x94], eax
mov esi, esp
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 0x94]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x94]
call dword [edx + 0x1c]
cmp esi, esp
call fcn.00409af0
mov esi, esp
push 0
push 0
mov eax, dword [ebp - 0x88]
mov edx, dword [eax]
mov edi, esp
mov ecx, dword [ebp - 0x88]
call dword [edx + 4]
cmp edi, esp
call fcn.00409af0
push eax
mov ecx, dword [ebp - 0x94]
add ecx, 8
mov eax, dword [ebp - 0x94]
mov edx, dword [eax + 8]
call dword [edx]
cmp esi, esp
call fcn.00409af0
mov eax, dword [ebp - 0x88]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [ebp - 0x88]
call dword [edx + 0x24]
cmp esi, esp
call fcn.00409af0
add eax, 0xa
mov esi, esp
push eax
push 0
mov eax, dword [0x42ede4]
mov edx, dword [eax]
mov edi, esp
mov ecx, dword [0x42ede4]
call dword [edx + 4]
cmp edi, esp
call fcn.00409af0
push eax
mov ecx, dword [ebp - 0x94]
add ecx, 8
mov eax, dword [ebp - 0x94]
mov edx, dword [eax + 8]
call dword [edx]
cmp esi, esp
call fcn.00409af0
call sub.SonicUI.dll_GetSonicUI
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x168]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [ebp - 0x168]
call dword [edx + 0x34]
cmp esi, esp
call fcn.00409af0
mov dword [0x42ef4c], eax
mov eax, dword [ebp - 0x94]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [ebp - 0x94]
call dword [edx + 0x38]
cmp esi, esp
call fcn.00409af0
mov esi, esp
push eax
mov eax, dword [ebp - 0x94]
mov edx, dword [eax]
mov edi, esp
mov ecx, dword [ebp - 0x94]
call dword [edx + 0x34]
cmp edi, esp
call fcn.00409af0
push eax
push 0xc8
push 0x190
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [0x42ef4c]
mov edx, dword [ecx]
mov ecx, dword [0x42ef4c]
call dword [edx + 0x1c]
cmp esi, esp
call fcn.00409af0
mov esi, esp
push 0x403380
push 0
push 0
push 1
mov eax, dword [0x42ef4c]
mov ecx, dword [eax]
mov edx, dword [0x42ef4c]
push edx
call dword [ecx + 0x14]
add esp, 0x14
cmp esi, esp
call fcn.00409af0
mov esi, esp
push 0
push 0
mov eax, dword [ebp - 0x94]
mov edx, dword [eax]
mov edi, esp
mov ecx, dword [ebp - 0x94]
call dword [edx + 4]
cmp edi, esp
call fcn.00409af0
push eax
mov ecx, dword [0x42ef4c]
add ecx, 8
mov eax, dword [0x42ef4c]
mov edx, dword [eax + 8]
call dword [edx]
cmp esi, esp
call fcn.00409af0
mov esi, esp
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
cmp esi, esp
call fcn.00409af0
mov esi, esp
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
cmp esi, esp
call fcn.00409af0
mov dword [ebp - 0x160], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
call fcn.004012b0
mov eax, dword [ebp - 0x160]
push edx
mov ecx, ebp
push eax
lea edx, [0x404230]
call fcn.00409b20
pop eax
pop edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
add esp, 0x168
cmp ebp, esp
call fcn.00409af0
mov esp, ebp
pop ebp
ret