Function at 0x476f70
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x234
push ebx
push esi
mov esi, dword [ebp + 0xc]
lea edx, [ebp + 8]
push edi
mov edi, dword [ebp + 0x10]
push esi
mov dword [esp + 0x20], ecx
mov ecx, dword [ebp + 8]
push 0
push 0
call fcn.00475ff0
mov ecx, dword [ebp + 8]
add esp, 0xc
mov ebx, eax
mov dword [esp + 0x10], ebx
call fcn.00475680
mov ecx, eax
mov dword [esp + 0x14], ecx
test ecx, ecx
jne 0x476fff
mov eax, dword [0x4e88cc]
test byte [eax + 0xe0], 1
jne 0x476fe1
mov ecx, dword [0x4eb720]
push 1
push 0
push 0xffffffffffffffff
push 0x4d9c00
call fcn.004a2730
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [esp + 0x1c]
push 0x4d5231
push 0
push 0x4d9c00
call fcn.0043e650
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
test ebx, ebx
je 0x476fb4
push esi
mov ecx, ebx
call fcn.00484d40
mov esi, eax
mov dword [esp + 0x2c], esi
cmp esi, dword [ebx + 0x10]
jae 0x476fb4
mov eax, dword [esp + 0x10]
mov ebx, esi
mov ecx, dword [0x4eb720]
push 1
push 0
shl ebx, 6
add ebx, dword [eax + 0x18]
push 0xffffffffffffffff
push 0x4d5290
mov dword [esp + 0x44], ebx
call fcn.004a2730
mov eax, dword [0x4ec228]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x60], eax
mov eax, dword [0x4ec224]
mov dword [esp + 0x64], eax
lea eax, [edx - 1]
mov dword [0x4ec228], 0
mov dword [0x4ec224], 0
mov byte [esp + 0xf], 0
cmp eax, 0xc
ja case.default.0x477077
jmp dword [eax*4 + 0x478514]
push ebx
lea eax, [esp + 0x8c]
push eax
call fcn.004823b0
push dword [ebp + 0x14]
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x8c]
push esi
push ebx
push eax
push dword [ebp + 8]
call fcn.0047e020
mov ebx, eax
jmp 0x4784cb
mov cl, byte [ebx + 4]
movzx eax, cl
dec eax
cmp eax, 0x18
ja case.0x4770c3.7
movzx eax, byte [eax + 0x478580]
jmp dword [eax*4 + 0x478548]
mov al, byte [ebx + 5]
shr al, 6
and al, 1
mov byte [esp + 0xf], al
push edi
push dword [ebx]
call dword [sym.imp.USER32.dll_SetWindowTextA]
cmp byte [esp + 0xf], 0
jne 0x478493
jmp case.0x4770c3.10
lea eax, [esp + 0x38]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_GetClientRect]
mov ecx, dword [esp + 0x40]
mov esi, edi
sub ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
sub edx, dword [esp + 0x3c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
mov dword [esp + 0x24], 0
nop
mov al, byte [esi]
cmp al, 0x20
je 0x47712a
cmp al, 9
jne 0x47712d
inc esi
jmp 0x477120
cmp al, 0x2a
jne 0x47732c
mov edi, esi
test esi, esi
je 0x47715c
mov dl, byte [esi]
test dl, dl
je 0x47715c
mov ecx, 0x4d9e7c
mov al, 0x20
cmp dl, al
je 0x47716d
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x477148
mov dl, byte [edi + 1]
inc edi
test dl, dl
jne 0x477141
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x477161
sub ecx, edx
lea edi, [ecx + esi]
mov bh, byte [edi]
inc esi
push 4
push str.Icon
push esi
mov byte [edi], 0
call fcn.004b653e
add esp, 0xc
test eax, eax
jne 0x47720d
add esi, 4
mov ecx, esi
mov al, byte [ecx]
cmp al, 0x20
je 0x47719a
cmp al, 9
jne 0x47719d
inc ecx
jmp 0x477190
test al, al
je 0x477202
cmp al, 0x2d
je 0x4771a9
cmp al, 0x2b
jne 0x4771b0
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x477202
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x4771bf
cmp al, 0x58
jne 0x477202
movsx eax, byte [ecx + 2]
push eax
call fcn.004b99b0
add esp, 4
test eax, eax
je 0x477202
push 0x10
push 0
push esi
call fcn.004b9ad3
add esp, 0xc
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov byte [edi], bh
mov esi, edi
mov al, bh
nop
cmp al, 0x20
je 0x4771fc
cmp al, 9
jne 0x47731b
mov al, byte [esi + 1]
inc esi
jmp 0x4771f0
push esi
call fcn.004b9548
add esp, 4
jmp 0x4771dd
mov bl, byte [esi]
movzx eax, bl
test eax, 0xffffff80
jne 0x47722b
push 2
push eax
call fcn.004b8e5e
add esp, 8
test eax, eax
je 0x47722b
and bl, 0xdf
mov al, bl
cmp al, 0x48
je 0x4772a4
cmp al, 0x57
jne 0x4771e1
inc esi
mov ecx, esi
mov al, byte [ecx]
cmp al, 0x20
je 0x477242
cmp al, 9
jne 0x477245
inc ecx
jmp 0x477238
test al, al
je 0x477290
cmp al, 0x2d
je 0x477251
cmp al, 0x2b
jne 0x477258
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x477290
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x477267
cmp al, 0x58
jne 0x477290
movsx eax, byte [ecx + 2]
push eax
call fcn.004b99b0
add esp, 4
test eax, eax
je 0x477290
push 0x10
push 0
push esi
call fcn.004b9ad3
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x14], ecx
jmp 0x4771e5
push esi
call fcn.004b9548
mov ecx, eax
add esp, 4
mov dword [esp + 0x14], ecx
jmp 0x4771e5
inc esi
mov ecx, esi
mov al, byte [ecx]
cmp al, 0x20
je 0x4772b1
cmp al, 9
jne 0x4772b4
inc ecx
jmp 0x4772a7
test al, al
je 0x477303
cmp al, 0x2d
je 0x4772c0
cmp al, 0x2b
jne 0x4772c7
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x477303
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x4772d6
cmp al, 0x58
jne 0x477303
movsx eax, byte [ecx + 2]
push eax
call fcn.004b99b0
add esp, 4
test eax, eax
je 0x477303
push 0x10
push 0
push esi
call fcn.004b9ad3
mov ecx, dword [esp + 0x20]
mov edx, eax
add esp, 0xc
mov dword [esp + 0x18], edx
jmp 0x4771e9
push esi
call fcn.004b9548
mov ecx, dword [esp + 0x18]
mov edx, eax
add esp, 4
mov dword [esp + 0x18], edx
jmp 0x4771e9
cmp al, 0x2a
je 0x477135
test bh, bh
mov ebx, dword [esp + 0x34]
je 0x47732c
inc edi
push dword [esp + 0x24]
push edx
push ecx
push edi
push ebx
call fcn.00482680
test eax, eax
je 0x477e91
push edi
push dword [ebx]
call dword [sym.imp.USER32.dll_SetWindowTextA]
jmp 0x478493
cmp edx, 2
jne case.0x4770c3.4
push 0
push 0
push 0
mov edx, 1
mov ecx, edi
call fcn.0049df30
add esp, 0xc
test eax, eax
je case.0x4770c3.4
mov ecx, edi
mov al, byte [ecx]
cmp al, 0x20
je 0x477381
cmp al, 9
jne 0x477384
inc ecx
jmp 0x477377
test al, al
je 0x4773c6
cmp al, 0x2d
je 0x477390
cmp al, 0x2b
jne 0x477397
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x4773c6
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x4773a6
cmp al, 0x58
jne 0x4773c6
movsx eax, byte [ecx + 2]
push eax
call fcn.004b99b0
add esp, 4
test eax, eax
je 0x4773c6
push 0x10
push 0
push edi
call fcn.004b9ad3
add esp, 0xc
jmp 0x4773cf
push edi
call fcn.004b9548
add esp, 4
test eax, eax
je 0x477405
cmp eax, 1
je 0x477405
cmp byte [ebx + 4], 5
jne case.0x4770c3.4
cmp eax, 0xffffffff
jne case.0x4770c3.4
mov eax, 2
push 0
push eax
push 0xf1
push dword [ebx]
call dword [sym.imp.USER32.dll_SendMessageA]
jmp case.0x4770c3.10
cmp byte [ebx + 4], 6
jne 0x4773f0
mov ecx, dword [esp + 0x10]
push eax
push esi
push ebx
call fcn.00487bc0
jmp case.0x4770c3.10
cmp byte [edi], 0
je case.0x4770c3.25
push 0xfffffffffffffff0
push dword [ebx]
call dword [sym.imp.USER32.dll_GetWindowLongA]
test al, 4
je case.0x4770c3.25
mov ecx, edi
call fcn.0049ede0
mov esi, eax
mov ecx, edi
test esi, esi
cmovne ecx, esi
push ecx
push dword [ebx]
call dword [sym.imp.USER32.dll_SetWindowTextA]
test esi, esi
je case.0x4770c3.10
cmp esi, edi
je case.0x4770c3.10
push esi
call fcn.004b6427
add esp, 4
jmp case.0x4770c3.10
cmp edx, 2
jne 0x4774c2
cmp byte [edi], 0
je 0x4774a9
push 1
lea edx, [esp + 0x6c]
mov ecx, edi
call fcn.0049dbc0
add esp, 4
test eax, eax
je case.0x4770c3.10
lea eax, [esp + 0x68]
push eax
push 0
push 0x1002
push dword [ebx]
call dword [sym.imp.USER32.dll_SendMessageA]
jmp case.0x4770c3.10
lea eax, [esp + 0x68]
push eax
push 1
push 0x1002
push dword [ebx]
call dword [sym.imp.USER32.dll_SendMessageA]
jmp case.0x4770c3.10
push 0xfffffffffffffff0
push dword [ebx]
mov byte [esp + 0x17], 0
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov esi, eax
and esi, 0xfffffff2
cmp byte [edi], 0
je 0x4774f0
push str.LongDate
push edi
call fcn.004b626e
add esp, 8
test eax, eax
jne 0x477519
or esi, 4
push esi
push 0xfffffffffffffff0
push dword [ebx]
call dword [sym.imp.USER32.dll_SetWindowLongA]
xor eax, eax
cmp byte [esp + 0xf], al
cmovne eax, edi
push eax
push 0
push 0x1005
push dword [ebx]
call dword [sym.imp.USER32.dll_SendMessageA]
jmp case.0x4770c3.10
push str.Time
push edi
call fcn.004b626e
add esp, 8
test eax, eax
jne 0x477530
or esi, 9
jmp 0x4774f0
mov byte [esp + 0xf], 1
jmp 0x4774fb
mov al, byte [edi]
test al, al
je case.0x4770c3.10
xor esi, esi
lea ecx, [edi + 1]
cmp al, 0x2d
je 0x477588
push 0x2d
push ecx
call fcn.004b87b6
add esp, 8
mov dword [esp + 0x1c], eax
test eax, eax
je 0x477560
mov byte [eax], 0
push 1
lea edx, [esp + 0x6c]
mov ecx, edi
call fcn.0049dbc0
add esp, 4
mov ecx, 1
test eax, eax
mov eax, dword [esp + 0x1c]
cmovne esi, ecx
test eax, eax
je 0x4775a2
mov byte [eax], 0x2d
lea ecx, [eax + 1]
cmp byte [ecx], 0
je 0x4775a2
push 1
lea edx, [esp + 0x7c]
call fcn.0049dbc0
add esp, 4
test eax, eax
je 0x4775a2
or esi, 2
test esi, esi
je case.0x4770c3.4
push 0xfffffffffffffff0
push dword [ebx]
call dword [sym.imp.USER32.dll_GetWindowLongA]
test al, 2
je 0x47761d
cmp esi, 1
jne 0x4775c7
movups xmm0, xmmword [esp + 0x68]
movups xmmword [esp + 0x78], xmm0
lea eax, [esp + 0x68]
push eax
push 0
push 0x1006
push dword [ebx]
call dword [sym.imp.USER32.dll_SendMessageA]
mov ch, byte [ebx + 6]
cmp ch, 0xff
je case.0x4770c3.10
mov eax, dword [esp + 0x10]
xor cl, cl
xor edx, edx
mov esi, dword [eax + 0x10]
test esi, esi
je case.0x4770c3.10
mov eax, dword [eax + 0x18]
nop dword [eax]
cmp byte [eax + 4], 0x13
jne 0x477610
cmp cl, ch
je 0x478483
inc cl
inc edx
add eax, 0x40
cmp edx, esi
jb 0x477600
jmp case.0x4770c3.10
lea eax, [esp + 0x68]
push eax
push 0
push 0x1002
jmp 0x4775d3
mov ecx, edi
call fcn.00487a60
push 0
movzx eax, ax
push eax
push 0x401
push dword [ebx]
call dword [sym.imp.USER32.dll_SendMessageA]
jmp case.0x4770c3.10
mov al, byte [edi]
cmp al, 0x2b
jne 0x4776df
inc edi
mov ecx, edi
mov al, byte [ecx]
cmp al, 0x20
je 0x477661
cmp al, 9
jne 0x477664
inc ecx
jmp 0x477657
test al, al
je 0x4776a6
cmp al, 0x2d
je 0x477670
cmp al, 0x2b
jne 0x477677
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x4776a6
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x477686
cmp al, 0x58
jne 0x4776a6
movsx eax, byte [ecx + 2]
push eax
call fcn.004b99b0
add esp, 4
test eax, eax
je 0x4776a6
push 0x10
push 0
push edi
call fcn.004b9ad3
add esp, 0xc
jmp 0x4776af
push edi
call fcn.004b9548
add esp, 4
cmp byte [ebx + 5], 0
mov esi, eax
mov eax, dword [ebx]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
jge 0x4776d2
push 0x472
push eax
call edi
add esi, eax
jmp 0x477742
push 0x468
push eax
call edi
cwde
add esi, eax
jmp 0x477742
mov ecx, edi
cmp al, 0x20
je 0x4776e9
cmp al, 9
jne 0x4776ef
mov al, byte [ecx + 1]
inc ecx
jmp 0x4776e1
test al, al
je 0x477731
cmp al, 0x2d
je 0x4776fb
cmp al, 0x2b
jne 0x477702
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x477731
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x477711
cmp al, 0x58
jne 0x477731
movsx eax, byte [ecx + 2]
push eax
call fcn.004b99b0
add esp, 4
test eax, eax
je 0x477731
push 0x10
push 0
push edi
call fcn.004b9ad3
add esp, 0xc
jmp 0x47773a
push edi
call fcn.004b9548
add esp, 4
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
mov esi, eax
movsx eax, byte [ebx + 5]
sar eax, 0x1f
push esi
and eax, 0xa
push 0
add eax, 0x467
push eax
push dword [ebx]
call edi
jmp case.0x4770c3.10
mov al, byte [edi]
cmp al, 0x2b
jne 0x477806
inc edi
mov ecx, edi
nop dword [eax + eax]
mov al, byte [ecx]
cmp al, 0x20
je 0x47777a
cmp al, 9
jne 0x47777d
inc ecx
jmp 0x477770
test al, al
je 0x4777bf
cmp al, 0x2d
je 0x477789
cmp al, 0x2b
jne 0x477790
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x4777bf
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x47779f
cmp al, 0x58
jne 0x4777bf
movsx eax, byte [ecx + 2]
push eax
call fcn.004b99b0
add esp, 4
test eax, eax
je 0x4777bf
push 0x10
push 0
push edi
call fcn.004b9ad3
add esp, 0xc
jmp 0x4777c8
push edi
call fcn.004b9548
add esp, 4
mov edi, dword [esp + 0x34]
mov bl, byte [ebx + 5]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0x400
push dword [edi]
mov dword [esp + 0x2c], eax
call esi
mov ecx, dword [esp + 0x1c]
neg ecx
test bl, bl
cmovns ecx, dword [esp + 0x1c]
add eax, ecx
push eax
push 1
push 0x405
push dword [edi]
call esi
jmp case.0x4770c3.10
mov ecx, edi
cmp al, 0x20
je 0x477810
cmp al, 9
jne 0x477816
mov al, byte [ecx + 1]
inc ecx
jmp 0x477808
test al, al
je 0x477858
cmp al, 0x2d
je 0x477822
cmp al, 0x2b
jne 0x477829
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x477858
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x477838
cmp al, 0x58
jne 0x477858
movsx eax, byte [ecx + 2]
push eax
call fcn.004b99b0
add esp, 4
test eax, eax
je 0x477858
push 0x10
push 0
push edi
call fcn.004b9ad3
add esp, 0xc
jmp 0x477861
push edi
call fcn.004b9548
add esp, 4
cmp byte [ebx + 5], 0
mov edi, eax
mov eax, dword [sym.imp.USER32.dll_SendMessageA]
jge 0x477898
push 0
push 0
push 0x402
push dword [ebx]
call eax
push 0
push 0
push 0x401
push dword [ebx]
mov esi, eax
sub esi, edi
call dword [sym.imp.USER32.dll_SendMessageA]
lea edi, [esi + eax]
mov eax, dword [sym.imp.USER32.dll_SendMessageA]
push edi
push 1
push 0x405
push dword [ebx]
call eax
jmp case.0x4770c3.10
mov al, byte [edi]
cmp al, 0x2b
jne 0x477923
inc edi
mov ecx, edi
mov al, byte [ecx]
cmp al, 0x20
je 0x4778c0
cmp al, 9
jne 0x4778c3
inc ecx
jmp 0x4778b6
test al, al
je 0x477905
cmp al, 0x2d
je 0x4778cf
cmp al, 0x2b
jne 0x4778d6
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x477905
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x4778e5
cmp al, 0x58
jne 0x477905
movsx eax, byte [ecx + 2]
push eax
call fcn.004b99b0
add esp, 4
test eax, eax
je 0x477905
push 0x10
push 0
push edi
call fcn.004b9ad3
add esp, 0xc
jmp 0x47790e
push edi
call fcn.004b9548
add esp, 4
push 0
push eax
push 0x403
push dword [ebx]
call dword [sym.imp.USER32.dll_SendMessageA]
jmp case.0x4770c3.10
mov ecx, edi
cmp al, 0x20
je 0x47792d
cmp al, 9
jne 0x477933
mov al, byte [ecx + 1]
inc ecx
jmp 0x477925
test al, al
je 0x477975
cmp al, 0x2d
je 0x47793f
cmp al, 0x2b
jne 0x477946
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x477975
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x477955
cmp al, 0x58
jne 0x477975
movsx eax, byte [ecx + 2]
push eax
call fcn.004b99b0
add esp, 4
test eax, eax
je 0x477975
push 0x10
push 0
push edi
call fcn.004b9ad3
add esp, 0xc
jmp 0x47797e
push edi
call fcn.004b9548
add esp, 4
push 0
push eax
push 0x402
push dword [ebx]
call dword [sym.imp.USER32.dll_SendMessageA]
jmp case.0x4770c3.10
cmp cl, 8
jne 0x4779bc
cmp edx, 3
jne 0x4779bc
push 0
push 0xffffffffffffffff
push 0x14e
push dword [ebx]
call dword [sym.imp.USER32.dll_SendMessageA]
push edi
push dword [ebx]
call dword [sym.imp.USER32.dll_SetWindowTextA]
jmp case.0x4770c3.10
mov esi, dword [esp + 0x10]
mov al, byte [edi]
cmp al, byte [esi + 0x46]
jne 0x4779f1
inc edi
cmp cl, 9
je 0x4779df
cmp cl, 0x13
mov eax, 0x1309
mov edx, 0x14b
cmovne eax, edx
jmp 0x4779e4
mov eax, 0x184
push 0
push 0
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_SendMessageA]
push ecx
push 0
push edi
push ebx
mov ecx, esi
call fcn.00482420
cmp byte [ebx + 4], 0x13
jne case.0x4770c3.10
mov esi, dword [ebx]
push str.ahk_dlg
push esi
call dword [sym.imp.USER32.dll_GetPropA]
mov edi, eax
test edi, edi
je 0x477a4b
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x48]
push eax
push esi
call fcn.004885f0
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x48]
sub eax, edx
push 1
push eax
mov eax, dword [esp + 0x58]
sub eax, ecx
push eax
push edx
push ecx
push edi
call dword [sym.imp.USER32.dll_MoveWindow]
mov ecx, dword [esp + 0x10]
push 0
push ebx
call fcn.00488140
jmp case.0x4770c3.10
mov al, byte [edi]
mov esi, SysReAllocString
mov dword [esp + 0x30], CreateStatusWindowA
mov dword [esp + 0x24], CreateStatusWindowA
mov dword [esp + 0x18], esi
mov dword [esp + 0x2c], esi
test al, al
je 0x477b96
mov esi, dword [sym.imp.KERNEL32.dll_MulDiv]
inc edi
nop word [eax + eax]
movzx ebx, al
test ebx, 0xffffff80
jne 0x477aad
push 2
push ebx
call fcn.004b8e5e
add esp, 8
test eax, eax
je 0x477aad
and ebx, 0xffffffdf
movsx eax, bl
add eax, 0xffffffb8
cmp eax, 0x11
ja case.0x477ac3.73
movzx eax, byte [eax + 0x4785b0]
jmp dword [eax*4 + 0x47859c]
push edi
call fcn.004b9548
mov ecx, eax
add esp, 4
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], ecx
cmp byte [eax + 0xc8], 0
je case.0x477ac3.73
push 0x60
push dword [0x4ed800]
push ecx
call esi
mov dword [esp + 0x18], eax
jmp case.0x477ac3.73
push edi
call fcn.004b9548
mov ecx, eax
add esp, 4
mov eax, dword [esp + 0x10]
mov dword [esp + 0x2c], ecx
cmp byte [eax + 0xc8], 0
je case.0x477ac3.73
push 0x60
push dword [0x4ed800]
push ecx
call esi
mov dword [esp + 0x2c], eax
jmp case.0x477ac3.73
push edi
call fcn.004b9548
mov ecx, eax
add esp, 4
mov eax, dword [esp + 0x10]
mov dword [esp + 0x30], ecx
cmp byte [eax + 0xc8], 0
je case.0x477ac3.73
push 0x60
push dword [0x4ed800]
push ecx
call esi
mov dword [esp + 0x30], eax
jmp case.0x477ac3.73
push edi
call fcn.004b9548
mov ecx, eax
add esp, 4
mov eax, dword [esp + 0x10]
mov dword [esp + 0x24], ecx
cmp byte [eax + 0xc8], 0
je case.0x477ac3.73
push 0x60
push dword [0x4ed800]
push ecx
call esi
mov dword [esp + 0x24], eax
mov al, byte [edi]
inc edi
test al, al
jne 0x477a90
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x38]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x58]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_ScreenToClient]
cmp dword [esp + 0x30], 0x80000000
mov edx, dword [esp + 0x58]
cmovne edx, dword [esp + 0x30]
cmp dword [esp + 0x24], 0x80000000
mov edi, dword [esp + 0x5c]
cmovne edi, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], edi
cmp eax, 0x80000000
jne 0x477c06
mov ecx, dword [esp + 0x44]
sub ecx, dword [esp + 0x3c]
jmp 0x477c08
mov ecx, eax
cmp esi, 0x80000000
jne 0x477c1a
mov eax, dword [esp + 0x40]
sub eax, dword [esp + 0x38]
jmp 0x477c1c
mov eax, esi
push 1
push ecx
push eax
push edi
push edx
push dword [ebx]
call dword [sym.imp.USER32.dll_MoveWindow]
test eax, eax
je 0x477e91
mov al, byte [ebx + 4]
mov esi, dword [sym.imp.USER32.dll_InvalidateRect]
cmp al, 0x11
jne 0x477cae
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 1
push 0x421
push dword [ebx]
call esi
push 0
push 0
push 0x421
push dword [ebx]
mov dword [esp + 0x2c], eax
call esi
mov edi, eax
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x477c88
push eax
push 1
push 0x420
push dword [ebx]
call esi
mov eax, dword [esp + 0x1c]
push 1
push 0
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
test edi, edi
je 0x477d15
push edi
push 0
push 0x420
push dword [ebx]
call esi
mov esi, dword [sym.imp.USER32.dll_InvalidateRect]
push 1
push 0
push edi
call esi
jmp 0x477d1b
cmp al, 0x13
jne 0x477d1b
mov edi, dword [esp + 0x18]
xor eax, eax
cmp dword [esp + 0x2c], 0x80000000
mov esi, 2
push str.ahk_autosize
push dword [ebx]
cmove esi, eax
cmp edi, 0x80000000
setne al
or esi, eax
call dword [sym.imp.USER32.dll_GetPropA]
test esi, eax
je 0x477cf9
mov ecx, dword [ebx]
not esi
and eax, esi
je 0x477d01
push eax
push str.ahk_autosize
push ecx
call dword [sym.imp.USER32.dll_SetPropA]
mov esi, dword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x477d1f
push str.ahk_autosize
push ecx
call dword [sym.imp.USER32.dll_RemovePropA]
mov esi, dword [sym.imp.USER32.dll_InvalidateRect]
jmp 0x477d1f
mov esi, dword [sym.imp.USER32.dll_InvalidateRect]
mov edi, dword [esp + 0x18]
cmp dword [esp + 0x14], 5
jne 0x477d59
lea eax, [esp + 0x38]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_GetWindowRect]
push 2
lea eax, [esp + 0x3c]
push eax
mov eax, dword [esp + 0x18]
push dword [eax + 4]
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
push 1
lea eax, [esp + 0x3c]
push eax
mov eax, dword [esp + 0x18]
push dword [eax + 4]
call esi
mov eax, dword [esp + 0x30]
xor edx, edx
mov ecx, dword [esp + 0x10]
mov dword [ebx + 0x14], eax
mov eax, dword [esp + 0x24]
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0x2c]
mov dword [ebx + 0x1c], edi
xor edi, edi
mov dword [ebx + 0x20], eax
xor ebx, ebx
mov dword [esp + 0x1c], edx
cmp dword [ecx + 0x10], edx
jbe 0x477e2f
xor esi, esi
nop word [eax + eax]
mov eax, dword [ecx + 0x18]
cmp byte [eax + esi + 4], 0x19
je 0x477e22
lea ecx, [esp + 0x48]
push ecx
push dword [eax + esi]
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x24]
push eax
mov eax, dword [esp + 0x14]
push dword [eax + 4]
call dword [sym.imp.USER32.dll_ScreenToClient]
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xd0]
test eax, eax
je 0x477de1
mov eax, dword [eax + 0x14]
jmp 0x477de3
xor eax, eax
sub eax, dword [esp + 0x48]
add eax, dword [esp + 0x50]
add eax, dword [esp + 0x24]
mov ecx, dword [ecx + 0xcc]
test ecx, ecx
je 0x477dfe
mov ecx, dword [ecx + 0x14]
jmp 0x477e00
xor ecx, ecx
sub ecx, dword [esp + 0x4c]
add ecx, dword [esp + 0x54]
add ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x1c]
cmp eax, edx
cmovg edx, eax
cmp ecx, ebx
mov dword [esp + 0x1c], edx
cmovg ebx, ecx
mov ecx, dword [esp + 0x10]
inc edi
add esi, 0x40
cmp edi, dword [ecx + 0x10]
jb 0x477d90
cmp edx, dword [ecx + 0x90]
je 0x477e3d
mov dword [ecx + 0x90], edx
cmp ebx, dword [ecx + 0x94]
je 0x477e4b
mov dword [ecx + 0x94], ebx
test dword [ecx + 0x3c], 0x300000
je case.0x4770c3.10
lea eax, [esp + 0x48]
push eax
push dword [ecx + 4]
call dword [sym.imp.USER32.dll_GetClientRect]
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x10]
push 0
push dword [esp + 0x58]
call fcn.00475d30
add esp, 8
jmp case.0x4770c3.10
push dword [ebx]
call dword [sym.imp.USER32.dll_SetFocus]
test eax, eax
jne case.0x4770c3.10
mov eax, dword [0x4e88cc]
test byte [eax + 0xe0], 1
jne 0x4783b1
mov ecx, dword [0x4eb720]
push 1
push 0
push 0xffffffffffffffff
push 0x4d9c00
call fcn.004a2730
mov ebx, eax
jmp 0x4784cb
mov al, byte [ebx + 5]
cmp edx, 7
jne 0x477ecc
and al, 0xef
jmp 0x477ece
or al, 0x10
mov dl, byte [ebx + 6]
mov byte [ebx + 5], al
cmp dl, 0xff
je 0x477f41
mov esi, dword [esp + 0x10]
xor al, al
xor ecx, ecx
mov edi, dword [esi + 0x10]
test edi, edi
je 0x477f41
mov esi, dword [esi + 0x18]
nop dword [eax + eax]
cmp byte [esi + 4], 0x13
jne 0x477efc
cmp al, dl
je 0x477f06
inc al
inc ecx
add esi, 0x40
cmp ecx, edi
jb 0x477ef0
jmp 0x477f41
test esi, esi
je 0x477f41
push 0xfffffffffffffff0
push dword [esi]
call dword [sym.imp.USER32.dll_GetWindowLongA]
test eax, 0x8000000
jne case.0x4770c3.10
push 0
push 0
push 0x130b
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageA]
movzx ecx, byte [ebx + 7]
cmp eax, ecx
je 0x477f41
cmp eax, 0xffffffff
jne case.0x4770c3.10
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 4]
jne 0x477f85
mov esi, dword [ebx]
mov edi, dword [sym.imp.USER32.dll_GetFocus]
call edi
cmp eax, esi
jne 0x477f85
xor eax, eax
cmp dword [esp + 0x14], 7
sete al
push eax
push esi
call dword [sym.imp.USER32.dll_EnableWindow]
call edi
mov esi, dword [esp + 0x10]
test eax, eax
jne 0x477f9c
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SetFocus]
jmp 0x477f9c
xor eax, eax
cmp dword [esp + 0x14], 7
sete al
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_EnableWindow]
mov esi, dword [esp + 0x10]
cmp byte [ebx + 4], 0x13
jne case.0x4770c3.10
push 0
push ebx
mov ecx, esi
call fcn.00488140
jmp case.0x4770c3.10
mov al, byte [ebx + 5]
cmp edx, 9
jne 0x477fc1
and al, 0xf7
jmp 0x477fc3
or al, 8
mov dl, byte [ebx + 6]
mov esi, dword [esp + 0x10]
mov byte [ebx + 5], al
cmp dl, 0xff
je 0x478035
mov edi, dword [esi + 0x10]
xor al, al
xor ecx, ecx
test edi, edi
je 0x478035
mov esi, dword [esi + 0x18]
cmp byte [esi + 4], 0x13
jne 0x477fec
cmp al, dl
je 0x477ff6
inc al
inc ecx
add esi, 0x40
cmp ecx, edi
jb 0x477fe0
jmp 0x478031
test esi, esi
je 0x478031
push 0xfffffffffffffff0
push dword [esi]
call dword [sym.imp.USER32.dll_GetWindowLongA]
test eax, 0x10000000
je case.0x4770c3.10
push 0
push 0
push 0x130b
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageA]
movzx ecx, byte [ebx + 7]
cmp eax, ecx
je 0x478031
cmp eax, 0xffffffff
jne case.0x4770c3.10
mov esi, dword [esp + 0x10]
xor eax, eax
mov edx, 4
cmp dword [esp + 0x14], 9
cmove eax, edx
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_ShowWindow]
cmp byte [ebx + 4], 0x13
jne case.0x4770c3.10
push 0
push ebx
mov ecx, esi
call fcn.00488140
jmp case.0x4770c3.10
mov eax, dword [esp + 0x10]
lea esi, [edi + 1]
mov ch, byte [edi]
mov byte [esp + 0xf], ch
mov cl, byte [eax + 0x46]
cmp ch, cl
mov byte [esp + 0x23], cl
cmovne esi, edi
xor eax, eax
cmp ch, cl
sete al
cmp byte [ebx + 4], 0x13
mov dword [esp + 0x24], eax
jne 0x4781c2
cmp edx, 0xb
jne 0x4780b2
push 0
push 0
push 0
mov edx, 1
mov ecx, esi
call fcn.0049df30
add esp, 0xc
test eax, eax
jmp 0x4780b5
cmp edx, 0xc
jne 0x4780c4
push 0
push esi
push ebx
call fcn.004884f0
mov esi, eax
jmp 0x478121
mov ecx, esi
mov al, byte [ecx]
cmp al, 0x20
je 0x4780d0
cmp al, 9
jne 0x4780d3
inc ecx
jmp 0x4780c6
test al, al
je 0x478115
cmp al, 0x2d
je 0x4780df
cmp al, 0x2b
jne 0x4780e6
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x478115
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x4780f5
cmp al, 0x58
jne 0x478115
movsx eax, byte [ecx + 2]
push eax
call fcn.004b99b0
add esp, 4
test eax, eax
je 0x478115
push 0x10
push 0
push esi
call fcn.004b9ad3
add esp, 0xc
jmp 0x47811e
push esi
call fcn.004b9548
add esp, 4
lea esi, [eax - 1]
cmp esi, 0xff
ja 0x477e91
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0x130b
push dword [ebx]
call edi
mov dword [esp + 0x24], eax
mov al, byte [esp + 0xf]
cmp al, byte [esp + 0x23]
jne 0x478185
push 0xfffffffffffffff0
push dword [ebx]
call dword [sym.imp.USER32.dll_GetWindowLongA]
test eax, 0x100
jne 0x478185
push 0
push esi
push 0x1330
push dword [ebx]
call edi
push 0
push 0
push 0x130b
push dword [ebx]
call edi
cmp eax, esi
je case.0x4770c3.10
jmp 0x477e91
push 0
push esi
push 0x130c
push dword [ebx]
call edi
cmp eax, 0xffffffff
je 0x477e91
cmp dword [esp + 0x24], esi
je case.0x4770c3.10
mov al, byte [esp + 0xf]
cmp al, byte [esp + 0x23]
mov ecx, dword [esp + 0x10]
sete al
movzx eax, al
push eax
push ebx
call fcn.00488140
jmp case.0x4770c3.10
cmp byte [esi], cl
jne 0x4781d3
xor eax, eax
inc esi
cmp ch, cl
sete al
inc eax
mov dword [esp + 0x24], eax
cmp edx, 0xb
jne 0x4781ff
push 0
push 0
push 0
mov edx, 1
mov ecx, esi
call fcn.0049df30
mov edx, dword [esp + 0x20]
add esp, 0xc
test eax, eax
mov ecx, 0xc
cmove edx, ecx
mov dword [esp + 0x14], edx
movzx eax, byte [ebx + 4]
sub eax, 7
je 0x47825f
sub eax, 1
je 0x47825f
sub eax, 1
jne 0x477e91
push 0xfffffffffffffff0
push dword [ebx]
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov edx, dword [esp + 0x14]
test eax, 0x808
je 0x478245
cmp edx, 0xb
mov dword [esp + 0x30], 0x20000
mov ebx, 0x185
mov eax, 0x18f
cmovne ebx, eax
jmp 0x478275
cmp edx, 0xb
mov dword [esp + 0x30], 0x20000
mov ebx, 0x18c
mov eax, 0x186
cmove ebx, eax
jmp 0x478275
xor ebx, ebx
mov dword [esp + 0x30], 0x90000
cmp edx, 0xb
sete bl
add ebx, 0x14d
cmp edx, 0xc
jne 0x4782b3
mov edi, dword [esp + 0x34]
push esi
push 0xffffffffffffffff
mov eax, dword [edi]
cmp ebx, 0x18f
jne 0x4782ad
push ebx
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
push eax
call ebx
cmp eax, 0xffffffff
je 0x477e91
push eax
push 1
push 0x185
push dword [edi]
jmp 0x478336
push ebx
jmp 0x47832f
mov ecx, esi
mov al, byte [ecx]
cmp al, 0x20
je 0x4782bf
cmp al, 9
jne 0x4782c2
inc ecx
jmp 0x4782b5
test al, al
je 0x478304
cmp al, 0x2d
je 0x4782ce
cmp al, 0x2b
jne 0x4782d5
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x478304
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x4782e4
cmp al, 0x58
jne 0x478304
movsx eax, byte [ecx + 2]
push eax
call fcn.004b99b0
add esp, 4
test eax, eax
je 0x478304
push 0x10
push 0
push esi
call fcn.004b9ad3
add esp, 0xc
jmp 0x47830d
push esi
call fcn.004b9548
add esp, 4
lea esi, [eax - 1]
cmp esi, 0xffffffff
jl 0x477e91
mov edi, dword [esp + 0x34]
mov eax, dword [edi]
cmp ebx, 0x185
jne 0x478343
push esi
not esi
shr esi, 0x1f
push esi
push ebx
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
push eax
call ebx
cmp eax, 0xffffffff
je 0x477e91
jmp 0x47835d
push 0
push esi
push ebx
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
push eax
call ebx
cmp eax, 0xffffffff
jne 0x47835d
cmp esi, eax
jne 0x477e91
mov eax, dword [esp + 0x2c]
add eax, 3
cmp dword [esp + 0x24], 0
jbe case.0x4770c3.10
push dword [edi]
movzx esi, ax
mov eax, esi
or eax, 0x10000
push eax
mov eax, dword [esp + 0x18]
push 0x111
push dword [eax + 4]
call ebx
cmp dword [esp + 0x24], 1
mov eax, esi
jbe case.0x4770c3.10
push dword [edi]
or eax, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x18]
push 0x111
push dword [eax + 4]
call ebx
jmp case.0x4770c3.10
mov ecx, dword [esp + 0x1c]
push 0x4d5231
push 0
push 0x4d9c00
call fcn.0043e650
mov ebx, eax
jmp 0x4784cb
mov edi, dword [esp + 0x10]
mov eax, dword [0x4ecf5c]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
imul ecx, dword [edi + 0x50], 0x54
push dword [ecx + eax + 0x50]
push 0x30
push dword [ebx]
call esi
mov cl, byte [ebx + 4]
cmp cl, 2
je case.0x478421.12
cmp cl, 0x10
je case.0x478421.12
cmp cl, 0x11
je case.0x478421.12
cmp cl, 0x12
je case.0x478421.12
cmp cl, 0xa
je 0x478416
mov eax, dword [edi + 0x54]
mov dword [ebx + 0x10], eax
movzx eax, cl
add eax, 0xfffffff6
cmp eax, 4
ja case.0x478421.12
jmp dword [eax*4 + 0x4785c4]
push dword [edi + 0x54]
push 0
push 0x1024
push dword [ebx]
call esi
push 1
push 0
push dword [ebx]
jmp 0x4784c0
push dword [edi + 0x54]
push 0
push 0x111e
push dword [ebx]
call esi
push 1
push 0
push dword [ebx]
jmp 0x4784c0
push dword [edi + 0x54]
push 1
push 0x1006
push dword [ebx]
call esi
push 1
push 0
push dword [ebx]
jmp 0x4784c0
push dword [edi + 0x54]
push 1
push 0x100a
push dword [ebx]
call esi
push 1
push 0
push dword [ebx]
jmp 0x4784c0
test eax, eax
je case.0x4770c3.10
push dword [ebx]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je case.0x4770c3.10
lea eax, [esp + 0x38]
push eax
push dword [ebx]
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ebx, dword [esp + 0x10]
lea eax, [esp + 0x38]
push 2
push eax
push dword [ebx + 4]
push 0
call dword [sym.imp.USER32.dll_MapWindowPoints]
push 1
lea eax, [esp + 0x3c]
push eax
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_InvalidateRect]
mov ebx, 1
mov esi, dword [esp + 0x60]
test esi, esi
je 0x478506
mov eax, dword [0x4ec228]
test eax, eax
je 0x4784f7
push eax
call fcn.004b6427
add esp, 4
cmp dword [0x4ec224], 0x400000
jbe 0x4784f7
dec dword [0x4ec220]
mov eax, dword [esp + 0x64]
mov dword [0x4ec228], esi
mov dword [0x4ec224], eax
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret 0x10