Function at 0x440bd0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x168
mov eax, dword [ebp + 0x1c]
mov edx, dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbschr]
mov dword [esp + 0x1c], ecx
mov ecx, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov dword [esp + 0x34], ecx
mov ecx, dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
push esi
mov esi, dword [ebp + 8]
mov dword [esp + 0x18], ecx
mov ecx, dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
push edi
xor edi, edi
mov dword [esp + 0x10], ecx
cmp byte [ebp + 0x20], 0
mov ecx, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isxdigit]
mov dword [esp + 0x30], eax
mov byte [esp + 0xe], 0
mov byte [esp + 0xd], 0
mov byte [esp + 0xf], 0
mov dword [esp + 0x64], edx
mov dword [esp + 0x20], ecx
je 0x440daa
cmp byte [eax], 0
mov dword [esp + 8], esi
je 0x440f01
push 0x3a
push eax
call edx
mov edx, dword [esp + 0x38]
mov ecx, eax
add esp, 8
mov dword [esp + 0x14], ecx
mov esi, edx
nop word [eax + eax]
mov al, byte [esi]
cmp al, 0x20
je 0x440c6a
cmp al, 9
jne 0x440c6d
inc esi
jmp 0x440c60
test ecx, ecx
je 0x440d5c
mov edi, ecx
sub edi, edx
cmp edi, 0x20
jae 0x440d5a
push edi
push edx
lea eax, [esp + 0x78]
push eax
call dword [esp + 0x48]
add esp, 0xc
mov byte [esp + edi + 0x70], 0
xor edx, edx
lea ecx, [esp + 0x70]
push 0
push 1
push 0
call fcn.0049e590
add esp, 0xc
test eax, eax
je 0x440d5a
mov ecx, dword [esp + 0x14]
inc ecx
mov edx, ecx
mov al, byte [edx]
cmp al, 0x20
je 0x440cc2
cmp al, 9
jne 0x440cc5
inc edx
jmp 0x440cb8
test al, al
mov esi, edx
cmovne edx, ecx
lea ecx, [esp + 0x70]
mov dword [esp + 0x30], edx
mov al, byte [ecx]
cmp al, 0x20
je 0x440cde
cmp al, 9
jne 0x440ce1
inc ecx
jmp 0x440cd4
test al, al
je 0x440d25
cmp al, 0x2d
je 0x440ced
cmp al, 0x2b
jne 0x440cf4
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x440d25
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x440d03
cmp al, 0x58
jne 0x440d25
movsx eax, byte [ecx + 2]
push eax
call dword [esp + 0x24]
add esp, 4
test eax, eax
je 0x440d25
push 0x10
lea eax, [esp + 0x74]
push 0
push eax
call dword [esp + 0x28]
add esp, 0xc
jmp 0x440d31
lea eax, [esp + 0x70]
push eax
call dword [esp + 0x14]
add esp, 4
lea edi, [eax - 1]
test edi, edi
js 0x440d3d
cmp edi, 0xa
jl 0x440d5c
mov esi, dword [esp + 8]
mov ecx, dword [esp + 0x24]
push esi
push 0
push str.Max_window_number_is_10.
call fcn.0043eaa0
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x1c
xor edi, edi
push 0x4bb57c
push esi
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsicmp]
add esp, 8
test eax, eax
jne 0x440d81
mov edx, dword [esp + 0x30]
mov byte [esp + 0xe], 1
mov dword [esp + 0x2c], edx
jmp 0x440f09
push str.Show
push esi
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsicmp]
add esp, 8
test eax, eax
jne 0x440f01
mov edx, dword [esp + 0x30]
mov byte [esp + 0xd], 1
mov dword [esp + 0x2c], edx
jmp 0x440f09
push 0x3a
push esi
call edx
add esp, 8
mov dword [esp + 8], eax
mov ecx, esi
test eax, eax
je 0x440e26
nop dword [eax]
mov al, byte [ecx]
cmp al, 0x20
je 0x440dca
cmp al, 9
jne 0x440dcd
inc ecx
jmp 0x440dc0
test al, al
je 0x440e0d
cmp al, 0x2d
je 0x440dd9
cmp al, 0x2b
jne 0x440de0
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x440e0d
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x440def
cmp al, 0x58
jne 0x440e0d
movsx eax, byte [ecx + 2]
push eax
call dword [esp + 0x24]
add esp, 4
test eax, eax
je 0x440e0d
push 0x10
push 0
push esi
call dword [esp + 0x28]
add esp, 0xc
jmp 0x440e15
push esi
call dword [esp + 0x14]
add esp, 4
lea edi, [eax - 1]
cmp edi, 9
ja 0x440d41
mov ecx, dword [esp + 8]
inc ecx
mov al, byte [ecx]
cmp al, 0x20
je 0x440e25
cmp al, 9
je 0x440e25
mov esi, dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsicmp]
push 0x4bb57c
push ecx
mov dword [esp + 0x10], ecx
call esi
add esp, 8
test eax, eax
jne 0x440e5b
mov edx, dword [esp + 0x30]
mov byte [esp + 0xe], 1
mov dword [esp + 0x2c], edx
jmp 0x440f09
push str.Show
push dword [esp + 0xc]
call esi
add esp, 8
test eax, eax
jne 0x440e7f
mov edx, dword [esp + 0x30]
mov byte [esp + 0xd], 1
mov dword [esp + 0x2c], edx
jmp 0x440f09
mov esi, dword [esp + 8]
mov edx, 1
push 0
push 1
push 0
mov ecx, esi
call fcn.0049e590
add esp, 0xc
test eax, eax
je 0x440f01
mov ecx, esi
nop
mov al, byte [ecx]
cmp al, 0x20
je 0x440eaa
cmp al, 9
jne 0x440ead
inc ecx
jmp 0x440ea0
test al, al
je 0x440ef2
cmp al, 0x2d
je 0x440eb9
cmp al, 0x2b
jne 0x440ec0
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x440ef2
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x440ecf
cmp al, 0x58
jne 0x440ef2
movsx eax, byte [ecx + 2]
push eax
call dword [esp + 0x24]
add esp, 4
test eax, eax
je 0x440ef2
push 0x10
push 0
push esi
call dword [esp + 0x28]
add esp, 0xc
mov byte [esp + 0xf], 1
jmp 0x440f05
push esi
call dword [esp + 0x14]
add esp, 4
mov byte [esp + 0xf], 1
jmp 0x440f05
mov eax, dword [esp + 0x30]
mov dword [esp + 0x2c], eax
mov dl, byte [ebp + 0x20]
mov eax, 0x4ca9b0
test dl, dl
mov ecx, 0x4caca8
cmovne ecx, eax
imul edi, edi, 0x4c
add edi, ecx
mov dword [esp + 0x6c], edi
mov eax, dword [edi + 0x20]
test eax, eax
je 0x440f3c
push eax
call dword [sym.imp.USER32.dll_IsWindow]
mov dl, byte [ebp + 0x20]
test eax, eax
jne 0x440f3c
mov dword [edi + 0x20], eax
cmp byte [esp + 0xd], 0
je 0x440f5c
mov eax, dword [edi + 0x20]
test eax, eax
je 0x44208d
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jmp 0x442080
cmp byte [esp + 0xe], 0
jne 0x44100b
cmp dword [edi + 0x20], 0
je 0x44100b
mov eax, dword [esp + 0x30]
cmp byte [eax], 0
jne 0x44100b
mov al, byte [esp + 0xf]
test al, al
jne 0x440f93
mov eax, dword [esp + 8]
cmp byte [eax], 0
jne 0x44100b
mov al, byte [esp + 0xf]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
test dl, dl
jne 0x440fbf
test al, al
je 0x440fbf
mov ecx, dword [esp + 0x2c]
cmp dword [edi + 8], ecx
je 0x440fbf
mov eax, dword [edi + 0x2c]
mov dword [edi + 8], ecx
test eax, eax
je 0x440fbf
push 0
push ecx
push 0x402
push eax
call esi
mov eax, dword [ebp + 0x10]
cmp byte [eax], 0
je 0x440fd6
mov ecx, dword [edi + 0x30]
test ecx, ecx
je 0x440fd6
push eax
push 0
push 0xc
push ecx
call esi
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0
je 0x440fe8
push eax
push 0
push 0xc
push dword [edi + 0x34]
call esi
mov eax, dword [ebp + 0x14]
cmp byte [eax], 0
je 0x44208d
push eax
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov eax, 1
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x1c
mov eax, dword [edi + 0x20]
test eax, eax
je 0x441019
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
mov eax, dword [edi + 0x38]
mov esi, dword [sym.imp.GDI32.dll_DeleteObject]
mov dword [esp + 0x34], esi
test eax, eax
je 0x44102d
push eax
call esi
mov eax, dword [edi + 0x3c]
test eax, eax
je 0x441037
push eax
call esi
mov eax, dword [edi + 0x40]
test eax, eax
je 0x441041
push eax
call esi
mov eax, dword [edi + 0x28]
test eax, eax
je 0x441059
cmp dword [edi + 0x24], 0
push eax
jne 0x441053
call esi
jmp 0x441059
call dword [sym.imp.USER32.dll_DestroyIcon]
push 0x4c
push 0
push edi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
cmp byte [esp + 0xe], 0
jne 0x44208d
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x5c], ecx
cmp byte [ecx], 0
jne 0x441098
mov ecx, dword [0x4cce68]
mov dword [esp + 0x5c], ecx
test ecx, ecx
je 0x441090
cmp byte [ecx], 0
jne 0x441098
mov dword [esp + 0x5c], 0x4b6ba9
mov cl, byte [ebp + 0x20]
xor eax, eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x40], eax
mov eax, dword [sym.imp.KERNEL32.dll_MulDiv]
mov byte [esp + 0xe], 1
mov byte [esp + 0x19], 1
mov byte [esp + 0x1a], 1
mov byte [esp + 0x1b], 0
mov dword [esp + 0x28], 0x88c00000
mov dword [esp + 0x54], 8
mov dword [esp + 0x50], CreateStatusWindowA
mov dword [esp + 0x24], CreateStatusWindowA
mov dword [esp + 0x68], 0xff000000
mov dword [edi + 0x44], 0xff000000
mov dword [edi + 0x48], 0xff000000
mov dword [edi + 4], CreateStatusWindowA
mov dword [esp + 0x38], eax
test cl, cl
je 0x44111c
mov esi, SysReAllocString
mov eax, esi
jmp 0x441133
push 0x60
push dword [0x4cc818]
mov esi, 0x14
push 0x12c
call eax
mov cl, byte [ebp + 0x20]
mov dword [edi], eax
mov eax, dword [ebp + 0x10]
mov dword [edi + 0x1c], esi
mov dword [edi + 0x18], CreateStatusWindowA
cmp byte [eax], 0
mov eax, dword [ebp + 0xc]
jne 0x441159
cmp byte [eax], 0
jne 0x441159
test cl, cl
je 0x441159
xor eax, eax
xor ecx, ecx
jmp 0x441163
mov eax, 0xa
mov ecx, 5
mov dword [edi + 0x10], ecx
mov dword [edi + 0xc], eax
mov eax, dword [esp + 8]
mov al, byte [eax]
test al, al
je 0x44176e
mov esi, dword [esp + 8]
nop dword [eax + eax]
movzx eax, al
mov dword [esp + 0x14], eax
test eax, 0xffffff80
jne 0x4411a5
push 2
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
add esp, 8
test eax, eax
mov eax, dword [esp + 0x14]
je 0x4411a5
and eax, 0xffffffdf
movsx eax, al
add eax, 0xffffffbf
cmp eax, 0x19
ja case.0x4411bb.68
movzx eax, byte [eax + 0x4420dc]
jmp dword [eax*4 + 0x4420a4]
and dword [esp + 0x54], 0xfffffff7
jmp case.0x4411bb.68
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x28]
and edx, 0xff3fffff
mov dword [esp + 0x28], edx
mov al, byte [eax + 1]
cmp al, 0x31
jne 0x4411f4
or edx, 0x800000
mov dword [esp + 0x28], edx
jmp case.0x441710.67
mov esi, dword [esp + 8]
cmp al, 0x32
jne case.0x4411bb.68
or edx, 0x400000
mov dword [esp + 0x28], edx
jmp case.0x4411bb.68
mov ecx, dword [esp + 8]
mov al, byte [ecx + 1]
mov byte [esp + 0xd], al
test al, al
je case.0x441710.67
lea esi, [ecx + 1]
movzx ecx, al
mov dword [esp + 8], esi
test ecx, 0xffffff80
jne 0x44124a
push 2
push ecx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
add esp, 8
test eax, eax
mov al, byte [esp + 0xd]
je 0x44124a
and al, 0xdf
cmp al, 0x42
je 0x441270
cmp al, 0x54
je 0x441270
cmp al, 0x57
je 0x441270
mov eax, dword [esp + 8]
cmp byte [eax], 0x30
setne byte [esp + 0x1a]
cmp byte [eax + 1], 0x30
setne byte [esp + 0x19]
jmp 0x441389
push 0x1f
lea eax, [esi + 1]
push eax
lea eax, [esp + 0x78]
push eax
call dword [esp + 0x48]
mov dl, byte [esp + 0x7c]
lea esi, [esp + 0x7c]
add esp, 0xc
mov byte [esp + 0x8f], 0
test dl, dl
je 0x4412bd
mov ecx, 0x4bb7f4
mov al, 0x20
nop dword [eax]
cmp dl, al
je 0x4412b6
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x4412a0
mov dl, byte [esi + 1]
inc esi
test dl, dl
jne 0x441296
jmp 0x4412bd
test esi, esi
je 0x4412bd
mov byte [esi], 0
lea ecx, [esp + 0x70]
call fcn.0049f820
mov esi, eax
cmp esi, 0xffffffff
jne 0x441316
lea ecx, [esp + 0x70]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4412d4
movzx eax, byte [esp + 0x76]
sub ecx, edx
xor edx, edx
cmp ecx, 6
push 0x10
cmova eax, edx
mov byte [esp + 0x7a], al
lea eax, [esp + 0x74]
push edx
push eax
call dword [esp + 0x28]
movzx esi, ax
add esp, 0xc
movzx ecx, al
shr esi, 8
shl ecx, 8
or esi, ecx
shr eax, 0x10
shl esi, 8
movzx eax, al
or esi, eax
mov eax, dword [esp + 8]
mov al, byte [eax]
movzx ecx, al
mov byte [esp + 0xd], al
test ecx, 0xffffff80
jne 0x441341
push 2
push ecx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
add esp, 8
test eax, eax
mov al, byte [esp + 0xd]
je 0x441341
and al, 0xdf
cmp al, 0x42
je 0x441361
cmp al, 0x54
je 0x44135c
cmp al, 0x57
jne 0x441365
push esi
mov dword [edi + 0x44], esi
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov dword [edi + 0x40], eax
jmp 0x441365
mov dword [edi + 0x48], esi
jmp 0x441365
mov dword [esp + 0x68], esi
lea ecx, [esp + 0x70]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x441370
mov eax, dword [esp + 8]
sub ecx, edx
add eax, ecx
mov dword [esp + 8], eax
jmp 0x441389
mov eax, dword [esp + 8]
lea ecx, [eax + 1]
mov al, byte [ecx]
mov byte [esp + 0xd], al
test al, al
je case.0x441710.67
mov dword [esp + 8], ecx
movzx ecx, al
test ecx, 0xffffff80
jne 0x4413bf
push 2
push ecx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
add esp, 8
test eax, eax
mov al, byte [esp + 0xd]
je 0x4413bf
and al, 0xdf
cmp al, 0x4d
je 0x4413f7
cmp al, 0x53
jne case.0x441710.67
mov eax, dword [esp + 8]
inc eax
push eax
call dword [esp + 0x14]
mov esi, dword [esp + 0xc]
mov edx, eax
add esp, 4
mov dword [esp + 0x4c], edx
test edx, edx
jns case.0x4411bb.68
mov dword [esp + 0x4c], 0
jmp case.0x4411bb.68
mov eax, dword [esp + 8]
inc eax
push eax
call dword [esp + 0x14]
mov esi, dword [esp + 0xc]
mov edx, eax
add esp, 4
mov dword [esp + 0x48], edx
test edx, edx
jns case.0x4411bb.68
mov dword [esp + 0x48], 0
jmp case.0x4411bb.68
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 8]
and edx, 0xf7ffffff
mov ecx, edx
or ecx, 0x40000
mov al, byte [eax + 1]
cmp al, 0x31
cmovne ecx, edx
mov edx, ecx
or edx, 0xf0000
cmp al, 0x32
cmovne edx, ecx
mov dword [esp + 0x28], edx
jmp case.0x441710.67
mov eax, dword [esp + 8]
inc eax
push eax
call dword [esp + 0x14]
mov dword [esp + 0x30], eax
mov byte [esp + 0x13], 1
jmp 0x441757
mov ecx, dword [esp + 8]
inc ecx
mov al, byte [ecx]
test al, al
je case.0x441710.67
mov dword [esp + 8], ecx
cmp al, 0x20
je 0x44148a
cmp al, 9
jne 0x441490
mov al, byte [ecx + 1]
inc ecx
jmp 0x441482
test al, al
je 0x4414d7
cmp al, 0x2d
je 0x44149c
cmp al, 0x2b
jne 0x4414a3
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x4414d7
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x4414b2
cmp al, 0x58
jne 0x4414d7
movsx eax, byte [ecx + 2]
push eax
call dword [esp + 0x24]
add esp, 4
test eax, eax
je 0x4414d7
push 0x10
push 0
push dword [esp + 0x10]
call dword [esp + 0x28]
mov esi, dword [esp + 0x1c]
add esp, 0xc
jmp 0x4414e4
push dword [esp + 8]
mov esi, dword [esp + 0x14]
call esi
add esp, 4
mov dword [esp + 0x60], eax
mov eax, dword [esp + 8]
inc eax
push 0x2d
push eax
call dword [esp + 0x6c]
add esp, 8
test eax, eax
je case.0x441710.67
lea ecx, [eax + 1]
mov dword [esp + 8], eax
mov al, byte [ecx]
test al, al
je case.0x441710.67
mov dword [esp + 8], ecx
cmp al, 0x20
je 0x44151c
cmp al, 9
jne 0x441522
mov al, byte [ecx + 1]
inc ecx
jmp 0x441514
test al, al
je 0x44156c
cmp al, 0x2d
je 0x44152e
cmp al, 0x2b
jne 0x441535
lea eax, [ecx + 1]
mov ecx, eax
mov al, byte [eax]
cmp al, 0x30
jne 0x44156c
mov al, byte [ecx + 1]
cmp al, 0x78
je 0x441544
cmp al, 0x58
jne 0x44156c
movsx eax, byte [ecx + 2]
push eax
call dword [esp + 0x24]
add esp, 4
test eax, eax
je 0x44156c
push 0x10
push 0
push dword [esp + 0x10]
call dword [esp + 0x28]
add esp, 0xc
mov dword [esp + 0x44], eax
jmp case.0x441710.67
push dword [esp + 8]
call esi
mov dword [esp + 0x48], eax
jmp 0x441757
mov byte [esp + 0xe], 0
jmp case.0x4411bb.68
mov ecx, dword [esp + 8]
inc ecx
mov al, byte [ecx]
mov byte [esp + 0xd], al
test al, al
je case.0x441710.67
mov dword [esp + 8], ecx
movzx ecx, al
test ecx, 0xffffff80
jne 0x4415bd
push 2
push ecx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
add esp, 8
test eax, eax
mov al, byte [esp + 0xd]
je 0x4415bd
and al, 0xdf
cmp al, 0x4d
je 0x44161c
cmp al, 0x53
je 0x4415f0
push dword [esp + 8]
call dword [esp + 0x14]
add esp, 4
mov dword [edi], eax
cmp byte [ebp + 0x20], 0
jne case.0x441710.67
push 0x60
push dword [0x4cc818]
push eax
call dword [esp + 0x44]
mov dword [edi], eax
jmp case.0x441710.67
mov eax, dword [esp + 8]
inc eax
push eax
call dword [esp + 0x14]
mov esi, dword [esp + 0xc]
mov edx, eax
add esp, 4
mov dword [esp + 0x40], edx
test edx, edx
jns case.0x4411bb.68
mov dword [esp + 0x40], 0
jmp case.0x4411bb.68
mov eax, dword [esp + 8]
inc eax
push eax
call dword [esp + 0x14]
mov esi, dword [esp + 0xc]
mov edx, eax
add esp, 4
mov dword [esp + 0x58], edx
test edx, edx
jns case.0x4411bb.68
mov dword [esp + 0x58], 0
jmp case.0x4411bb.68
push 4
push str.Hide
push dword [esp + 0x10]
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsnbicmp]
add esp, 0xc
test eax, eax
jne 0x441671
mov esi, dword [esp + 8]
mov byte [esp + 0x1b], 1
add esi, 3
jmp case.0x4411bb.68
mov eax, dword [esp + 8]
inc eax
push eax
call dword [esp + 0x14]
add esp, 4
mov dword [edi + 4], eax
cmp byte [ebp + 0x20], 0
jne case.0x441710.67
push 0x60
push dword [0x4cc818]
push eax
call dword [esp + 0x44]
mov dword [edi + 4], eax
jmp case.0x441710.67
mov eax, dword [esp + 8]
inc eax
push eax
call dword [esp + 0x14]
mov dword [esp + 0x54], eax
jmp 0x441757
mov eax, dword [esp + 8]
inc eax
push eax
call dword [esp + 0x14]
mov dword [esp + 0x28], eax
jmp 0x441757
mov eax, dword [esp + 8]
inc eax
mov cl, byte [eax]
test cl, cl
je case.0x441710.67
mov dword [esp + 8], eax
movzx eax, cl
mov dword [esp + 0x14], eax
test eax, 0xffffff80
jne 0x4416fe
push 2
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__isctype]
add esp, 8
test eax, eax
mov eax, dword [esp + 0x14]
je 0x4416fe
and eax, 0xffffffdf
movsx eax, al
add eax, 0xffffffbe
cmp eax, 0x17
ja case.0x441710.67
movzx eax, byte [eax + 0x44210c]
jmp dword [eax*4 + 0x4420f8]
mov eax, dword [esp + 8]
inc eax
push eax
call dword [esp + 0x14]
mov dword [edi + 0x1c], eax
jmp 0x441757
cmp byte [ebp + 0x20], 0
je case.0x441710.67
mov eax, dword [esp + 8]
inc eax
push eax
call dword [esp + 0x14]
mov dword [edi + 0x18], eax
jmp 0x441757
mov eax, dword [esp + 8]
inc eax
push eax
call dword [esp + 0x14]
mov dword [edi + 0xc], eax
jmp 0x441757
mov eax, dword [esp + 8]
inc eax
push eax
call dword [esp + 0x14]
mov dword [edi + 0x10], eax
add esp, 4
mov esi, dword [esp + 8]
mov al, byte [esi + 1]
inc esi
mov dword [esp + 8], esi
test al, al
jne 0x441180
push 0
push 0
push 0
push str.DISPLAY
call dword [sym.imp.GDI32.dll_CreateDCA]
mov esi, eax
push 0x5a
push esi
mov dword [esp + 0x28], esi
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 0x11
mov dword [esp + 0x20], eax
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
push esi
mov dword [esp + 0x18], eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [esp + 0x64], eax
lea eax, [esp + 0xf0]
push eax
push 0x40
push esi
call dword [sym.imp.GDI32.dll_GetTextFaceA]
lea eax, [esp + 0x138]
push eax
push esi
call dword [sym.imp.GDI32.dll_GetTextMetricsA]
mov eax, dword [esp + 0x138]
mov dword [esp + 0x3c], eax
mov eax, dword [edi + 0x1c]
cmp eax, 1
jge 0x4417f4
cmp eax, 0x80000000
je 0x4417f8
mov ecx, dword [edi + 0x18]
cmp ecx, 1
jge 0x4417f4
cmp ecx, 0x80000000
jne 0x4417fe
test eax, eax
je 0x4417fe
cmp dword [edi + 0x18], 0
jne 0x44180e
mov dword [edi + 0x18], 0
xor eax, eax
mov dword [edi + 0x1c], 0
cmp byte [ebp + 0x20], 0
je 0x4419af
mov ecx, dword [esp + 0x30]
cmp byte [ecx], 0
je 0x4419af
test eax, eax
je 0x4419af
mov byte [esp + 8], 0
mov ecx, dword [esp + 0x30]
lea eax, [edi + 0x24]
push 0
push 0
push dword [esp + 0x10]
push 0
push eax
xor eax, eax
cmp dword [edi + 0x1c], 0x80000000
cmovne eax, dword [edi + 0x1c]
xor edx, edx
cmp dword [edi + 0x18], 0x80000000
push eax
cmovne edx, dword [edi + 0x18]
call fcn.0049fb70
add esp, 0x18
mov dword [edi + 0x28], eax
test eax, eax
jne 0x44187f
cmp byte [esp + 8], al
jne 0x4419af
mov byte [esp + 8], 1
jmp 0x441832
cmp dword [edi + 0x1c], 0
jl 0x44188f
cmp dword [edi + 0x18], 0
jge 0x4419af
cmp dword [edi + 0x24], 0
je 0x4418bb
lea ecx, [esp + 0xdc]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetIconInfo]
test eax, eax
je 0x4419af
mov eax, dword [esp + 0xec]
test eax, eax
je 0x4419af
lea ecx, [esp + 0x70]
push ecx
push 0x18
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
je 0x441993
mov eax, dword [edi + 0x1c]
cmp eax, 0xffffffff
jne 0x44191f
mov ecx, dword [edi + 0x18]
test ecx, ecx
jle 0x44191f
mov eax, dword [esp + 0x74]
test eax, eax
je 0x441980
movd xmm1, dword [esp + 0x78]
movd xmm0, eax
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
addsd xmm1, qword [0x4c2310]
cvttsd2si eax, xmm1
mov dword [edi + 0x1c], eax
jmp 0x441980
mov ecx, dword [edi + 0x18]
cmp ecx, 0xffffffff
jne 0x441963
test eax, eax
jle 0x441963
mov ecx, dword [esp + 0x78]
test ecx, ecx
je 0x441980
movd xmm1, dword [esp + 0x74]
cvtdq2pd xmm1, xmm1
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
addsd xmm1, qword [0x4c2310]
cvttsd2si eax, xmm1
jmp 0x44197d
cmp eax, 0x80000000
jne 0x441971
mov eax, dword [esp + 0x78]
mov dword [edi + 0x1c], eax
cmp ecx, 0x80000000
jne 0x441980
mov eax, dword [esp + 0x74]
mov dword [edi + 0x18], eax
cmp dword [edi], 0x80000000
jne 0x441993
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x18]
lea eax, [eax + ecx*2]
mov dword [edi], eax
cmp dword [edi + 0x24], 1
jne 0x4419af
push dword [esp + 0xec]
mov esi, dword [esp + 0x38]
call esi
push dword [esp + 0xe8]
call esi
mov ecx, dword [edi]
cmp ecx, 0x80000000
jne 0x4419ce
push 0x60
push dword [0x4cc818]
push 0x12c
call dword [esp + 0x44]
mov ecx, eax
mov dword [edi], ecx
cmp dword [edi + 0x1c], 0x80000000
jne 0x4419de
mov dword [edi + 0x1c], 0
mov eax, dword [edi + 4]
mov edx, 0x1f4
cmp eax, 0x80000000
cmove eax, edx
push eax
push ecx
push 0
push 0
lea eax, [esp + 0xb0]
push eax
call dword [sym.imp.USER32.dll_SetRect]
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 0x18]
cmp byte [eax], 0
je 0x441b43
cmp byte [esi], 0
lea eax, [esp + 0xf0]
mov ecx, dword [esp + 0x58]
movd xmm0, dword [esp + 0x3c]
cmovne eax, esi
mov dword [esp + 0x34], eax
test ecx, ecx
mov eax, 0x258
cmovne eax, ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x48]
cvtdq2pd xmm0, xmm0
test eax, eax
je 0x441a55
push 0x48
push dword [esp + 0x20]
push eax
call dword [esp + 0x44]
neg eax
jmp 0x441a61
mulsd xmm0, qword [0x4c2330]
cvttsd2si eax, xmm0
push dword [esp + 0x34]
push 0
push 2
push 0
push 4
push 1
push 0
push 0
push 0
push dword [esp + 0x38]
push 0
push 0
push 0
push eax
call dword [sym.imp.GDI32.dll_CreateFontA]
mov dword [edi + 0x38], eax
test eax, eax
jne 0x441ae6
mov eax, dword [esp + 0x48]
test eax, eax
je 0x441aa4
push 0x48
push dword [esp + 0x20]
push eax
call dword [esp + 0x44]
neg eax
jmp 0x441aba
movd xmm0, dword [esp + 0x3c]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x4c2330]
cvttsd2si eax, xmm0
lea ecx, [esp + 0xf0]
push ecx
push 0
push 2
push 0
push 4
push 1
push 0
push 0
push 0
push dword [esp + 0x38]
push 0
push 0
push 0
push eax
call dword [sym.imp.GDI32.dll_CreateFontA]
mov dword [edi + 0x38], eax
mov eax, dword [edi + 0x38]
test eax, eax
mov ecx, dword [esp + 0x10]
cmovne ecx, eax
push ecx
push dword [esp + 0x24]
call dword [sym.imp.GDI32.dll_SelectObject]
movaps xmm0, xmmword [esp + 0xa0]
mov ecx, dword [edi + 0xc]
movd eax, xmm0
movaps xmmword [esp + 0x90], xmm0
sub dword [esp + 0x98], ecx
add eax, ecx
push 0x450
mov dword [esp + 0x94], eax
lea eax, [esp + 0x94]
push eax
push 0xffffffffffffffff
push dword [ebp + 0x10]
push dword [esp + 0x30]
call dword [sym.imp.USER32.dll_DrawTextA]
mov dword [edi + 0x14], eax
mov ecx, dword [esp + 0x4c]
test ecx, ecx
jne 0x441b59
cmp dword [esp + 0x40], ecx
jne 0x441b59
test esi, esi
je 0x441be3
mov eax, dword [ebp + 0x18]
lea esi, [esp + 0xf0]
push 0x48
push dword [esp + 0x20]
cmp byte [eax], 0
push ecx
cmovne esi, eax
call dword [esp + 0x44]
push esi
push 0
push 2
push 0
mov esi, dword [sym.imp.GDI32.dll_CreateFontA]
neg eax
push 4
push 1
push 0
push 0
push 0
push dword [esp + 0x64]
push 0
push 0
push 0
push eax
call esi
mov dword [edi + 0x3c], eax
test eax, eax
jne 0x441be3
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x40]
test eax, eax
jne 0x441bb1
test ecx, ecx
je 0x441be3
lea edx, [esp + 0xf0]
push edx
push 0
push 2
push 0
push 4
push 1
push 0
push 0
push 0
push ecx
push 0
push 0
push 0
push 0x48
push dword [esp + 0x54]
push eax
call dword [esp + 0x78]
neg eax
push eax
call esi
mov dword [edi + 0x3c], eax
mov eax, dword [edi + 0x14]
mov ecx, dword [edi + 0x10]
test eax, eax
je 0x441bf1
add eax, ecx
jmp 0x441bf3
xor eax, eax
lea edx, [eax + ecx]
mov dword [esp + 0x34], 0
mov eax, dword [edi + 0x1c]
mov esi, ecx
test eax, eax
mov dword [esp + 0x3c], edx
cmove esi, dword [esp + 0x34]
add esi, eax
add esi, edx
cmp dword [edi + 4], 0x80000000
mov dword [esp + 0x14], esi
jne 0x441c96
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0
je 0x441c86
mov eax, dword [edi + 0x3c]
test eax, eax
mov ecx, dword [esp + 0x10]
cmovne ecx, eax
push ecx
push dword [esp + 0x24]
call dword [sym.imp.GDI32.dll_SelectObject]
movaps xmm0, xmmword [esp + 0xa0]
mov ecx, dword [edi + 0xc]
movd eax, xmm0
movaps xmmword [esp + 0x90], xmm0
sub dword [esp + 0x98], ecx
add eax, ecx
push 0x410
mov dword [esp + 0x94], eax
lea eax, [esp + 0x94]
push eax
push 0xffffffffffffffff
push dword [ebp + 0xc]
push dword [esp + 0x30]
call dword [sym.imp.USER32.dll_DrawTextA]
mov ecx, dword [edi + 0x10]
jmp 0x441c88
xor eax, eax
add eax, ecx
add eax, esi
mov dword [edi + 4], eax
mov dword [esp + 0xac], eax
push dword [esp + 0x64]
mov esi, dword [esp + 0x24]
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
push esi
call dword [sym.imp.GDI32.dll_DeleteDC]
test eax, eax
je 0x44209a
push dword [esp + 0x54]
movaps xmm0, xmmword [esp + 0xa4]
lea eax, [esp + 0xc4]
push 0
push dword [esp + 0x30]
movaps xmmword [esp + 0xcc], xmm0
push eax
call dword [sym.imp.USER32.dll_AdjustWindowRectEx]
mov esi, dword [esp + 0xc8]
lea eax, [esp + 0xb0]
mov edi, dword [esp + 0xcc]
sub esi, dword [esp + 0xc0]
sub edi, dword [esp + 0xc4]
push 0
push eax
push 0
push 0x30
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
mov eax, dword [esp + 0xb8]
sub eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xbc]
mov edx, eax
sub ecx, dword [esp + 0xb4]
cmp esi, eax
cmovle edx, esi
cmp edi, ecx
mov esi, ecx
mov dword [esp + 0x34], edx
cmovle esi, edi
cmp dword [esp + 0x50], 0x80000000
jne 0x441d56
sub eax, edx
cdq
sub eax, edx
sar eax, 1
add eax, dword [esp + 0xb0]
mov dword [esp + 0x50], eax
mov edi, dword [esp + 0x24]
cmp edi, 0x80000000
jne 0x441d74
sub ecx, esi
mov eax, ecx
cdq
sub eax, edx
mov edi, eax
sar edi, 1
add edi, dword [esp + 0xb4]
mov ecx, dword [0x4c8024]
lea ecx, [ecx + 0x4c]
call fcn.004766a0
test eax, eax
je 0x441d93
mov eax, dword [0x4c8024]
mov eax, dword [eax + 0x4c]
mov ecx, dword [eax + 4]
jmp 0x441d95
xor ecx, ecx
cmp byte [esp + 0xe], 0
je 0x441da8
mov eax, dword [0x4ca754]
test ecx, ecx
cmovne eax, ecx
jmp 0x441daa
xor eax, eax
push 0
push dword [0x4ca7b8]
push 0
push eax
push esi
push dword [esp + 0x48]
mov esi, dword [esp + 0x40]
push edi
push dword [esp + 0x6c]
push esi
push dword [esp + 0x80]
push str.AutoHotkey2
push dword [esp + 0x80]
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov edi, dword [esp + 0x6c]
mov dword [edi + 0x20], eax
test eax, eax
je 0x44209a
and esi, 0x80000
mov dword [esp + 0x28], esi
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
jne 0x441e05
cmp byte [esp + 0xe], 0
jne 0x441e5c
mov edx, dword [0x4ccebc]
mov dword [esp + 0x24], edx
test edx, edx
je 0x441e1b
mov edx, dword [0x4ccec0]
jmp 0x441e2b
mov ecx, dword [0x4ca8d8]
mov edx, dword [0x4ca8dc]
mov dword [esp + 0x24], ecx
cmp dword [esp + 0x28], 0
mov ecx, eax
je 0x441e42
push edx
push 0
push 0x80
push eax
call esi
mov ecx, dword [edi + 0x20]
cmp byte [esp + 0xe], 0
mov eax, ecx
jne 0x441e5c
push dword [esp + 0x24]
push 1
push 0x80
push ecx
call esi
mov eax, dword [edi + 0x20]
lea ecx, [esp + 0xa0]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
mov edx, dword [edi + 0xc]
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xa8]
mov dword [edi + 4], eax
lea eax, [edx + edx]
mov dword [edi], ecx
sub ecx, eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x24], ecx
cmp byte [eax], 0
je 0x441ee4
push 0
push dword [0x4ca7b8]
xor eax, eax
cmp byte [esp + 0x21], al
push 0
push dword [edi + 0x20]
setne al
push dword [edi + 0x14]
or eax, 0x50000080
push ecx
push dword [edi + 0x10]
push edx
push eax
push dword [ebp + 0x10]
push str.static
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov ecx, dword [edi + 0x38]
test ecx, ecx
mov edx, dword [esp + 0x10]
push 1
cmovne edx, ecx
mov dword [edi + 0x30], eax
push edx
push 0x30
push eax
call esi
mov edx, dword [edi + 0xc]
mov ecx, dword [esp + 0x24]
cmp byte [ebp + 0x20], 0
jne 0x442017
mov eax, dword [edi + 0x1c]
test eax, eax
jle 0x442017
push 0
push 0
push 0
push dword [edi + 0x20]
push eax
push ecx
push dword [esp + 0x54]
push edx
push 0x50000001
push 0
push str.msctls_progress32
push 0x200
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov edx, eax
mov dword [edi + 0x2c], edx
test edx, edx
je 0x442017
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x44]
test eax, eax
jne 0x441f3f
test ecx, ecx
je 0x441f77
jmp 0x441f4b
cmp eax, 0xffffffff
jle 0x441f6d
cmp eax, 0x10000
jge 0x441f6d
cmp ecx, 0xffffffff
jle 0x441f6d
cmp ecx, 0x10000
jge 0x441f6d
movzx ecx, cx
shl ecx, 0x10
movzx eax, ax
or ecx, eax
push ecx
push 0
push 0x401
jmp 0x441f74
push ecx
push eax
push 0x406
push edx
call esi
cmp dword [esp + 0x68], 0xff000000
je 0x441fd5
mov eax, dword [edi + 0x2c]
push str.uxtheme
mov dword [esp + 0x70], eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [esp + 0x34], eax
test eax, eax
je 0x441fc5
push str.SetWindowTheme
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x441fbb
push 0x4bbd0c
push 0x4bbd0c
push dword [esp + 0x74]
call eax
push dword [esp + 0x34]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push dword [esp + 0x68]
push 0
push 0x409
push dword [edi + 0x2c]
call esi
mov eax, dword [edi + 0x44]
cmp eax, 0xff000000
je 0x441fec
push eax
push 0
push 0x2001
push dword [edi + 0x2c]
call esi
cmp byte [esp + 0xf], 0
mov eax, dword [edi + 0x2c]
push 0
je 0x44200a
push dword [esp + 0x30]
push 0x402
push eax
call esi
mov eax, dword [esp + 0x2c]
jmp 0x442014
push 0
push 0x408
push eax
call esi
mov dword [edi + 8], eax
mov eax, dword [esp + 0xac]
sub eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x14]
sub eax, ecx
push 0
push dword [0x4ca7b8]
push 0
push dword [edi + 0x20]
push eax
push dword [esp + 0x38]
xor eax, eax
cmp byte [esp + 0x32], al
push ecx
push dword [edi + 0xc]
setne al
or eax, 0x50000080
push eax
push dword [ebp + 0xc]
push str.static
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [edi + 0x34], eax
test eax, eax
je 0x44207b
mov ecx, dword [edi + 0x3c]
test ecx, ecx
mov edx, dword [esp + 0x10]
push 1
cmovne edx, ecx
push edx
push 0x30
push eax
call esi
cmp byte [esp + 0x1b], 0
jne 0x44208d
push 4
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, 1
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x1c
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0x1c