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

Disassembly:
sub esp, 0x8a4
push ebx
push ebp
mov ebx, ecx
xor ebp, ebp
cmp ebx, ebp
mov dword [esp + 0xc], ebx
je 0x4588f3
mov ecx, dword [ebx + 0x1004]
call fcn.004dbea0
test eax, eax
jne 0x4588fe
pop ebp
xor eax, eax
pop ebx
add esp, 0x8a4
ret
push esi
mov esi, dword [sym.imp.USER32.dll_GetDialogBaseUnits]
push edi
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], ebp
mov dword [ebx + 0x170], ebp
call esi
movzx eax, ax
mov dword [esp + 0x4c], eax
call esi
mov esi, dword [0x59d080]
mov edi, dword [sym.imp.USER32.dll_SetRect]
push ebp
push ebp
push ebp
push ebp
lea ecx, [esp + 0x74]
shr eax, 0x10
push ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x44], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x24], esi
mov dword [esp + 0x40], ebp
call edi
push ebp
push ebp
push ebp
push ebp
lea edx, [esp + 0x2c]
push edx
call edi
mov eax, dword [ebx + 0xffc]
cmp eax, ebp
je 0x458980
cmp esi, ebp
je 0x458976
cmp dword [esi + 0x2c], eax
je 0x4589ae
mov esi, dword [esi + 0x40]
cmp esi, ebp
jne 0x458966
mov dword [esp + 0x10], esi
mov esi, dword [0x59d080]
mov dword [esp + 0x10], esi
cmp esi, ebp
je 0x458b77
jmp 0x458990
mov eax, dword [esp + 0x2c]
cmp eax, 1
jne 0x4589b8
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x2c]
cmp ecx, dword [ebx + 0xffc]
jne 0x458b82
jmp 0x4589d0
mov dword [esp + 0x2c], 1
jmp 0x45897c
cmp eax, 2
jne 0x4589d0
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x2c]
cmp eax, dword [ebx + 0xffc]
je 0x458b4e
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x10]
test eax, eax
je 0x458b4e
mov edx, ecx
mov eax, dword [edx + 0x30]
test eax, eax
mov dword [esp + 0x34], eax
je 0x458b4e
mov ecx, dword [eax + 0x28]
test ecx, ecx
jne 0x458b4e
mov ecx, eax
mov eax, dword [ecx]
cmp byte [eax], 0x20
jne 0x458a0d
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x458a04
cmp byte [eax], 0
je 0x458b4e
push 0x20
push eax
call fcn.00563730
mov edi, eax
add esp, 8
test edi, edi
je 0x458b4e
cmp byte [edi], 0x20
jne 0x458a38
mov al, byte [edi + 1]
inc edi
cmp al, 0x20
je 0x458a30
cmp byte [edi], 0
je 0x458b4e
push 3
push 0x574f18
push edi
call fcn.00572b89
add esp, 0xc
test eax, eax
jne 0x458a6b
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x2c]
cmp eax, dword [ebx + 0xffc]
jne 0x458b4e
add edi, 3
push 0x20
push edi
call fcn.00563730
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x458b4e
lea eax, [ebx + 0x64]
push eax
push edi
mov byte [ebp], 0
call fcn.00572b46
add esp, 8
test eax, eax
je 0x458b0e
push 1
push 0
lea edx, [ebx + 0x64]
mov ecx, edi
call fcn.00535d60
test eax, eax
jne 0x458b0e
push 0x2c
push edi
call fcn.00563730
mov esi, eax
add esp, 8
test esi, esi
je 0x458abb
mov byte [esi], 0
lea eax, [ebx + 0x64]
push eax
push edi
call fcn.00572b46
add esp, 8
test eax, eax
je 0x458b07
push 1
push 0
lea edx, [ebx + 0x64]
mov ecx, edi
call fcn.00535d60
test eax, eax
jne 0x458b07
test esi, esi
je 0x458b01
mov byte [esi], 0x2c
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x458af8
lea ecx, [ecx]
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x458af0
cmp byte [esi], 0
je 0x458b01
mov edi, esi
jmp 0x458aa7
mov byte [ebp], 0x20
jmp 0x458b4e
test esi, esi
je 0x458b0e
mov byte [esi], 0x2c
mov byte [ebp], 0x20
mov eax, dword [ebx + 0xc8]
test eax, eax
je 0x45ac06
cmp byte [ebp], 0x20
jne 0x458b2e
mov al, byte [ebp + 1]
inc ebp
cmp al, 0x20
je 0x458b26
cmp byte [ebp], 0x7b
jne 0x458b4e
mov al, byte [ebp + 1]
inc ebp
cmp al, 0x20
jne 0x458b48
lea esp, [esp]
mov al, byte [ebp + 1]
inc ebp
cmp al, 0x20
je 0x458b40
cmp byte [ebp], 0
je 0x458b9a
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x40]
test eax, eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], eax
je 0x458b77
mov ecx, dword [eax + 0x10]
test ecx, ecx
jne 0x458b91
mov eax, dword [eax + 0x40]
test eax, eax
jne 0x458b65
mov dword [esp + 0x10], eax
cmp dword [esp + 0x2c], 1
jne 0x45aba0
mov dword [esp + 0x2c], 2
xor ebp, ebp
jmp 0x458976
mov dword [esp + 0x10], eax
jmp 0x458990
mov edx, dword [esp + 0x34]
mov eax, dword [ebx + 0xc8]
mov esi, dword [edx + 0x40]
push 0
push 0
push 0x31
push eax
mov dword [esp + 0x44], esi
mov dword [esp + 0x70], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x84], 1
call dword [sym.imp.USER32.dll_SendMessageA]
test esi, esi
mov dword [esp + 0x7c], eax
je 0x45ab19
nop
mov eax, dword [esi + 0x28]
test eax, eax
jne 0x45aaf2
mov edx, dword [esp + 0x74]
mov ecx, dword [esi]
push 0
call fcn.004ee7d0
test eax, eax
mov dword [esp + 0x74], eax
je 0x45ab0d
mov eax, dword [esi]
cmp byte [eax], 0x20
jne 0x458c19
jmp 0x458c10
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x458c10
cmp byte [eax], 0
je 0x45aaf2
mov edx, 0x58f8d0
sub edx, eax
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x458c30
push 0x20
push 0x58f8d0
call fcn.00563730
mov edi, eax
add esp, 8
test edi, edi
je 0x45aaf2
mov byte [edi], 0
mov al, byte [edi + 1]
inc edi
cmp al, 0x20
jne 0x458c68
mov edi, edi
mov al, byte [edi + 1]
inc edi
cmp al, 0x20
je 0x458c60
cmp byte [edi], 0
je 0x45aaf2
push str.title
push 0x58f8d0
mov esi, 0x574b10
call fcn.00572b46
add esp, 8
test eax, eax
jne 0x458d3c
cmp byte [edi], 0x22
jne 0x458cc1
inc edi
push 0x22
push edi
call fcn.00563730
add esp, 8
test eax, eax
je 0x45a99e
mov edx, 0x5990e0
mov byte [eax], 0
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x458cb5
jmp 0x458d02
mov edx, 0x5990e0
mov eax, edi
sub edx, edi
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x458cd0
mov eax, dword [ebx + 0x1004]
mov ecx, dword [ebx + 0xffc]
push eax
push ecx
mov ecx, dword [eax]
push 1
push 0
push 0
mov edx, 0x5990e0
call fcn.0047c640
test eax, eax
je 0x45a99e
mov al, byte [0x5990e0]
test al, al
jne 0x458d21
mov edx, dword [0x5747a0]
mov al, byte [0x5747a4]
mov dword [0x5990e0], edx
mov byte [0x5990e4], al
mov ebx, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc8]
push 0x5990e0
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextA]
jmp 0x45aaf2
push str.icon
push 0x58f8d0
call fcn.00572b46
add esp, 8
test eax, eax
jne 0x458e94
mov edx, 0x5994c8
mov eax, edi
sub edx, edi
nop
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x458d60
cmp byte [0x5994c8], 0x22
jne 0x458dd3
push 0x22
push 0x5994c9
call fcn.00563730
mov esi, eax
add esp, 8
test esi, esi
je 0x45a99e
mov byte [esi], 0
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x458d9f
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x458d97
cmp byte [esi], 0x2c
jne 0x458db8
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x458db8
lea esp, [esp]
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x458db0
xor eax, eax
lea ebx, [ebx]
mov cl, byte [eax + 0x5994c9]
mov byte [eax + 0x5990e0], cl
inc eax
test cl, cl
jne 0x458dc0
jmp 0x458e4a
push 0x2c
push 0x5994c8
call fcn.00563730
mov esi, eax
add esp, 8
test esi, esi
je 0x458e0a
mov byte [esi], 0
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x458dfb
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x458df3
cmp byte [esi], 0
je 0x45a99e
mov ebx, dword [esp + 0x14]
jmp 0x458e0f
mov esi, 0x574b10
xor eax, eax
mov cl, byte [eax + 0x5994c8]
mov byte [eax + 0x5990e0], cl
inc eax
test cl, cl
jne 0x458e11
mov eax, dword [ebx + 0x1004]
mov edx, dword [ebx + 0xffc]
mov ecx, dword [eax]
push eax
push edx
push 1
push 0
push 0
mov edx, 0x5990e0
call fcn.0047c640
test eax, eax
je 0x45a99e
mov ecx, 0x5990e0
call fcn.004ed210
test eax, eax
jne 0x458e90
test esi, esi
je 0x458e6e
cmp byte [esi], 0
je 0x458e6e
push esi
call fcn.00563a6c
add esp, 4
test eax, eax
jge 0x458e70
xor eax, eax
mov ebx, dword [esp + 0x14]
push 0
push 0
push 0
push 1
push eax
push 0x5990e0
xor edx, edx
mov ecx, ebx
call fcn.00457920
jmp 0x45aaf2
mov ebx, dword [esp + 0x14]
push str.size
push 0x58f8d0
call fcn.00572b46
add esp, 8
test eax, eax
jne 0x458f81
mov edx, 0x5990e0
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x458eb7
mov eax, dword [ebx + 0x1004]
mov ecx, dword [ebx + 0xffc]
push eax
push ecx
mov ecx, dword [eax]
push 1
push 0
push 0
mov edx, 0x5990e0
call fcn.0047c640
test eax, eax
je 0x45a99e
xor eax, eax
jmp 0x458ef0
mov cl, byte [eax + 0x5990e0]
mov byte [eax + 0x58f8d0], cl
inc eax
test cl, cl
jne 0x458ef0
mov ecx, dword [esp + 0x14]
lea edx, [ecx + 0xd0]
push edx
mov edx, 0x58f8d0
call fcn.00458680
test eax, eax
je 0x45a99e
mov ebx, dword [esp + 0x14]
mov eax, dword [ebx + 0xd8]
cmp eax, 0xffffffff
je 0x458f4b
mov ecx, dword [ebx + 0x170]
test ecx, ecx
je 0x458f4b
imul eax, dword [esp + 0x4c]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [ebx + 0xd8], eax
mov eax, dword [ebx + 0xdc]
cmp eax, 0xffffffff
je 0x458f74
mov ecx, dword [ebx + 0x170]
test ecx, ecx
je 0x458f74
imul eax, dword [esp + 0x3c]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [ebx + 0xdc], eax
mov dword [esp + 0x60], 1
jmp 0x45aaf2
push str.option
push 0x58f8d0
call fcn.00572b46
add esp, 8
test eax, eax
jne 0x4590ae
mov edx, 0x5990e0
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x458fa4
mov eax, dword [ebx + 0x1004]
mov ecx, dword [ebx + 0xffc]
push eax
push ecx
mov ecx, dword [eax]
push 1
push 0
push 0
mov edx, 0x5990e0
call fcn.0047c640
test eax, eax
je 0x45a99e
xor eax, eax
jmp 0x458fe0
mov cl, byte [eax + 0x5990e0]
mov byte [eax + 0x58f8d0], cl
inc eax
test cl, cl
jne 0x458fe0
push 0x58f8d0
call fcn.00572bde
push 0x5772b0
push 0x58f8d0
call fcn.00563db0
mov ebx, dword [esp + 0x20]
add esp, 0xc
test eax, eax
je 0x459065
mov eax, dword [esp + 0x60]
test eax, eax
mov dword [ebx + 0x170], 1
je 0x459065
mov eax, dword [ebx + 0xd8]
cmp eax, 0xffffffff
je 0x459046
imul eax, dword [esp + 0x4c]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [ebx + 0xd8], eax
mov eax, dword [ebx + 0xdc]
cmp eax, 0xffffffff
je 0x459065
imul eax, dword [esp + 0x3c]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [ebx + 0xdc], eax
push str.pixels
push 0x58f8d0
call fcn.00563db0
add esp, 8
test eax, eax
je 0x459085
mov dword [ebx + 0x170], 0
push str.notheme
push 0x58f8d0
call fcn.00563db0
add esp, 8
test eax, eax
je 0x45aaf2
mov dword [ebx + 0x15c], 1
jmp 0x45aaf2
push str.list
push 0x58f8d0
mov dword [esp + 0x20], 0
mov byte [0x5994c8], 0
call fcn.00572b46
add esp, 8
test eax, eax
je 0x459258
push str.combo
push 0x58f8d0
call fcn.00572b46
add esp, 8
test eax, eax
je 0x459258
push str.icon
push 0x58f8d0
call fcn.00572b46
add esp, 8
test eax, eax
je 0x459258
cmp byte [edi], 0x22
jne 0x4591a5
inc edi
push 0x22
push edi
call fcn.00563730
mov esi, eax
add esp, 8
test esi, esi
je 0x45a99e
mov byte [esi], 0
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x45913d
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x459135
cmp byte [esi], 0x2c
jne 0x459158
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x459158
lea ebx, [ebx]
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x459150
cmp byte [esi], 0
jne 0x45918d
push 0x57728c
push 0x58f8d0
call fcn.00572b46
add esp, 8
test eax, eax
je 0x45918d
push str.item
push 0x58f8d0
call fcn.00572b46
add esp, 8
test eax, eax
jne 0x45a99e
mov edx, 0x5994c8
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x459196
jmp 0x459252
push 0x2c
push edi
call fcn.00563730
mov esi, eax
add esp, 8
test esi, esi
je 0x4591d8
mov byte [esi], 0
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x4591c9
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x4591c1
cmp byte [esi], 0
je 0x45a99e
mov ebx, dword [esp + 0x14]
jmp 0x459211
push 0x57728c
push 0x58f8d0
call fcn.00572b46
add esp, 8
test eax, eax
je 0x45920c
push str.item
push 0x58f8d0
call fcn.00572b46
add esp, 8
test eax, eax
jne 0x45a99e
mov ebx, dword [esp + 0x14]
mov esi, 0x574b10
mov edx, 0x5994c8
mov eax, edi
sub edx, edi
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x459220
mov eax, dword [ebx + 0x1004]
mov edx, dword [ebx + 0xffc]
mov ecx, dword [eax]
push eax
push edx
push 1
push 0
push 0
mov edx, 0x5994c8
call fcn.0047c640
test eax, eax
je 0x45a99e
mov ebx, dword [esp + 0x14]
mov edi, esi
push 0x57727c
push 0x58f8d0
call fcn.00572b46
add esp, 8
test eax, eax
jne 0x45928e
mov eax, dword [esp + 0x30]
test eax, eax
je 0x45928e
cmp byte [edi], 0
mov esi, edi
je 0x45931a
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x459281
jmp 0x45931a
push 0x57728c
push 0x58f8d0
call fcn.00572b46
add esp, 8
test eax, eax
je 0x459309
push str.item
push 0x58f8d0
call fcn.00572b46
add esp, 8
test eax, eax
je 0x459309
push 0x2c
push edi
call fcn.00563730
mov esi, eax
add esp, 8
test esi, esi
je 0x45a99e
mov byte [esi], 0
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x4592e8
lea ebx, [ebx]
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x4592e0
cmp byte [esi], 0
je 0x45a99e
push 0x20
push edi
call fcn.00563730
mov ebx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x45931a
mov byte [eax], 0
jmp 0x45931a
test esi, esi
je 0x4594e6
cmp byte [esi], 0
je 0x4594e6
lea edx, [esp + 0xe4]
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x459325
mov eax, dword [ebx + 0x1004]
mov ecx, dword [ebx + 0xffc]
push eax
push ecx
mov ecx, dword [eax]
push 1
push 0
push 0
lea edx, [esp + 0xf8]
call fcn.0047c640
test eax, eax
je 0x45a99e
lea edx, [esp + 0xe4]
push edx
call fcn.00563a6c
mov edi, eax
add esp, 4
cmp edi, 1
jl 0x45abad
cmp edi, 0xbb8
jg 0x45abad
mov ebx, dword [esp + 0x14]
mov eax, dword [ebx + 0xc8]
add edi, 0x1770
push edi
push eax
mov dword [esp + 0x20], edi
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
jne 0x45ab7a
mov edx, edi
mov ecx, ebx
call fcn.004585b0
test eax, eax
jne 0x45ab7a
push 0x57727c
push 0x58f8d0
call fcn.00572b46
add esp, 8
test eax, eax
jne 0x459468
mov eax, dword [esp + 0x30]
cmp eax, 0x28
jge 0x45a99e
test eax, eax
je 0x459405
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
jmp 0x4594a4
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x1c]
push edx
mov edx, esi
call fcn.00458680
mov edx, dword [esp + 0x20]
mov esi, eax
mov eax, dword [esp + 0x24]
add edx, 5
cmp eax, 0xa
mov dword [esp + 0x20], edx
jge 0x459430
mov eax, 0xa
mov ecx, dword [esp + 0x28]
cmp ecx, 8
jge 0x45943e
mov ecx, 8
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ecx
mov dword [esp + 0x24], 0x14
mov dword [esp + 0x28], 8
jmp 0x4594a4
push 0x57728c
push 0x58f8d0
call fcn.00572b46
add esp, 8
test eax, eax
je 0x4594a4
push str.item
push 0x58f8d0
call fcn.00572b46
add esp, 8
test eax, eax
je 0x4594a4
lea eax, [esp + 0x1c]
push eax
mov edx, esi
mov ecx, ebx
call fcn.00458680
mov esi, eax
test esi, esi
je 0x45a99e
push 0x2c
push esi
call fcn.00563730
mov esi, eax
add esp, 8
test esi, esi
je 0x4594dd
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x4594cd
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x4594c5
cmp byte [esi], 0
je 0x4594e2
push esi
call fcn.00572bde
add esp, 4
jmp 0x4594e2
mov esi, 0x574b10
mov ebx, dword [esp + 0x14]
xor eax, eax
push str.disable
mov edi, 0x40000000
push esi
mov dword [esp + 0x18], edi
mov dword [esp + 0x50], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x4c], eax
call fcn.00563db0
add esp, 8
test eax, eax
je 0x459520
mov edi, 0x48000000
mov dword [esp + 0x10], edi
push 0x575240
push esi
call fcn.00563db0
add esp, 8
test eax, eax
jne 0x45953c
or edi, 0x10000000
mov dword [esp + 0x10], edi
push str.group
push esi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x459558
or edi, 0x20000
mov dword [esp + 0x10], edi
push str.result
push esi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x459574
mov ecx, dword [esp + 0x18]
mov dword [ebx + 0xe8], ecx
mov edx, dword [esp + 0x18]
push edx
mov edx, esi
mov ecx, ebx
call fcn.00458770
test eax, eax
je 0x45a99e
push 0x57727c
push esi
call fcn.00563db0
push 0x57727c
push 0x58f8d0
mov dword [esp + 0x88], eax
call fcn.00572b46
add esp, 0x10
test eax, eax
jne 0x4595e3
mov eax, dword [str.Static]
mov cx, word [0x577268]
mov dl, byte [0x57726a]
mov dword [0x5990e0], eax
mov word [0x5990e4], cx
mov byte [0x5990e6], dl
mov dword [esp + 0x10], 0x48000000
jmp 0x45a4b3
push 0x57728c
push 0x58f8d0
call fcn.00572b46
add esp, 8
test eax, eax
jne 0x459749
mov ebx, dword [esp + 0x14]
mov eax, dword [ebx + 0xfe0]
test eax, eax
jne 0x45963e
mov eax, dword [ebx + 0xc8]
push eax
call dword [sym.imp.USER32.dll_GetMenu]
test eax, eax
jne 0x45962a
call dword [sym.imp.USER32.dll_CreateMenu]
test eax, eax
je 0x45a99e
mov ecx, dword [ebx + 0xc8]
push eax
push ecx
mov dword [ebx + 0xfe0], eax
call dword [sym.imp.USER32.dll_SetMenu]
cmp byte [esi], 0
mov edx, dword [ebx + 0xfe0]
mov dword [esp + 0x50], edx
je 0x4596bb
lea edx, [esp + 0xe4]
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x459658
mov eax, dword [ebx + 0x1004]
mov ecx, dword [ebx + 0xffc]
push eax
push ecx
mov ecx, dword [eax]
push 1
push 0
push 0
lea edx, [esp + 0xf8]
call fcn.0047c640
test eax, eax
je 0x45a99e
lea edx, [esp + 0xe4]
push edx
call fcn.00563a6c
mov ecx, dword [esp + 0x18]
mov edx, eax
add esp, 4
add edx, 0x1770
call fcn.00458610
test eax, eax
mov dword [esp + 0x50], eax
je 0x45a99e
mov ebx, ecx
call dword [sym.imp.USER32.dll_CreatePopupMenu]
mov esi, eax
test esi, esi
je 0x45973d
push 0xc
call fcn.005635a3
add esp, 4
test eax, eax
je 0x45973d
mov ecx, dword [esp + 0x18]
mov dword [eax + 4], ecx
add ecx, 0xffffe890
mov dword [eax], esi
mov dword [eax + 8], 0
mov dword [esp + 0x54], ecx
mov ecx, dword [ebx + 0xfe4]
test ecx, ecx
jne 0x459705
mov dword [ebx + 0xfe4], eax
jmp 0x459715
mov edx, dword [ecx + 8]
test edx, edx
je 0x459712
mov ecx, edx
test ecx, ecx
jne 0x459705
mov dword [ecx + 8], eax
push 0
mov edx, 0x10
mov ecx, 0x5994c8
call fcn.004cc4b0
push 0x5994c8
push esi
push eax
mov eax, dword [esp + 0x5c]
push eax
call dword [sym.imp.USER32.dll_AppendMenuA]
jmp 0x45aaf2
push esi
call dword [sym.imp.USER32.dll_DestroyMenu]
jmp 0x45aaf2
push str.item
push 0x58f8d0
call fcn.00572b46
add esp, 8
test eax, eax
jne 0x459913
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0xfe0]
test eax, eax
je 0x45a99e
mov eax, dword [esp + 0x18]
test eax, eax
je 0x45a99e
mov al, byte [esi]
xor ebx, ebx
test al, al
je 0x45985c
movzx edx, al
push edx
call fcn.00564077
add esp, 4
test eax, eax
je 0x4597ba
push 0x2c
push esi
call fcn.00563730
mov edi, eax
add esp, 8
test edi, edi
je 0x4597f0
mov byte [edi], bl
mov al, byte [edi + 1]
inc edi
test al, al
je 0x4597f0
jmp 0x4597bc
mov edi, esi
test edi, edi
je 0x4597f0
push 0x577260
push edi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x4597d9
mov ebx, 1
jmp 0x4597f0
push str.cancel
push edi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x4597f0
mov ebx, 2
cmp byte [esi], 0
je 0x45985c
mov ecx, esi
call fcn.004ed210
test eax, eax
je 0x45985c
lea edx, [esp + 0xe4]
mov eax, esi
sub edx, esi
jmp 0x459810
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x459810
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x1004]
mov ecx, dword [ecx + 0xffc]
push eax
push ecx
mov ecx, dword [eax]
push 1
push 0
push 0
lea edx, [esp + 0xf8]
call fcn.0047c640
test eax, eax
je 0x45a99e
lea edx, [esp + 0xe4]
push edx
call fcn.00563a6c
add esp, 4
mov esi, eax
jmp 0x45986a
mov eax, dword [esp + 0x54]
test eax, eax
je 0x45a99e
mov esi, eax
mov ecx, dword [esp + 0x14]
lea edx, [esi + 0x1770]
call fcn.00458610
mov edi, eax
test edi, edi
je 0x45a99e
mov al, byte [0x5994c8]
test al, al
mov dword [esp + 0x54], esi
jne 0x459899
mov word [0x5994c8], 0x20
push str.break
push 0x5994c8
call fcn.00572b46
add esp, 8
test eax, eax
jne 0x4598c7
push 0x574b10
push eax
push 0x800
push edi
call dword [sym.imp.USER32.dll_AppendMenuA]
mov esi, dword [esp + 0x18]
jmp 0x4598e7
push 0
xor edx, edx
mov ecx, 0x5994c8
call fcn.004cc4b0
mov esi, dword [esp + 0x18]
push 0x5994c8
push esi
push eax
push edi
call dword [sym.imp.USER32.dll_AppendMenuA]
cmp ebx, 1
jne 0x4598fb
mov ebx, dword [esp + 0x14]
mov dword [ebx + 0xe0], esi
jmp 0x45aaf2
cmp ebx, 2
mov ebx, dword [esp + 0x14]
jne 0x45aaf2
mov dword [ebx + 0xe4], esi
jmp 0x45aaf2
push str.text
push 0x58f8d0
call fcn.00572b46
add esp, 8
test eax, eax
jne 0x4599af
mov eax, dword [str.Static]
mov cx, word [0x577268]
mov dl, byte [0x57726a]
push str.center
push esi
mov dword [0x5990e0], eax
mov word [0x5990e4], cx
mov byte [0x5990e6], dl
call fcn.00563db0
add esp, 8
test eax, eax
je 0x45996f
or edi, 1
mov dword [esp + 0x10], edi
jmp 0x45a4b3
push str.right
push esi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x45998d
or edi, 2
mov dword [esp + 0x10], edi
jmp 0x45a4b3
push str.nowrap
push esi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x45a4b3
or edi, 0xc
mov dword [esp + 0x10], edi
jmp 0x45a4b3
push str.link
push 0x58f8d0
call fcn.00572b46
add esp, 8
test eax, eax
jne 0x459a64
mov eax, dword [str.Static]
mov cx, word [0x577268]
mov dl, byte [0x57726a]
push str.center
push esi
mov dword [0x5990e0], eax
mov word [0x5990e4], cx
mov byte [0x5990e6], dl
mov dword [esp + 0x18], 0x40000000
call fcn.00563db0
add esp, 8
test eax, eax
je 0x459a11
mov dword [esp + 0x10], 0x40000001
jmp 0x459a2b
push str.right
push esi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x459a2b
mov dword [esp + 0x10], 0x40000002
push 0x575240
push esi
call fcn.00563db0
add esp, 8
test eax, eax
jne 0x459a4f
push str.disable
push esi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x459a57
or dword [esp + 0x10], 0x8000000
mov dword [esp + 0x58], 1
jmp 0x45a4b3
push str.edit
push 0x58f8d0
call fcn.00572b46
add esp, 8
test eax, eax
jne 0x459bd5
mov eax, dword [str.Edit]
mov cl, byte [0x57722c]
mov edx, dword [esp + 0x14]
mov dword [0x5990e0], eax
mov byte [0x5990e4], cl
mov eax, dword [edx + 0x15c]
or edi, 0x10000
test eax, eax
mov dword [esp + 0x10], edi
jne 0x459ab7
xor ecx, ecx
call fcn.00532550
test eax, eax
jne 0x459ac1
or edi, 0x800000
mov dword [esp + 0x10], edi
push str.center
push esi
mov dword [esp + 0x50], 0x200
call fcn.00563db0
add esp, 8
test eax, eax
je 0x459ae0
or edi, 1
jmp 0x459af5
push str.right
push esi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x459af9
or edi, 2
mov dword [esp + 0x10], edi
push str.read
push esi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x459b15
or edi, 0x800
mov dword [esp + 0x10], edi
push str.multi
push esi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x459b2e
or edi, 4
mov dword [esp + 0x10], edi
push str.pass
push esi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x459b47
or edi, 0x20
mov dword [esp + 0x10], edi
push str.return
push esi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x459b63
or edi, 0x1000
mov dword [esp + 0x10], edi
push str.hsbar
push esi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x459b7f
or edi, 0x100000
mov dword [esp + 0x10], edi
push str.vsbar
push esi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x459b9b
or edi, 0x200000
mov dword [esp + 0x10], edi
push str.autohs
push esi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x459bb7
or edi, 0x80
mov dword [esp + 0x10], edi
push str.autovs
push esi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x45a193
or edi, 0x40
jmp 0x45a18f
push str.button
push 0x58f8d0
call fcn.00572b46
add esp, 8
test eax, eax
jne 0x459c94
mov eax, dword [0x577128]
mov cx, word [0x57712c]
mov dl, byte [0x57712e]
mov dword [0x5990e0], eax
mov eax, dword [esp + 0x5c]
or edi, 0x10000
test eax, eax
mov word [0x5990e4], cx
mov byte [0x5990e6], dl
mov dword [esp + 0x10], edi
jne 0x459c46
push str.default
push esi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x459c46
or edi, 1
mov dword [esp + 0x10], edi
mov dword [esp + 0x5c], 1
push 0x577260
push esi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x459c6b
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0xe0], eax
jmp 0x459ef6
push str.cancel
push esi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x459ef6
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov dword [eax + 0xe4], edx
jmp 0x459ef6
push str.check
push 0x58f8d0
call fcn.00572b46
add esp, 8
test eax, eax
jne 0x459cf6
mov ecx, dword [0x577128]
mov dx, word [0x57712c]
mov al, byte [0x57712e]
push str.3state
push esi
mov dword [0x5990e0], ecx
mov word [0x5990e4], dx
mov byte [0x5990e6], al
or edi, 0x10000
call fcn.00563db0
add esp, 8
test eax, eax
je 0x459cee
or edi, 6
jmp 0x459ebd
or edi, 3
jmp 0x459ebd
push str.scroll
push 0x58f8d0
call fcn.00572b46
add esp, 8
test eax, eax
jne 0x459e79
mov ecx, dword [str.ScrollBar]
mov edx, dword [0x5771d8]
mov ax, word [0x5771dc]
push 0x5771cc
push esi
mov dword [0x5990e0], ecx
mov dword [0x5990e4], edx
mov word [0x5990e8], ax
call fcn.00563db0
add esp, 8
test eax, eax
je 0x459d4b
or edi, 2
jmp 0x459d73
push 0x5771c4
push esi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x459d62
or edi, 2
jmp 0x459d73
push str.bottom
push esi
call fcn.00563db0
add esp, 8
or edi, 4
push str.horiz
push esi
mov dword [esp + 0x18], edi
call fcn.00563db0
add esp, 8
test eax, eax
jne 0x459d90
or edi, 1
mov dword [esp + 0x10], edi
push str.range
push esi
call fcn.00563db0
mov esi, eax
xor ebx, ebx
add esp, 8
cmp esi, ebx
je 0x45a4b3
mov al, byte [esi + 5]
add esi, 5
cmp al, 0x20
jne 0x459dbc
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x459db4
mov al, byte [esi]
test al, al
je 0x45a4b3
movzx ecx, al
push ecx
call fcn.00564077
add esp, 4
test eax, eax
jne 0x459de4
mov al, byte [esi]
cmp al, 0x2b
je 0x459de4
cmp al, 0x2d
jne 0x45a4b3
push 0x20
push esi
call fcn.00563730
mov edi, eax
add esp, 8
cmp edi, ebx
je 0x459e5b
cmp byte [edi], 0x20
jne 0x459e08
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
cmp al, 0x20
je 0x459e00
mov al, byte [edi]
test al, al
je 0x459e5b
movzx edx, al
push edx
call fcn.00564077
add esp, 4
test eax, eax
jne 0x459e28
mov al, byte [edi]
cmp al, 0x2b
je 0x459e28
cmp al, 0x2d
jne 0x459e5b
push esi
call fcn.00563a6c
add esp, 4
cmp eax, ebx
mov dword [esp + 0x38], eax
jg 0x459e3d
mov dword [esp + 0x38], ebx
push edi
call fcn.00563a6c
add esp, 4
cmp eax, ebx
mov dword [esp + 0x44], eax
jg 0x45a4b3
mov dword [esp + 0x44], ebx
jmp 0x45a4b3
push esi
call fcn.00563a6c
add esp, 4
cmp eax, ebx
mov dword [esp + 0x44], eax
jg 0x45a4b3
mov dword [esp + 0x44], ebx
jmp 0x45a4b3
push str.radio
push 0x58f8d0
call fcn.00572b46
add esp, 8
test eax, eax
jne 0x459f37
mov eax, dword [0x577128]
mov cx, word [0x57712c]
mov dl, byte [0x57712e]
mov dword [0x5990e0], eax
mov word [0x5990e4], cx
mov byte [0x5990e6], dl
or edi, 0x10009
push 0x5771c4
push esi
mov dword [esp + 0x18], edi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x459eda
or edi, 0x20
mov dword [esp + 0x10], edi
push str.push
push esi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x459ef6
or edi, 0x1000
mov dword [esp + 0x10], edi
push str.multi
push esi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x459f12
or edi, 0x2000
mov dword [esp + 0x10], edi
push str.flat
push esi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x45a4b3
or edi, 0x8000
mov dword [esp + 0x10], edi
jmp 0x45a4b3
push 0x57718c
push 0x58f8d0
call fcn.00572b46
add esp, 8
test eax, eax
jne 0x459f85
mov eax, dword [0x577128]
mov cx, word [0x57712c]
mov dl, byte [0x57712e]
or edi, 7
mov dword [0x5990e0], eax
mov word [0x5990e4], cx
mov byte [0x5990e6], dl
mov dword [esp + 0x10], edi
mov dword [esp + 0x48], 0x20
jmp 0x45a4b3
push str.list
push 0x58f8d0
call fcn.00572b46
add esp, 8
test eax, eax
jne 0x45a095
mov eax, dword [str.ListBox]
mov ecx, dword [0x576ae0]
mov edx, dword [esp + 0x14]
mov dword [0x5990e0], eax
mov dword [0x5990e4], ecx
mov eax, dword [edx + 0x15c]
or edi, 0x210041
test eax, eax
mov dword [esp + 0x10], edi
jne 0x459fd8
xor ecx, ecx
call fcn.00532550
test eax, eax
jne 0x459fe2
or edi, 0x800000
mov dword [esp + 0x10], edi
push str.extsel
push esi
mov dword [esp + 0x50], 0x200
call fcn.00563db0
add esp, 8
test eax, eax
je 0x45a006
or edi, 0x800
mov dword [esp + 0x10], edi
push str.multsel
push esi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x45a01f
or edi, 8
mov dword [esp + 0x10], edi
push str.sort
push esi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x45a038
or edi, 2
mov dword [esp + 0x10], edi
push str.size
push esi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x45a054
or edi, 0x100
mov dword [esp + 0x10], edi
push str.vsbar
push esi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x45a070
or edi, 0x1000
mov dword [esp + 0x10], edi
push str.hsbar
push esi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x45a4b3
or edi, 0x100000
mov dword [esp + 0x10], edi
jmp 0x45a4b3
push str.combo
push 0x58f8d0
call fcn.00572b46
add esp, 8
test eax, eax
jne 0x45a1f6
mov eax, dword [str.ComboBox]
mov ecx, dword [0x575e14]
mov dl, byte [0x575e18]
mov dword [0x5990e0], eax
mov eax, dword [esp + 0x14]
mov dword [0x5990e4], ecx
mov byte [0x5990e8], dl
mov ecx, dword [eax + 0x15c]
or edi, 0x210240
test ecx, ecx
jne 0x45a0f0
xor ecx, ecx
call fcn.00532550
test eax, eax
jne 0x45a0f6
or edi, 0x800000
push str.sort
push esi
mov dword [esp + 0x50], 0x200
call fcn.00563db0
add esp, 8
test eax, eax
je 0x45a116
or edi, 0x100
push str.size
push esi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x45a12e
or edi, 0x400
push str.vsbar
push esi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x45a146
or edi, 0x800
push str.hsbar
push esi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x45a15e
or edi, 0x100000
push str.drop
push esi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x45a18c
push str.edit
push esi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x45a187
or edi, 2
jmp 0x45a18f
or edi, 3
jmp 0x45a18f
or edi, 1
mov dword [esp + 0x10], edi
push str.limit
push esi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x45a4b3
mov cl, byte [eax + 5]
add eax, 5
cmp cl, 0x20
jne 0x45a1bd
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x45a1b4
cmp byte [eax], 0
je 0x45a99e
push eax
call fcn.00563a6c
xor ecx, ecx
add esp, 4
cmp eax, ecx
mov dword [esp + 0x2c], eax
jge 0x45a1e2
mov dword [esp + 0x2c], ecx
jmp 0x45a4b3
cmp eax, 0x7530
jle 0x45a4b3
mov dword [esp + 0x2c], ecx
jmp 0x45a4b3
push str.icon
push 0x58f8d0
call fcn.00572b46
add esp, 8
test eax, eax
jne 0x45abdb
mov al, byte [0x57726a]
mov ecx, dword [str.Static]
mov dx, word [0x577268]
mov dword [0x5990e0], ecx
mov word [0x5990e4], dx
mov byte [0x5990e6], al
mov al, byte [esi]
mov ebp, 1
xor ebx, ebx
test al, al
mov dword [esp + 0x40], ebp
mov dword [esp + 0x10], 0x40000003
jne 0x45a304
push 0x124
mov byte [esp + 0x4d0], bl
mov dword [esp + 0x44], ebx
call fcn.005635a3
add esp, 4
cmp eax, ebx
je 0x45a4b3
lea esi, [esp + 0x4cc]
mov edx, eax
sub edx, esi
lea ecx, [esp + 0x4cc]
lea esi, [edx + 0xc]
mov dl, byte [ecx]
mov byte [esi + ecx], dl
inc ecx
test dl, dl
jne 0x45a286
mov edx, dword [esp + 0x18]
mov dword [eax + 0x110], ebx
mov dword [eax], ebx
mov ecx, dword [esp + 0x40]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x14]
mov dword [eax + 4], ecx
mov dword [eax + 0x114], ebp
mov dword [eax + 0x118], ebp
mov dword [eax + 0x11c], ebx
mov dword [eax + 0x120], ebx
mov ecx, dword [edx + 0x1000]
cmp ecx, ebx
je 0x45a2f9
cmp dword [ecx + 0x120], ebx
je 0x45a2ee
jmp 0x45a2e0
mov ecx, dword [ecx + 0x120]
cmp dword [ecx + 0x120], ebx
jne 0x45a2e0
mov dword [ecx + 0x120], eax
jmp 0x45a4b3
mov dword [edx + 0x1000], eax
jmp 0x45a4b3
push 0x2c
push esi
call fcn.00563730
mov edi, eax
add esp, 8
test edi, edi
je 0x45a3bf
push str.noborder
push edi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x45a333
mov dword [esp + 0x40], 0
push 0x575240
push edi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x45a34d
mov dword [esp + 0x10], 0x48000003
push 0x5771c4
push edi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x45a364
mov ebx, 1
push str.right
push edi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x45a379
or ebx, 2
push 0x5771cc
push edi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x45a38e
or ebx, 4
push str.bottom
push edi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x45a3a3
or ebx, 8
push str.disable
push edi
call fcn.00563db0
add esp, 8
test eax, eax
je 0x45a3bf
or dword [esp + 0x10], 0x8000000
xor ebp, ebp
push 0x2c
push esi
xor edi, edi
call fcn.00563730
add esp, 8
test eax, eax
je 0x45a447
mov byte [eax], 0
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
jne 0x45a3e9
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x45a3e0
cmp byte [eax], 0
je 0x45a447
lea edx, [esp + 0xe4]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x45a3f7
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x1004]
mov ecx, dword [ecx + 0xffc]
push eax
push ecx
mov ecx, dword [eax]
push 1
push 0
push 0
lea edx, [esp + 0xf8]
call fcn.0047c640
test eax, eax
je 0x45a99e
lea edx, [esp + 0xe4]
push edx
call fcn.00563a6c
mov edi, eax
add esp, 4
test edi, edi
jge 0x45a447
xor edi, edi
lea edx, [esp + 0xe4]
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x45a452
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x1004]
mov ecx, dword [ecx + 0xffc]
push eax
push ecx
mov ecx, dword [eax]
push 1
push 0
push 0
lea edx, [esp + 0xf8]
call fcn.0047c640
test eax, eax
je 0x45a99e
mov edx, dword [esp + 0x40]
mov esi, dword [esp + 0x14]
push ebx
push ebp
push edx
mov edx, dword [esp + 0x24]
push 1
push edi
lea eax, [esp + 0xf8]
push eax
mov ecx, esi
call fcn.00457920
test eax, eax
je 0x45abc6
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x170]
test eax, eax
je 0x45a521
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x20]
imul eax, ecx
mov ebx, dword [esp + 0x4c]
cdq
and edx, 7
add eax, edx
mov edi, eax
mov eax, dword [esp + 0x1c]
imul eax, ebx
cdq
and edx, 3
add eax, edx
mov esi, eax
mov eax, dword [esp + 0x28]
imul eax, ecx
cdq
and edx, 7
add eax, edx
mov ecx, eax
mov eax, dword [esp + 0x24]
imul eax, ebx
cdq
and edx, 3
sar edi, 3
sar esi, 2
sar ecx, 3
add eax, edx
sar eax, 2
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], eax
jmp 0x45a561
push 0x57727c
push 0x58f8d0
call fcn.00572b46
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
add esp, 8
test eax, eax
jne 0x45a559
mov eax, dword [esp + 0x28]
imul eax, dword [esp + 0x3c]
cdq
and edx, 7
add eax, edx
mov ecx, eax
sar ecx, 3
mov dword [esp + 0x28], ecx
jmp 0x45a55d
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
mov edx, dword [0x5a1afc]
mov ebp, dword [esp + 0x14]
push 0
push edx
mov edx, dword [esp + 0x20]
push edx
mov edx, dword [ebp + 0xc8]
push edx
push ecx
mov ecx, dword [esp + 0x5c]
push eax
mov eax, dword [esp + 0x28]
push edi
push esi
push eax
push 0x5994c8
push 0x5990e0
push ecx
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov ebx, eax
test ebx, ebx
je 0x45aba0
mov eax, dword [ebp + 0x15c]
test eax, eax
je 0x45a5b3
mov ecx, ebx
call fcn.005324d0
mov eax, dword [esp + 0x7c]
test eax, eax
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
je 0x45a5c9
push 0
push eax
push 0x30
push ebx
call edi
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x45a5d9
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x45a5ea
mov edx, dword [esp + 0x44]
push 1
push edx
push eax
push 2
push ebx
call dword [sym.imp.USER32.dll_SetScrollRange]
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x45a670
push str.ComboBox
push 0x5990e0
call fcn.00572b46
add esp, 8
test eax, eax
jne 0x45a658
push 5
push ebx
call dword [sym.imp.USER32.dll_GetWindow]
mov esi, eax
test esi, esi
je 0x45a68e
mov edx, 0x64
lea ecx, [esp + 0x80]
call fcn.0041e210
push 0x63
lea eax, [esp + 0x84]
push eax
push esi
call dword [sym.imp.USER32.dll_GetClassNameA]
lea ecx, [esp + 0x80]
call fcn.00474690
test eax, eax
je 0x45a68e
mov ecx, dword [esp + 0x2c]
push 0
push ecx
push 0xc5
push esi
jmp 0x45a68c
mov ecx, 0x5990e0
call fcn.00474690
test eax, eax
je 0x45a68e
push 0
push esi
push 0xc5
jmp 0x45a68b
mov ecx, 0x5990e0
call fcn.00474690
cmp eax, 2
jne 0x45a68e
push 0xfa00
push 0
push 0x435
push ebx
call edi
mov eax, dword [esp + 0x58]
test eax, eax
je 0x45a6c3
mov ecx, dword [ebp + 0xfe8]
push 0
mov edx, 0x574b10
call fcn.004c2560
test eax, eax
je 0x45a99e
mov edx, dword [esp + 0x18]
mov dword [ebp + 0xfe8], eax
mov eax, dword [eax + 0x44]
mov dword [eax + 0xc], ebx
mov dword [eax + 8], edx
mov ecx, 0x5990e0
call fcn.00474690
test eax, eax
je 0x45a6dd
push 0
push 0
push 0xb9
push ebx
call edi
cmp dword [esp + 0x5c], 1
jne 0x45a70d
mov eax, dword [esp + 0x18]
mov ecx, dword [ebp + 0xc8]
push 0
push eax
push 0x401
push ecx
mov dword [esp + 0x6c], 2
call edi
push 1
push 1
push 0xf4
push ebx
call edi
push 0x57727c
push 0x58f8d0
call fcn.00572b46
add esp, 8
test eax, eax
jne 0x45a919
mov eax, dword [esp + 0x30]
lea ecx, [eax + 1]
cmp ecx, 0x28
mov dword [esp + 0x40], ecx
jge 0x45a99e
test eax, eax
jne 0x45a86a
mov ebp, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x68]
mov edi, dword [esp + 0x6c]
add ebp, 9
lea eax, [edx + ebp - 9]
mov edx, dword [esp + 0x14]
cmp dword [edx + 0x170], 0
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x70]
mov esi, eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ecx
je 0x45a7db
imul eax, dword [esp + 0x4c]
cdq
and edx, 3
add eax, edx
mov esi, eax
mov eax, edi
imul eax, dword [esp + 0x4c]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov edi, eax
mov eax, dword [esp + 0x20]
imul eax, dword [esp + 0x3c]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [esp + 0x20], eax
mov eax, ecx
imul eax, dword [esp + 0x3c]
cdq
and edx, 7
sar esi, 2
add eax, edx
sar eax, 3
mov ecx, eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ecx
mov eax, dword [0x5a1afc]
mov edx, dword [esp + 0x14]
push 0
push eax
mov eax, dword [edx + 0xc8]
push 0x66
push eax
sub ecx, ebp
push ecx
mov ecx, dword [esp + 0x6c]
push edi
push ecx
push esi
push 0x40000007
push 0x574b10
push str.Static
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
test eax, eax
je 0x45a99e
mov edx, dword [0x5a1afc]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xc8]
push 0
push edx
push 0x65
push ecx
push 0
push 0
push 0xffffffffffffffec
push 0xffffffffffffffec
push 0x50810145
push 0x574b10
push str.ListBox
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
test eax, eax
je 0x45a99e
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x6c], 0x14
mov dword [esp + 0x70], 8
mov edx, dword [esp + 0x30]
imul edx, edx, 0x5c
lea esi, [edx + ebp]
lea edi, [esi + 0x174]
push 0x5994c8
mov edx, 0x32
mov ecx, edi
call fcn.0041e120
mov ecx, dword [esp + 0x30]
xor eax, eax
cmp ecx, eax
mov dword [esi + 0x1a8], ebx
mov dword [esi + 0x1ac], 1
mov dword [esi + 0x1b0], eax
mov dword [esi + 0x1b4], eax
jne 0x45a8bd
mov dword [ebp + 0x1b8], 1
jmp 0x45a8c7
mov dword [esi + 0x1b8], 0
mov ecx, dword [esp + 0x30]
add ecx, 5
imul ecx, ecx, 0x5c
xor eax, eax
push edi
push eax
push 0x180
mov dword [esi + 0x1bc], 1
mov dword [esi + 0x1c0], 0xbe
mov dword [esi + 0x1c8], eax
mov dword [ecx + ebp], eax
mov dword [esi + 0x204], eax
mov edx, dword [ebp + 0xc8]
push 0x65
push edx
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x30], eax
jmp 0x45aadb
mov eax, dword [esp + 0x78]
test eax, eax
je 0x45aadb
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x45aadb
mov cl, byte [eax + 3]
add eax, 3
cmp cl, 0x20
jne 0x45a949
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x45a940
cmp byte [eax], 0
je 0x45a99e
push eax
call fcn.00563a6c
mov edi, eax
lea ecx, [ebp + 0x1a8]
add esp, 4
add edi, 0x1770
xor esi, esi
mov dword [esp + 0x38], ecx
jmp 0x45a970
mov edx, dword [esp + 0x38]
mov eax, dword [edx]
test eax, eax
je 0x45aa81
push eax
call dword [sym.imp.USER32.dll_GetDlgCtrlID]
cmp eax, edi
je 0x45aa81
mov ecx, dword [esp + 0x38]
inc esi
add ecx, 0x5c
cmp esi, 0x28
mov dword [esp + 0x38], ecx
jl 0x45a970
mov ecx, dword [esp + 0x14]
add ecx, 0x64
push ecx
xor edx, edx
mov ecx, 0x677
call fcn.0041c9e0
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
push eax
push 0x595d60
call edi
mov edx, dword [esp + 0x40]
mov eax, dword [edx]
mov cl, byte [eax]
add esp, 0xc
cmp cl, 0x20
jne 0x45a9d9
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x45a9d0
cmp byte [eax], 0
je 0x45aba0
mov edx, 0x5990e0
sub edx, eax
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x45a9f0
push 0x20
push 0x5990e0
call fcn.00563730
add esp, 8
test eax, eax
je 0x45aa10
mov byte [eax], 0
mov eax, 0x595d60
mov byte [0x5990f9], 0
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45aa20
sub eax, edx
push 0x5990e0
lea eax, [eax + 0x595d60]
push str.__in__s
push eax
call edi
mov edx, dword [esp + 0x24]
add esp, 0xc
test edx, edx
jle 0x45aba0
mov eax, 0x595d60
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45aa53
add edx, 0xffffe890
push edx
sub eax, esi
lea ecx, [eax + 0x595d60]
push 0x577140
push ecx
call edi
add esp, 0xc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x8a4
ret
cmp esi, 0x28
jge 0x45a99e
mov eax, esi
imul eax, eax, 0x5c
mov ecx, dword [eax + ebp + 0x1a8]
test ecx, ecx
je 0x45a99e
mov ecx, dword [ebp + 0xfd4]
push 0
mov edx, 0x574b10
call fcn.004c2560
test eax, eax
je 0x45a99e
mov ecx, dword [esp + 0x18]
mov dword [ebp + 0xfd4], eax
mov eax, dword [eax + 0x44]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x10]
shr ecx, 0x1c
and ecx, 1
mov dword [eax + 0x10], esi
mov dword [eax + 0xc], ebx
mov dword [eax + 0x1c], ecx
push 0
push 0
push 0
push 0
lea edx, [esp + 0x2c]
push edx
call dword [sym.imp.USER32.dll_SetRect]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x34]
mov esi, dword [eax + 0x40]
test esi, esi
mov dword [esp + 0x18], 0
mov dword [esp + 0x34], esi
jne 0x458be0
mov eax, dword [esp + 0x60]
test eax, eax
jne 0x45abf1
add ebx, 0x64
push ebx
xor edx, edx
mov ecx, 0x677
call fcn.0041c9e0
push eax
push 0x595d60
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
xor edx, edx
mov ecx, 0x678
call fcn.0041c9e0
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x45ab46
mov edi, 0x595d60
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x45ab57
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x8a4
ret
add edi, 0xffffe890
add ebx, 0x64
push edi
push ebx
xor edx, edx
mov ecx, 0x674
call fcn.0041c9e0
push eax
push 0x595d60
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x8a4
ret
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0xe4]
push ecx
add edx, 0x64
push edx
xor edx, edx
mov ecx, 0x673
jmp 0x45ab8c
lea eax, [esp + 0xe4]
add esi, 0x64
push eax
push esi
xor edx, edx
mov ecx, 0x675
jmp 0x45ab8c
mov edx, dword [esp + 0x14]
add edx, 0x64
push 0x58f8d0
push edx
xor edx, edx
mov ecx, 0x676
jmp 0x45ab8c
mov eax, dword [esp + 0x50]
test eax, eax
je 0x45ac06
mov eax, dword [ebx + 0xc8]
push eax
call dword [sym.imp.USER32.dll_DrawMenuBar]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x8a4
ret