Function at 0x45449d
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5cc
mov eax, dword [0x478b78]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, dword [ebp + 8]
push esi
xor esi, esi
mov dword [ebp - 0x584], eax
mov dword [eax], esi
xor eax, eax
push edi
mov edi, dword [ebp + 0xc]
inc eax
mov dword [ebp - 0x588], ebx
mov dword [ebp - 0x5a0], esi
mov dword [ebp - 0x5a4], esi
mov dword [ebp - 0x59c], esi
mov dword [ebp - 0x580], esi
mov dword [ebp - 0x594], esi
cmp edi, 0x5d
jne 0x454504
push edi
push ebx
call fcn.00456d97
cmp eax, 2
jne 0x45451d
push 0x5c
xor eax, eax
pop edi
inc eax
cmp edi, 0xffffffa5
je 0x454528
cmp edi, 0xfffffffe
je 0x454528
cmp edi, 2
je 0x454528
cmp edi, 0x59
jle 0x45451d
cmp edi, 0x5c
jle 0x454528
xor eax, eax
mov dword [ebp - 0x58c], esi
inc eax
jmp 0x45452e
mov dword [ebp - 0x58c], eax
cmp edi, 0x5a
je 0x454555
cmp edi, 0x5b
jle 0x454547
cmp edi, 0x5d
jle 0x454555
cmp edi, 0x5e
jle 0x454547
cmp edi, 0x61
jle 0x454555
mov dword [ebp - 0x5a8], esi
mov dword [0x49cdcc], esi
jmp 0x45455b
mov dword [ebp - 0x5a8], eax
test edi, edi
jns 0x454567
neg edi
mov dword [ebp - 0x5a8], eax
cmp edi, 0x61
je 0x45457c
call fcn.004541d2
test eax, eax
je 0x45457c
xor eax, eax
jmp 0x454dc8
xor eax, eax
inc eax
push eax
call fcn.0044bc76
cmp edi, 0x61
jne 0x4545e8
mov dword [ebp - 0x598], esi
xor ecx, ecx
lea eax, [edi - 0x62]
inc ecx
cmp eax, ecx
ja 0x45460f
lea eax, [ebp - 0x10c]
push eax
push 0x1f4
call fcn.0046bf2e
mov ebx, eax
test ebx, ebx
jne 0x454d62
mov ebx, dword [0x49cd84]
lea eax, [ebp - 0x214]
inc ebx
mov esi, 0x106
push ebx
push 0x4786c0
push esi
push eax
mov dword [ebp - 0x57c], ebx
call fcn.00458bcd
add esp, 0x10
lea eax, [ebp - 0x214]
jmp 0x454672
xor eax, eax
inc eax
mov dword [ebp - 0x598], eax
cmp edi, 0x60
jg 0x454590
cmp edi, 0x5f
jge 0x45459a
cmp edi, 4
jl 0x45460f
cmp edi, 8
jle 0x45459a
cmp edi, 0x59
jle 0x45460f
cmp edi, 0x5b
jle 0x45459a
push ebx
mov dword [ebp - 0x57c], esi
lea eax, [ebp - 0x10c]
mov esi, 0x106
push esi
push eax
call fcn.00442b42
push esi
lea eax, [ebp - 0x424]
push eax
push esi
lea eax, [ebp - 0x31c]
push eax
push esi
lea eax, [ebp - 0x214]
push eax
push esi
lea eax, [ebp - 0x52c]
push eax
lea eax, [ebp - 0x10c]
push eax
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__splitpath_s]
add esp, 0x24
lea eax, [ebp - 0x31c]
push eax
push esi
lea eax, [ebp - 0x10c]
push eax
call fcn.00442b42
lea eax, [ebp - 0x424]
push eax
push esi
lea eax, [ebp - 0x10c]
push eax
call fcn.0041c82c
movaps xmm0, xmmword [0x4786f0]
lea eax, [ebp - 0x10c]
push dword [0x49d9fc]
and dword [ebp - 0x5ac], 0
mov esi, 0x1000000
mov dword [ebp - 0x5c8], eax
mov eax, dword [0x49d9f8]
mov dword [ebp - 0x5cc], str.OPWDocumentClass
mov dword [ebp - 0x5c4], eax
movups xmmword [ebp - 0x5c0], xmm0
call dword [sym.imp.USER32.dll_IsIconic]
push 0x10
pop ebx
test eax, eax
je 0x454739
lea eax, [ebp - 0x568]
mov dword [ebp - 0x568], 0x2c
push eax
push dword [0x49d9fc]
xor esi, esi
mov dword [ebp - 0x560], 2
and dword [ebp - 0x564], esi
call dword [sym.imp.USER32.dll_GetWindowPlacement]
mov ecx, dword [ebp - 0x544]
sub ecx, dword [ebp - 0x54c]
mov eax, dword [ebp - 0x540]
sub eax, dword [ebp - 0x548]
mov dword [ebp - 0x5b8], ecx
mov dword [ebp - 0x5b4], eax
cmp ecx, ebx
jle 0x45472d
sub ecx, ebx
mov dword [ebp - 0x5b8], ecx
cmp eax, ebx
jle 0x454739
sub eax, ebx
mov dword [ebp - 0x5b4], eax
mov eax, 0x3e8
mov dword [ebp - 0x5b0], esi
push eax
push eax
xor esi, esi
lea eax, [ebp - 0x578]
push esi
push esi
push eax
call dword [sym.imp.USER32.dll_SetRect]
cmp dword [ebp - 0x598], esi
je 0x45479e
lea eax, [ebp - 0x5cc]
push eax
push esi
push 0x220
push dword [0x49da30]
call dword [sym.imp.USER32.dll_SendMessageA]
mov ebx, eax
mov dword [ebp - 0x580], ebx
test ebx, ebx
jne 0x45478e
mov ebx, 0x2712
jmp 0x454d67
lea eax, [ebp - 0x578]
push eax
push ebx
call dword [sym.imp.USER32.dll_GetClientRect]
jmp 0x4547a0
mov ebx, esi
push esi
push dword [0x49d9f8]
test ebx, ebx
mov eax, ebx
push esi
cmove eax, dword [0x49d9fc]
push eax
push dword [ebp - 0x56c]
push dword [ebp - 0x570]
push esi
push esi
push 0x42300000
push esi
push str.OPWChartClass
push esi
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov esi, eax
push esi
mov dword [ebp - 0x590], esi
call fcn.0046bf87
mov ebx, eax
test ebx, ebx
jne 0x454d32
mov eax, dword [ebp - 0x584]
mov dword [eax], esi
cmp dword [ebp - 0x598], ebx
je 0x45484e
cmp edi, 0x5b
je 0x454814
cmp edi, 0x62
je 0x454814
cmp edi, 0x5a
je 0x454814
cmp edi, 0x5f
je 0x454814
xor eax, eax
jmp 0x454817
xor eax, eax
inc eax
lea ecx, [ebp - 0x584]
push ecx
push dword [ebp - 0x588]
push dword [ebp - 0x58c]
push eax
push dword [ebp - 0x57c]
push dword [ebp - 0x580]
call fcn.004569d5
mov ebx, eax
test ebx, ebx
jne 0x454d32
mov ebx, dword [ebp - 0x584]
jmp 0x454854
mov ebx, dword [0x49ec60]
mov eax, dword [sym.imp.USER32.dll_ShowWindow]
cmp edi, 0x5f
jg 0x45497a
je 0x454959
cmp edi, 2
je 0x45488d
cmp edi, 3
jle 0x45498c
cmp edi, 8
jle 0x45488d
cmp edi, 0x59
jle 0x45498c
cmp edi, 0x5c
jg 0x45498c
push 0
push dword [ebp - 0x580]
call eax
xor eax, eax
inc eax
mov dword [ebp - 0x59c], eax
push edi
push ebx
push esi
call fcn.0045517b
mov ebx, eax
test ebx, ebx
jne 0x454d32
push 4
push esi
call dword [sym.imp.USER32.dll_GetWindowLongA]
push eax
mov dword [ebp - 0x594], eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov ebx, eax
xor eax, eax
push 0
inc eax
mov dword [ebp - 0x588], ebx
push eax
lea ecx, [ebx + 0x22]
push ecx
call fcn.0046bad9
cmp edi, 0x60
jg 0x4549a3
cmp edi, 0x5f
jge 0x454912
cmp edi, 2
je 0x454912
cmp edi, 3
jle 0x4549b8
cmp edi, 8
jle 0x454912
cmp edi, 0x59
jle 0x4549b8
cmp edi, 0x5c
jg 0x4549b8
test dword [0x49e456], 0x400
je 0x454b11
mov eax, dword [0x49e4c4]
mov dword [ebp - 0x57c], eax
cmp edi, 0x5b
je 0x45493b
cmp edi, 0x5a
jne 0x454b19
cmp eax, 0x1f4
jge 0x454b08
test eax, eax
je 0x454b08
xor ecx, ecx
inc ecx
mov dword [ebx + 0xe], ecx
jmp 0x454b0c
push 0
push dword [ebp - 0x580]
call eax
push 0x5f
xor eax, eax
push ebx
inc eax
push esi
mov dword [ebp - 0x59c], eax
call fcn.004562de
jmp 0x4548a8
cmp edi, 0x60
je 0x45488d
cmp edi, 0x63
je 0x4548a0
push edi
push ebx
push esi
call fcn.004562de
mov ebx, eax
test ebx, ebx
je 0x4548b2
jmp 0x454b5f
mov eax, edi
sub eax, 0x61
je 0x454b41
dec eax
sub eax, 1
je 0x454912
mov eax, dword [ebx + 0xa]
mov ecx, dword [ebx + 0xe]
mov dword [ebp - 0x584], eax
mov dword [ebp - 0x57c], ecx
cmp edi, 0x5b
je 0x4549d4
cmp edi, 0x62
jne 0x4549f8
test dword [0x49e456], 0x400
je 0x4549f8
mov eax, dword [0x49e4c4]
xor ecx, ecx
test eax, eax
mov dword [ebp - 0x584], eax
sets cl
mov dword [ebp - 0x57c], ecx
push ecx
push eax
push dword [ebx + 0x5a]
push dword [ebx + 0x56]
push esi
call fcn.0046b349
mov ebx, eax
cmp edi, 0x62
je 0x454a23
push dword [ebp - 0x588]
push esi
call fcn.004494e4
mov ebx, eax
test ebx, ebx
jne 0x454b53
cmp dword [ebp - 0x584], 0
mov eax, dword [ebp - 0x57c]
je 0x454a6b
test al, 1
jne 0x454a6d
push esi
call dword [sym.imp.USER32.dll_GetDC]
push dword [ebp - 0x584]
mov esi, eax
push esi
call fcn.0046ba5b
push esi
mov esi, dword [ebp - 0x590]
push esi
call dword [sym.imp.USER32.dll_ReleaseDC]
mov ecx, dword [ebp - 0x584]
mov eax, dword [ebp - 0x57c]
mov dword [ebp - 0x5a0], ecx
test al, 1
mov eax, dword [ebp - 0x5a4]
push 1
pop ecx
cmovne eax, ecx
mov dword [ebp - 0x5a4], eax
test ebx, ebx
jne 0x454b53
lea eax, [ebp - 0x53c]
push eax
push esi
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp - 0x588]
xor ecx, ecx
push ecx
push dword [ebp - 0x534]
push dword [eax + 2]
push ecx
push ecx
push esi
call fcn.0046b75b
mov eax, dword [ebp - 0x588]
push ebx
push dword [ebp - 0x530]
push dword [eax + 6]
xor eax, eax
push ebx
inc eax
push eax
push esi
call fcn.0046b75b
mov eax, dword [ebp - 0x588]
push ebx
movzx eax, word [eax + 2]
shl eax, 0x10
or eax, 0x63
push eax
push 0x114
push esi
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [ebp - 0x588]
push ebx
movzx eax, word [eax + 6]
shl eax, 0x10
or eax, 0x63
push eax
push 0x115
push esi
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x454b53
and dword [ebx + 0xe], 0
mov dword [ebx + 0xa], eax
jmp 0x454b19
xor eax, eax
mov dword [ebp - 0x57c], eax
push 0
push eax
push dword [ebx + 0x5a]
push dword [ebx + 0x56]
push esi
call fcn.0046b349
mov ebx, eax
mov eax, dword [ebp - 0x57c]
test eax, eax
je 0x454b53
cmp eax, 0xffffffff
je 0x454b53
mov dword [ebp - 0x5a0], eax
jmp 0x454b53
push 0
push 0
push dword [ebx + 0x5a]
push dword [ebx + 0x56]
push esi
call fcn.0046b349
mov ebx, eax
push dword [ebp - 0x594]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
test ebx, ebx
jne 0x454d32
cmp edi, 4
jl 0x454b8b
cmp edi, 8
jle 0x454b85
cmp edi, 0x5b
je 0x454b85
cmp edi, 0x60
je 0x454b85
xor ecx, ecx
lea eax, [edi - 0x62]
inc ecx
cmp eax, ecx
ja 0x454b8b
inc dword [0x49cd84]
cmp dword [ebp - 0x598], 0
je 0x454575
cmp edi, 0x5d
je 0x454bd1
cmp edi, 0x60
je 0x454bd1
cmp edi, 0x5f
je 0x454bd1
cmp dword [ebp - 0x59c], 0
jne 0x454bd1
cmp edi, 0x5c
je 0x454bd1
cmp edi, 0x5a
je 0x454bd1
push 5
push dword [ebp - 0x580]
call dword [sym.imp.USER32.dll_ShowWindow]
push 5
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [ebp - 0x5a0]
test eax, eax
je 0x454be8
push dword [ebp - 0x5a4]
push eax
push esi
call fcn.0045970d
push dword [ebp - 0x580]
call fcn.004596d6
xor eax, eax
inc eax
push eax
push dword [ebp - 0x580]
call fcn.0044c6a1
and dword [ebp - 0x58c], 0
cmp edi, 0x5a
je 0x454cdb
cmp edi, 0x5b
je 0x454c41
cmp edi, 0x5e
jle 0x454dbf
cmp edi, 0x60
jle 0x454cdb
cmp edi, 0x62
je 0x454c41
cmp edi, 0x63
jne 0x454dbf
xor ecx, ecx
inc ecx
mov edi, ecx
jmp 0x454ce4
push dword [ebp - 0x594]
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov edi, eax
xor eax, eax
inc eax
push eax
push 0x80
lea esi, [edi + 0x22]
push esi
call fcn.0046bad9
xor eax, eax
xor ecx, ecx
push eax
push eax
push eax
inc ecx
push ecx
push eax
movzx eax, word [edi + 0xde]
shl eax, 0x10
push eax
push 0x457
push dword [ebp - 0x590]
call fcn.00420889
xor eax, eax
xor ecx, ecx
push eax
push eax
inc ecx
push ecx
push eax
push eax
push dword [ebp - 0x590]
call fcn.004214a3
push 0
push 0x80
push esi
call fcn.0046bad9
mov esi, dword [sym.imp.USER32.dll_GetScrollPos]
push 0
push dword [ebp - 0x590]
call esi
mov dword [edi + 2], eax
xor eax, eax
inc eax
push eax
push dword [ebp - 0x590]
call esi
push dword [ebp - 0x594]
mov dword [edi + 6], eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
jmp 0x454dbf
mov edi, dword [ebp - 0x58c]
xor ecx, ecx
inc ecx
push 0
push 0
push ecx
push 0
push 0
push esi
call fcn.004214a3
xor eax, eax
xor ecx, ecx
push eax
push eax
push eax
inc ecx
push ecx
push eax
push eax
push 0x459
push esi
call fcn.00420889
mov esi, dword [ebp - 0x594]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov eax, dword [eax + 0xe6]
test eax, eax
je 0x454d2f
push 0
xor ecx, ecx
inc ecx
push ecx
push edi
push 0
push eax
call fcn.0043a07b
push esi
jmp 0x454cd0
mov edi, dword [ebp - 0x580]
test edi, edi
je 0x454d51
push edi
call fcn.004573c0
push 0
push 0
push 0x10
push edi
call dword [sym.imp.USER32.dll_DefMDIChildProcA]
jmp 0x454d62
test esi, esi
je 0x454d62
push 0
push 0
push 0x10
push esi
call dword [sym.imp.USER32.dll_DefWindowProcA]
cmp ebx, 2
je 0x454dbf
cmp dword [ebp - 0x5a8], 0
jne 0x454dbf
cmp ebx, 0xffffffff
je 0x454dbf
cmp ebx, 7
je 0x454db5
cmp ebx, 0x2716
je 0x454db1
cmp ebx, 0x2717
je 0x454dad
cmp ebx, 0x2718
je 0x454d96
push 7
jmp 0x454dba
cmp dword [ebp - 0x58c], 0
jne 0x454da6
push 0x98
jmp 0x454dba
push 0x5e4
jmp 0x454dba
push 0x3a
jmp 0x454dba
push 0x33
jmp 0x454dba
push 0x5dd
call fcn.0044af27
push 0
call fcn.0044bc76
mov eax, ebx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00475d95
mov esp, ebp
pop ebp
ret 0xc