Function at 0x4d2a80
Capabilities:
Hide graphical window

Disassembly:
push 0xffffffffffffffff
push 0x579e40
mov eax, dword fs:[0]
push eax
sub esp, 0x30
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5d7050]
xor eax, esp
push eax
lea eax, [esp + 0x44]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x54]
lea eax, [esp + 0x54]
push eax
mov ecx, 0x5a2bf4
call fcn.0040ff50
xor ebx, ebx
mov dword [esp + 0x4c], ebx
call fcn.00456410
add eax, 0x90
push eax
mov ecx, 0x591ae8
call fcn.004133e0
add esp, 4
test al, al
jne 0x4d2b0d
call fcn.00456410
add eax, 0x90
push eax
mov ecx, str.Microsoft_YaHei
call fcn.004133e0
add esp, 4
test al, al
jne 0x4d2b0d
push str.1_13__19__2
mov ebx, 0xb
lea eax, [esp + 0x58]
call fcn.00410570
xor ebx, ebx
mov ecx, dword [esp + 0x54]
push 0x591f2c
lea eax, [ebp + 0x24]
push 0xcc
push eax
call fcn.0044fd30
mov esi, 0xcc
mov edi, ebp
call fcn.004507b0
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x20], ecx
mov edx, dword [eax + 0x1c]
mov dword [esp + 0x28], edx
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x24], ecx
mov edx, dword [eax + 0x20]
mov eax, dword [ebp + 0x380]
push eax
mov dword [esp + 0x30], edx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x4d2e2b
mov eax, dword [ebp + 4]
push 0xffffff
mov dword [ebp + 0x3a4], eax
lea ebx, [ebp + 0x37c]
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
push ecx
mov dword [ebx + 0x24], eax
mov eax, esp
mov dword [esp + 0x1c], esp
push ecx
mov dword [ebx + 0x2c], 0x7fff
mov dword [eax], 0
mov eax, esp
mov dword [eax], 0
mov ecx, dword [ebp + 4]
mov dword [esp + 0x20], esp
push ecx
mov esi, ebx
call fcn.004d4a70
call fcn.00456410
mov ecx, eax
add ecx, 0x60
mov edi, 0x604
xor edx, edx
mov eax, edi
div dword [ecx + 8]
mov ecx, dword [ecx]
test ecx, ecx
je 0x4d2bf7
mov eax, dword [ecx + edx*4]
test eax, eax
je 0x4d2bf7
lea ecx, [ecx]
cmp dword [eax + 0xc], edi
jne 0x4d2bea
cmp word [eax], di
je 0x4d2bf3
mov eax, dword [eax + 8]
test eax, eax
jne 0x4d2be0
jmp 0x4d2bf7
test eax, eax
jne 0x4d2c26
push 0
push 0
push 1
call fcn.00456410
mov dl, 6
mov ecx, eax
call fcn.00456330
mov esi, eax
test esi, esi
je 0x4d2c29
call fcn.00456410
mov ecx, eax
add ecx, 0x60
mov eax, edi
call fcn.004563b0
mov dword [eax], esi
jmp 0x4d2c29
mov esi, dword [eax + 4]
mov eax, esi
mov edi, ebx
call fcn.004d21a0
mov edx, dword [ebp + 0x380]
push 0
push 4
push 0xc5
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [0x5e736c]
mov edx, dword [eax + 0xc]
mov ecx, 0x5e736c
call edx
add eax, 0x10
mov dword [esp + 0x18], eax
mov byte [esp + 0x4c], 1
mov eax, dword [ebp + 0x3ec]
push eax
push 0x58cbe8
lea edi, [esp + 0x20]
call fcn.00410c00
add esp, 8
cmp dword [ebp + 0x374], 0
jne 0x4d2da0
mov edx, 0x5a2c24
call fcn.00410020
lea ecx, [esp + 0x14]
push ecx
mov ecx, str.1_13__19__2
call fcn.0040ff50
mov byte [esp + 0x4c], 2
call fcn.004571c0
test eax, eax
jne 0x4d2cbd
mov edx, str.1_16__19__2
lea edi, [esp + 0x14]
call fcn.00410020
mov ecx, dword [esp + 0x14]
push 0x591f2c
push 0xcc
lea esi, [ebp + 0x24]
push esi
call fcn.0044fd30
test esi, esi
je 0x4d2cdd
lea edi, [esi - 0x24]
jmp 0x4d2cdf
xor edi, edi
mov esi, 0xcc
call fcn.004507b0
test eax, eax
je 0x4d2d09
mov edx, dword [eax + 0x14]
mov dword [esp + 0x20], edx
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0x28], ecx
mov edx, dword [eax + 0x18]
mov dword [esp + 0x24], edx
mov eax, dword [eax + 0x20]
mov dword [esp + 0x2c], eax
call fcn.00456410
mov ecx, eax
add ecx, 0x60
xor eax, eax
xor edx, edx
div dword [ecx + 8]
mov ecx, dword [ecx]
test ecx, ecx
je 0x4d2d40
mov eax, dword [ecx + edx*4]
test eax, eax
je 0x4d2d40
cmp dword [eax + 0xc], 0
jne 0x4d2d33
cmp word [eax], 0
je 0x4d2d3c
mov eax, dword [eax + 8]
test eax, eax
jne 0x4d2d27
jmp 0x4d2d40
test eax, eax
jne 0x4d2d6f
push 0
push 0
push 0
call fcn.00456410
xor dl, dl
mov ecx, eax
call fcn.00456330
mov esi, eax
test esi, esi
je 0x4d2d72
call fcn.00456410
mov ecx, eax
add ecx, 0x60
xor eax, eax
call fcn.004563b0
mov dword [eax], esi
jmp 0x4d2d72
mov esi, dword [eax + 4]
mov eax, esi
mov edi, ebx
call fcn.004d21a0
mov byte [esp + 0x4c], 1
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4d2da0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [esp + 0x18]
mov ecx, dword [ebp + 0x380]
push esi
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov eax, dword [ebp + 4]
mov edi, dword [sym.imp.USER32.dll_ClientToScreen]
lea edx, [esp + 0x20]
push edx
push eax
call edi
test eax, eax
je 0x4d2dd2
mov edx, dword [ebp + 4]
lea ecx, [esp + 0x28]
push ecx
push edx
call edi
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
push 0
sub ecx, eax
push ecx
mov ecx, dword [esp + 0x28]
sub edx, ecx
push edx
push eax
mov eax, dword [ebp + 0x380]
push ecx
push eax
call dword [sym.imp.USER32.dll_MoveWindow]
mov ecx, dword [ebp + 0x380]
push 0
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
lea eax, [esi - 0x10]
mov byte [esp + 0x4c], 0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4d2e29
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor ebx, ebx
lea ecx, [esp + 0x1c]
push ecx
mov ecx, 0x5a2bf4
call fcn.0040ff50
mov byte [esp + 0x4c], 3
call fcn.00456410
add eax, 0x90
push eax
mov ecx, 0x591ae8
call fcn.004133e0
add esp, 4
test al, al
jne 0x4d2e8c
call fcn.00456410
add eax, 0x90
push eax
mov ecx, str.Microsoft_YaHei
call fcn.004133e0
add esp, 4
test al, al
jne 0x4d2e8c
push str.1_13__19__2
mov ebx, 0xb
lea eax, [esp + 0x20]
call fcn.00410570
xor ebx, ebx
mov ecx, dword [esp + 0x54]
push 0x591f2c
push 0x130
lea eax, [ebp + 0x24]
push eax
call fcn.0044fd30
mov esi, 0x130
mov edi, ebp
call fcn.004507b0
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov edx, dword [eax + 0x14]
mov dword [esp + 0x30], edx
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0x38], ecx
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp + 0x3b8]
mov dword [esp + 0x34], edx
mov eax, dword [eax + 0x20]
push ecx
mov dword [esp + 0x40], eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x4d31aa
mov eax, dword [ebp + 4]
push 0xffffff
mov dword [ebp + 0x3dc], eax
lea ebx, [ebp + 0x3b4]
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov dword [ebx + 0x24], eax
push ecx
mov eax, esp
mov dword [esp + 0x1c], esp
mov dword [ebx + 0x2c], 0x7fff
push ecx
mov dword [eax], 0
mov eax, esp
mov dword [eax], 0
mov edx, dword [ebp + 4]
mov dword [esp + 0x20], esp
push edx
mov esi, ebx
call fcn.004d4a70
call fcn.00456410
mov ecx, eax
add ecx, 0x60
mov edi, 0x604
xor edx, edx
mov eax, edi
div dword [ecx + 8]
mov ecx, dword [ecx]
test ecx, ecx
je 0x4d2f77
mov eax, dword [ecx + edx*4]
test eax, eax
je 0x4d2f77
lea esp, [esp]
cmp dword [eax + 0xc], edi
jne 0x4d2f6a
cmp word [eax], di
je 0x4d2f73
mov eax, dword [eax + 8]
test eax, eax
jne 0x4d2f60
jmp 0x4d2f77
test eax, eax
jne 0x4d2fa6
push 0
push 0
push 1
call fcn.00456410
mov dl, 6
mov ecx, eax
call fcn.00456330
mov esi, eax
test esi, esi
je 0x4d2fa9
call fcn.00456410
mov ecx, eax
add ecx, 0x60
mov eax, edi
call fcn.004563b0
mov dword [eax], esi
jmp 0x4d2fa9
mov esi, dword [eax + 4]
mov eax, esi
mov edi, ebx
call fcn.004d21a0
mov eax, dword [ebp + 0x3b8]
push 0
push 4
push 0xc5
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov edx, dword [0x5e736c]
mov eax, dword [edx + 0xc]
mov ecx, 0x5e736c
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
mov byte [esp + 0x4c], 4
mov ecx, dword [ebp + 0x3f0]
push ecx
push 0x58cbe8
lea edi, [esp + 0x1c]
call fcn.00410c00
add esp, 8
cmp dword [ebp + 0x378], 0
jne 0x4d3121
mov edx, 0x5a2c24
call fcn.00410020
lea edx, [esp + 0x18]
push edx
mov ecx, str.1_13__19__2
call fcn.0040ff50
mov byte [esp + 0x4c], 5
call fcn.004571c0
test eax, eax
jne 0x4d303e
mov edx, str.1_16__19__2
lea edi, [esp + 0x18]
call fcn.00410020
mov ecx, dword [esp + 0x18]
push 0x591f2c
push 0x130
lea esi, [ebp + 0x24]
push esi
call fcn.0044fd30
test esi, esi
je 0x4d305e
lea edi, [esi - 0x24]
jmp 0x4d3060
xor edi, edi
mov esi, 0x130
call fcn.004507b0
test eax, eax
je 0x4d308a
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x30], ecx
mov edx, dword [eax + 0x1c]
mov dword [esp + 0x38], edx
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x34], ecx
mov edx, dword [eax + 0x20]
mov dword [esp + 0x3c], edx
call fcn.00456410
mov ecx, eax
add ecx, 0x60
xor eax, eax
xor edx, edx
div dword [ecx + 8]
mov ecx, dword [ecx]
test ecx, ecx
je 0x4d30c1
mov eax, dword [ecx + edx*4]
test eax, eax
je 0x4d30c1
cmp dword [eax + 0xc], 0
jne 0x4d30b4
cmp word [eax], 0
je 0x4d30bd
mov eax, dword [eax + 8]
test eax, eax
jne 0x4d30a8
jmp 0x4d30c1
test eax, eax
jne 0x4d30f0
push 0
push 0
push 0
call fcn.00456410
xor dl, dl
mov ecx, eax
call fcn.00456330
mov esi, eax
test esi, esi
je 0x4d30f3
call fcn.00456410
mov ecx, eax
add ecx, 0x60
xor eax, eax
call fcn.004563b0
mov dword [eax], esi
jmp 0x4d30f3
mov esi, dword [eax + 4]
mov eax, esi
mov edi, ebx
call fcn.004d21a0
mov byte [esp + 0x4c], 4
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4d3121
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [esp + 0x14]
mov ecx, dword [ebp + 0x3b8]
push esi
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov eax, dword [ebp + 4]
mov edi, dword [sym.imp.USER32.dll_ClientToScreen]
lea edx, [esp + 0x30]
push edx
push eax
call edi
test eax, eax
je 0x4d3153
mov edx, dword [ebp + 4]
lea ecx, [esp + 0x38]
push ecx
push edx
call edi
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
push 0
sub ecx, eax
push ecx
mov ecx, dword [esp + 0x38]
sub edx, ecx
push edx
push eax
mov eax, dword [ebp + 0x3b8]
push ecx
push eax
call dword [sym.imp.USER32.dll_MoveWindow]
mov ecx, dword [ebp + 0x3b8]
push 0
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
lea eax, [esi - 0x10]
mov byte [esp + 0x4c], 3
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4d31aa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x4c], 0
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4d31cf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x4c], 0xffffffff
mov eax, dword [esp + 0x54]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4d31f7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x44]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret 4