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

Disassembly:
sub esp, 0x8b0
push ebp
push edi
mov edi, ecx
xor ebp, ebp
cmp edi, ebp
mov dword [esp + 0xc], edi
je 0x45f143
mov ecx, dword [edi + 0x139c]
call fcn.004f0af0
test eax, eax
jne 0x45f14e
pop edi
xor eax, eax
pop ebp
add esp, 0x8b0
ret
push ebx
push esi
mov esi, dword [sym.imp.USER32.dll_GetDialogBaseUnits]
mov dword [esp + 0x68], ebp
mov dword [esp + 0x48], ebp
mov dword [edi + 0x170], ebp
call esi
movzx eax, ax
mov dword [esp + 0x40], eax
call esi
mov esi, dword [0x5f3bf8]
mov ebx, dword [sym.imp.USER32.dll_SetRect]
push ebp
push ebp
push ebp
push ebp
lea ecx, [esp + 0x80]
shr eax, 0x10
push ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x24], esi
mov dword [esp + 0x44], ebp
call ebx
push ebp
push ebp
push ebp
push ebp
lea edx, [esp + 0x2c]
push edx
call ebx
mov eax, dword [edi + 0x1394]
cmp eax, ebp
je 0x45f1e0
cmp esi, ebp
je 0x45f1d0
lea esp, [esp]
cmp dword [esi + 0x2c], eax
je 0x45f212
mov esi, dword [esi + 0x40]
cmp esi, ebp
jne 0x45f1c0
mov dword [esp + 0x10], esi
mov esi, dword [0x5f3bf8]
mov dword [esp + 0x10], esi
lea ebx, [ebx]
cmp esi, ebp
je 0x45f3f2
jmp 0x45f1f0
mov eax, dword [esp + 0x30]
cmp eax, 1
jne 0x45f21c
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0x14]
cmp ecx, dword [edx + 0x1394]
jne 0x45f3fd
jmp 0x45f238
mov dword [esp + 0x30], 1
jmp 0x45f1d6
cmp eax, 2
jne 0x45f238
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0x14]
cmp ecx, dword [edx + 0x1394]
je 0x45f3c4
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x45f3c4
mov ecx, eax
mov eax, dword [ecx + 0x30]
test eax, eax
mov dword [esp + 0x2c], eax
je 0x45f3c4
mov edx, eax
mov eax, dword [edx + 0x28]
test eax, eax
jne 0x45f3c4
mov eax, edx
mov eax, dword [eax]
cmp byte [eax], 0x20
jne 0x45f279
mov edi, edi
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x45f270
cmp byte [eax], 0
je 0x45f3c4
push 0x20
push eax
call fcn.005912e0
mov edi, eax
add esp, 8
test edi, edi
je 0x45f3c4
cmp byte [edi], 0x20
jne 0x45f2a8
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
cmp al, 0x20
je 0x45f2a0
cmp byte [edi], 0
je 0x45f3c4
push 3
push 0x5a5000
push edi
call fcn.005a2a05
add esp, 0xc
test eax, eax
jne 0x45f2df
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x2c]
mov eax, dword [esp + 0x14]
cmp edx, dword [eax + 0x1394]
jne 0x45f3c4
add edi, 3
push 0x20
push edi
call fcn.005912e0
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x45f3c4
mov ebx, dword [esp + 0x14]
add ebx, 0x64
push ebx
push edi
mov byte [ebp], 0
call fcn.005a299c
add esp, 8
test eax, eax
je 0x45f380
push 1
push 0
mov edx, ebx
mov ecx, edi
call fcn.00560640
test eax, eax
jne 0x45f380
mov edi, edi
push 0x2c
push edi
call fcn.005912e0
mov esi, eax
add esp, 8
test esi, esi
je 0x45f334
mov byte [esi], 0
push ebx
push edi
call fcn.005a299c
add esp, 8
test eax, eax
je 0x45f379
push 1
push 0
mov edx, ebx
mov ecx, edi
call fcn.00560640
test eax, eax
jne 0x45f379
test esi, esi
je 0x45f373
mov byte [esi], 0x2c
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x45f36a
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x45f362
cmp byte [esi], 0
je 0x45f373
mov edi, esi
jmp 0x45f320
mov byte [ebp], 0x20
jmp 0x45f3c4
test esi, esi
je 0x45f380
mov byte [esi], 0x2c
mov ebx, dword [esp + 0x14]
mov byte [ebp], 0x20
mov eax, dword [ebx + 0xc8]
test eax, eax
je 0x461539
cmp byte [ebp], 0x20
jne 0x45f3a8
lea esp, [esp]
mov al, byte [ebp + 1]
inc ebp
cmp al, 0x20
je 0x45f3a0
cmp byte [ebp], 0x7b
jne 0x45f3c4
mov al, byte [ebp + 1]
inc ebp
cmp al, 0x20
jne 0x45f3be
mov al, byte [ebp + 1]
inc ebp
cmp al, 0x20
je 0x45f3b6
cmp byte [ebp], 0
je 0x45f415
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x40]
test eax, eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], eax
je 0x45f3f2
jmp 0x45f3e0
mov ecx, dword [eax + 0x10]
test ecx, ecx
jne 0x45f40c
mov eax, dword [eax + 0x40]
test eax, eax
jne 0x45f3e0
mov dword [esp + 0x10], eax
cmp dword [esp + 0x30], 1
jne 0x46146a
mov dword [esp + 0x30], 2
xor ebp, ebp
jmp 0x45f1d0
mov dword [esp + 0x10], eax
jmp 0x45f1f0
mov edx, dword [esp + 0x2c]
mov eax, dword [ebx + 0xc8]
mov esi, dword [edx + 0x40]
push 0
push 0
push 0x31
push eax
mov dword [esp + 0x3c], esi
mov dword [esp + 0x70], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x94], 1
call dword [sym.imp.USER32.dll_SendMessageA]
test esi, esi
mov dword [esp + 0x88], eax
je 0x4614bf
lea ecx, [ecx]
mov eax, dword [esi + 0x28]
test eax, eax
jne 0x461426
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x84]
mov ecx, dword [ecx]
push 0
call fcn.005053b0
test eax, eax
mov dword [esp + 0x84], eax
je 0x4614b7
mov edx, dword [esp + 0x2c]
mov eax, dword [edx]
cmp byte [eax], 0x20
jne 0x45f4a9
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x45f4a0
cmp byte [eax], 0
je 0x461426
mov edx, 0x5c5218
sub edx, eax
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x45f4c0
push 0x20
push 0x5c5218
call fcn.005912e0
mov edi, eax
add esp, 8
test edi, edi
je 0x461426
mov byte [edi], 0
mov al, byte [edi + 1]
inc edi
cmp al, 0x20
jne 0x45f4f8
mov edi, edi
mov al, byte [edi + 1]
inc edi
cmp al, 0x20
je 0x45f4f0
cmp byte [edi], 0
je 0x461426
push str.title
push 0x5c5218
mov esi, 0x5a4bec
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x45f5c4
cmp byte [edi], 0x22
jne 0x45f551
inc edi
push 0x22
push edi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x45f691
mov edx, 0x5eef00
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 0x45f545
jmp 0x45f58e
mov ecx, 0x5eef00
sub ecx, edi
mov al, byte [edi]
mov byte [ecx + edi], al
inc edi
test al, al
jne 0x45f558
mov eax, dword [ebx + 0x139c]
mov ecx, dword [ebx + 0x1394]
push eax
push ecx
mov ecx, dword [eax]
push 0
push 0
push 1
push 0
push 0
mov edx, 0x5eef00
call fcn.004a5de0
test eax, eax
je 0x45f691
mov al, byte [0x5eef00]
test al, al
jne 0x45f5ad
mov edx, dword [0x5a4840]
mov al, byte [0x5a4844]
mov dword [0x5eef00], edx
mov byte [0x5eef04], al
mov ecx, dword [ebx + 0xc8]
push 0x5eef00
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextA]
jmp 0x461426
push str.icon
push 0x5c5218
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x45f801
mov edx, 0x5ef2e8
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x45f5e7
cmp byte [0x5ef2e8], 0x22
jne 0x45f656
push 0x22
push 0x5ef2e9
call fcn.005912e0
mov esi, eax
add esp, 8
test esi, esi
je 0x45f691
mov byte [esi], 0
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x45f628
mov edi, edi
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x45f620
cmp byte [esi], 0x2c
jne 0x45f63d
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x45f63d
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x45f635
xor eax, eax
nop
mov cl, byte [eax + 0x5ef2e9]
mov byte [eax + 0x5eef00], cl
inc eax
test cl, cl
jne 0x45f640
jmp 0x45f7bd
push 0x2c
push 0x5ef2e8
call fcn.005912e0
mov esi, eax
add esp, 8
test esi, esi
je 0x45f771
mov byte [esi], 0
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x45f688
lea ebx, [ebx]
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x45f680
cmp byte [esi], 0
jne 0x45f776
mov ecx, dword [esp + 0x14]
add ecx, 0x64
push ecx
xor edx, edx
mov ecx, 0x677
call fcn.0041f1a0
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
push eax
push 0x5cbac0
call edi
mov edx, dword [esp + 0x38]
mov eax, dword [edx]
mov cl, byte [eax]
add esp, 0xc
cmp cl, 0x20
jne 0x45f6cc
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x45f6c3
cmp byte [eax], 0
je 0x46146a
mov edx, 0x5eef00
sub edx, eax
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x45f6e0
push 0x20
push 0x5eef00
call fcn.005912e0
add esp, 8
test eax, eax
je 0x45f700
mov byte [eax], 0
mov eax, 0x5cbac0
mov byte [0x5eef19], 0
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45f710
sub eax, edx
push 0x5eef00
lea eax, [eax + 0x5cbac0]
push str.__in__s
push eax
call edi
mov edx, dword [esp + 0x24]
add esp, 0xc
test edx, edx
jle 0x46146a
mov eax, 0x5cbac0
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45f743
add edx, 0xffffe890
push edx
sub eax, esi
lea ecx, [eax + 0x5cbac0]
push 0x5a798c
push ecx
call edi
add esp, 0xc
pop esi
pop ebx
pop edi
xor eax, eax
pop ebp
add esp, 0x8b0
ret
mov esi, 0x5a4bec
xor eax, eax
jmp 0x45f780
mov cl, byte [eax + 0x5ef2e8]
mov byte [eax + 0x5eef00], cl
inc eax
test cl, cl
jne 0x45f780
mov eax, dword [ebx + 0x139c]
mov edx, dword [ebx + 0x1394]
mov ecx, dword [eax]
push eax
push edx
push 0
push 0
push 1
push 0
push 0
mov edx, 0x5eef00
call fcn.004a5de0
test eax, eax
je 0x45f691
mov ecx, 0x5eef00
call fcn.005037f0
test eax, eax
jne 0x45f801
test esi, esi
je 0x45f7e1
cmp byte [esi], 0
je 0x45f7e1
push esi
call fcn.0059164b
add esp, 4
test eax, eax
jge 0x45f7e3
xor eax, eax
push 0
push 0
push 0
push 0
push 1
push eax
push 0x5eef00
xor edx, edx
mov ecx, ebx
call fcn.0045e0c0
jmp 0x461426
push str.size
push 0x5c5218
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x45f8eb
mov ecx, 0x5eef00
sub ecx, edi
mov al, byte [edi]
mov byte [ecx + edi], al
inc edi
test al, al
jne 0x45f822
mov eax, dword [ebx + 0x139c]
mov ecx, dword [ebx + 0x1394]
push eax
push ecx
mov ecx, dword [eax]
push 0
push 0
push 1
push 0
push 0
mov edx, 0x5eef00
call fcn.004a5de0
test eax, eax
je 0x45f691
xor eax, eax
lea ebx, [ebx]
mov cl, byte [eax + 0x5eef00]
mov byte [eax + 0x5c5218], cl
inc eax
test cl, cl
jne 0x45f860
lea edx, [ebx + 0xd0]
push edx
mov edx, 0x5c5218
mov ecx, ebx
call fcn.0045eed0
test eax, eax
je 0x45f691
mov eax, dword [ebx + 0xd8]
cmp eax, 0xffffffff
je 0x45f8b5
mov ecx, dword [ebx + 0x170]
test ecx, ecx
je 0x45f8b5
imul eax, dword [esp + 0x40]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [ebx + 0xd8], eax
mov eax, dword [ebx + 0xdc]
cmp eax, 0xffffffff
je 0x45f8de
mov ecx, dword [ebx + 0x170]
test ecx, ecx
je 0x45f8de
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 0x461426
push str.option
push 0x5c5218
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x45fa1a
mov ecx, 0x5eef00
sub ecx, edi
lea esp, [esp]
mov al, byte [edi]
mov byte [ecx + edi], al
inc edi
test al, al
jne 0x45f910
mov eax, dword [ebx + 0x139c]
mov ecx, dword [ebx + 0x1394]
push eax
push ecx
mov ecx, dword [eax]
push 0
push 0
push 1
push 0
push 0
mov edx, 0x5eef00
call fcn.004a5de0
test eax, eax
je 0x45f691
xor eax, eax
jmp 0x45f950
mov cl, byte [eax + 0x5eef00]
mov byte [eax + 0x5c5218], cl
inc eax
test cl, cl
jne 0x45f950
push 0x5c5218
call fcn.005a2fa6
push 0x5a797c
push 0x5c5218
call fcn.00591d90
add esp, 0xc
test eax, eax
je 0x45f9d1
mov eax, dword [esp + 0x60]
test eax, eax
mov dword [ebx + 0x170], 1
je 0x45f9d1
mov eax, dword [ebx + 0xd8]
cmp eax, 0xffffffff
je 0x45f9b2
imul eax, dword [esp + 0x40]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [ebx + 0xd8], eax
mov eax, dword [ebx + 0xdc]
cmp eax, 0xffffffff
je 0x45f9d1
imul eax, dword [esp + 0x3c]
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [ebx + 0xdc], eax
push str.pixels
push 0x5c5218
call fcn.00591d90
add esp, 8
test eax, eax
je 0x45f9f1
mov dword [ebx + 0x170], 0
push str.notheme
push 0x5c5218
call fcn.00591d90
add esp, 8
test eax, eax
je 0x461426
mov dword [ebx + 0x15c], 1
jmp 0x461426
xor ebp, ebp
push str.list
push 0x5c5218
mov dword [esp + 0x20], ebp
mov byte [0x5ef2e8], 0
mov dword [esp + 0x74], ebp
call fcn.005a299c
add esp, 8
test eax, eax
je 0x45fbb4
push str.combo
push 0x5c5218
call fcn.005a299c
add esp, 8
test eax, eax
je 0x45fbb4
push str.icon
push 0x5c5218
call fcn.005a299c
add esp, 8
test eax, eax
je 0x45fbb4
cmp byte [edi], 0x22
jne 0x45fb0f
inc edi
push 0x22
push edi
call fcn.005912e0
mov esi, eax
add esp, 8
cmp esi, ebp
je 0x45f691
mov byte [esi], 0
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x45faab
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x45faa3
cmp byte [esi], 0x2c
jne 0x45fac0
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x45fac0
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x45fab8
cmp byte [esi], 0
jne 0x45faf5
push 0x5a7958
push 0x5c5218
call fcn.005a299c
add esp, 8
test eax, eax
je 0x45faf5
push str.item
push 0x5c5218
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x45f691
mov ecx, 0x5ef2e8
sub ecx, edi
lea esp, [esp]
mov al, byte [edi]
mov byte [edi + ecx], al
inc edi
test al, al
jne 0x45fb00
jmp 0x45fbb2
push 0x2c
push edi
call fcn.005912e0
mov esi, eax
add esp, 8
cmp esi, ebp
je 0x45fb43
mov byte [esi], 0
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x45fb38
jmp 0x45fb30
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x45fb30
cmp byte [esi], 0
je 0x45f691
jmp 0x45fb78
push 0x5a7958
push 0x5c5218
call fcn.005a299c
add esp, 8
test eax, eax
je 0x45fb73
push str.item
push 0x5c5218
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x45f691
mov esi, 0x5a4bec
mov ecx, 0x5ef2e8
sub ecx, edi
nop
mov al, byte [edi]
mov byte [edi + ecx], al
inc edi
test al, al
jne 0x45fb80
mov eax, dword [ebx + 0x139c]
mov edx, dword [ebx + 0x1394]
mov ecx, dword [eax]
push eax
push edx
push ebp
push ebp
push 1
push ebp
push ebp
mov edx, 0x5ef2e8
call fcn.004a5de0
test eax, eax
je 0x45f691
mov edi, esi
push 0x5a7948
push 0x5c5218
call fcn.005a299c
mov ebp, dword [esp + 0x40]
add esp, 8
test eax, eax
jne 0x45fbed
test ebp, ebp
je 0x45fbed
cmp byte [edi], 0
mov esi, edi
je 0x45fc76
lea ecx, [ecx]
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x45fbe0
jmp 0x45fc76
push 0x5a7958
push 0x5c5218
call fcn.005a299c
add esp, 8
test eax, eax
je 0x45fc65
push str.item
push 0x5c5218
call fcn.005a299c
add esp, 8
test eax, eax
je 0x45fc65
push 0x2c
push edi
call fcn.005912e0
mov esi, eax
add esp, 8
test esi, esi
je 0x45f691
mov byte [esi], 0
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x45fc48
lea esp, [esp]
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x45fc40
cmp byte [esi], 0
je 0x45f691
push 0x20
push edi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x45fc76
mov byte [eax], 0
jmp 0x45fc76
test esi, esi
je 0x45fe3d
cmp byte [esi], 0
je 0x45fe3d
lea ecx, [esp + 0xf0]
sub ecx, edi
nop
mov al, byte [edi]
mov byte [ecx + edi], al
inc edi
test al, al
jne 0x45fc80
mov eax, dword [ebx + 0x139c]
mov ecx, dword [ebx + 0x1394]
push eax
push ecx
mov ecx, dword [eax]
push 0
push 0
push 1
push 0
push 0
lea edx, [esp + 0x10c]
call fcn.004a5de0
test eax, eax
je 0x45f691
lea edx, [esp + 0xf0]
push edx
call fcn.0059164b
mov edi, eax
add esp, 4
cmp edi, 1
jl 0x461477
cmp edi, 0xbb8
jg 0x461477
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 0x461444
mov edx, edi
mov ecx, ebx
call fcn.0045ee00
test eax, eax
jne 0x461444
push 0x5a7948
push 0x5c5218
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x45fdbd
cmp ebp, 0x32
jge 0x45f691
test ebp, ebp
je 0x45fd5c
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
jmp 0x45fdf9
lea edx, [esp + 0x1c]
push edx
mov edx, esi
mov ecx, ebx
call fcn.0045eed0
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 0x45fd85
mov eax, 0xa
mov ecx, dword [esp + 0x28]
cmp ecx, 0x19
jge 0x45fd93
mov ecx, 0x19
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x24], 0x14
mov dword [esp + 0x28], 8
jmp 0x45fdf9
push 0x5a7958
push 0x5c5218
call fcn.005a299c
add esp, 8
test eax, eax
je 0x45fdf9
push str.item
push 0x5c5218
call fcn.005a299c
add esp, 8
test eax, eax
je 0x45fdf9
lea eax, [esp + 0x1c]
push eax
mov edx, esi
mov ecx, ebx
call fcn.0045eed0
mov esi, eax
test esi, esi
je 0x45f691
push 0x2c
push esi
call fcn.005912e0
mov esi, eax
add esp, 8
test esi, esi
je 0x45fe38
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x45fe28
lea ebx, [ebx]
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x45fe20
cmp byte [esi], 0
je 0x45fe3d
push esi
call fcn.005a2fa6
add esp, 4
jmp 0x45fe3d
mov esi, 0x5a4bec
xor eax, eax
push str.disable
mov ebp, 0x40000000
push esi
mov dword [esp + 0x18], ebp
mov dword [esp + 0x38], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x3c], eax
call fcn.00591d90
add esp, 8
test eax, eax
je 0x45fe77
mov ebp, 0x48000000
mov dword [esp + 0x10], ebp
push 0x5a5330
push esi
call fcn.00591d90
add esp, 8
test eax, eax
jne 0x45fe93
or ebp, 0x10000000
mov dword [esp + 0x10], ebp
push str.group
push esi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x45feaf
or ebp, 0x20000
mov dword [esp + 0x10], ebp
push str.result
push esi
call fcn.00591d90
mov edi, dword [esp + 0x20]
add esp, 8
test eax, eax
je 0x45fecb
mov dword [ebx + 0xe8], edi
push edi
mov edx, esi
mov ecx, ebx
call fcn.0045efc0
test eax, eax
je 0x45f691
push 0x5a7948
push esi
call fcn.00591d90
push 0x5a7948
push 0x5c5218
mov dword [esp + 0x54], eax
call fcn.005a299c
add esp, 0x10
test eax, eax
jne 0x45ff34
mov ecx, dword [str.Static]
mov dx, word [0x5a7934]
mov al, byte [0x5a7936]
mov ebp, 0x48000000
mov dword [0x5eef00], ecx
mov word [0x5eef04], dx
mov byte [0x5eef06], al
mov dword [esp + 0x10], ebp
jmp 0x460ebd
push 0x5a7958
push 0x5c5218
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x460090
mov eax, dword [ebx + 0x1378]
test eax, eax
jne 0x45ff8b
mov ecx, dword [ebx + 0xc8]
push ecx
call dword [sym.imp.USER32.dll_GetMenu]
test eax, eax
jne 0x45ff77
call dword [sym.imp.USER32.dll_CreateMenu]
test eax, eax
je 0x45f691
mov edx, dword [ebx + 0xc8]
push eax
push edx
mov dword [ebx + 0x1378], eax
call dword [sym.imp.USER32.dll_SetMenu]
cmp byte [esi], 0
mov ebp, dword [ebx + 0x1378]
mov dword [esp + 0x68], ebp
je 0x460008
lea ecx, [esp + 0xf0]
sub ecx, esi
mov al, byte [esi]
mov byte [esi + ecx], al
inc esi
test al, al
jne 0x45ffa3
mov eax, dword [ebx + 0x139c]
mov ecx, dword [ebx + 0x1394]
push eax
push ecx
mov ecx, dword [eax]
push 0
push 0
push 1
push 0
push 0
lea edx, [esp + 0x10c]
call fcn.004a5de0
test eax, eax
je 0x45f691
lea edx, [esp + 0xf0]
push edx
call fcn.0059164b
mov edx, eax
add esp, 4
add edx, 0x1770
mov ecx, ebx
call fcn.0045ee60
mov ebp, eax
test ebp, ebp
mov dword [esp + 0x68], ebp
je 0x45f691
call dword [sym.imp.USER32.dll_CreatePopupMenu]
mov esi, eax
test esi, esi
je 0x460084
push 0xc
call fcn.00591118
add esp, 4
test eax, eax
je 0x460084
mov dword [eax + 4], edi
mov dword [eax], esi
mov dword [eax + 8], 0
mov ecx, dword [ebx + 0x137c]
add edi, 0xffffe890
test ecx, ecx
mov dword [esp + 0x48], edi
jne 0x460050
mov dword [ebx + 0x137c], eax
jmp 0x460060
mov edx, dword [ecx + 8]
test edx, edx
je 0x46005d
mov ecx, edx
test ecx, ecx
jne 0x460050
mov dword [ecx + 8], eax
push 0
mov edx, 0x10
mov ecx, 0x5ef2e8
call fcn.004de6d0
push 0x5ef2e8
push esi
push eax
push ebp
call dword [sym.imp.USER32.dll_AppendMenuA]
jmp 0x461426
push esi
call dword [sym.imp.USER32.dll_DestroyMenu]
jmp 0x461426
push str.item
push 0x5c5218
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x460249
mov eax, dword [ebx + 0x1378]
test eax, eax
je 0x45f691
test edi, edi
je 0x45f691
mov al, byte [esi]
xor ebp, ebp
test al, al
je 0x46019c
movzx eax, al
push eax
call fcn.005920a7
add esp, 4
test eax, eax
je 0x4600fa
push 0x2c
push esi
call fcn.005912e0
mov edi, eax
add esp, 8
test edi, edi
je 0x460130
mov byte [edi], 0
mov al, byte [edi + 1]
inc edi
test al, al
je 0x460130
jmp 0x4600fc
mov edi, esi
test edi, edi
je 0x460130
push 0x5a792c
push edi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x460119
mov ebp, 1
jmp 0x460130
push str.cancel
push edi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x460130
mov ebp, 2
cmp byte [esi], 0
je 0x46019c
mov ecx, esi
call fcn.005037f0
test eax, eax
je 0x46019c
lea ecx, [esp + 0xf0]
sub ecx, esi
lea esp, [esp]
mov al, byte [esi]
mov byte [esi + ecx], al
inc esi
test al, al
jne 0x460150
mov eax, dword [ebx + 0x139c]
mov ecx, dword [ebx + 0x1394]
push eax
push ecx
mov ecx, dword [eax]
push 0
push 0
push 1
push 0
push 0
lea edx, [esp + 0x10c]
call fcn.004a5de0
test eax, eax
je 0x45f691
lea edx, [esp + 0xf0]
push edx
call fcn.0059164b
add esp, 4
mov edi, eax
jmp 0x4601aa
mov eax, dword [esp + 0x48]
test eax, eax
je 0x45f691
mov edi, eax
lea edx, [edi + 0x1770]
mov ecx, ebx
call fcn.0045ee60
mov esi, eax
test esi, esi
je 0x45f691
mov al, byte [0x5ef2e8]
test al, al
mov dword [esp + 0x48], edi
jne 0x4601d7
mov word [0x5ef2e8], 0x20
push str.break
push 0x5ef2e8
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x460205
push 0x5a4bec
push eax
push 0x800
push esi
call dword [sym.imp.USER32.dll_AppendMenuA]
mov edi, dword [esp + 0x18]
jmp 0x460225
push 0
xor edx, edx
mov ecx, 0x5ef2e8
call fcn.004de6d0
mov edi, dword [esp + 0x18]
push 0x5ef2e8
push edi
push eax
push esi
call dword [sym.imp.USER32.dll_AppendMenuA]
cmp ebp, 1
jne 0x460235
mov dword [ebx + 0xe0], edi
jmp 0x461426
cmp ebp, 2
jne 0x461426
mov dword [ebx + 0xe4], edi
jmp 0x461426
push str.text
push 0x5c5218
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x4602e5
mov eax, dword [str.Static]
mov cx, word [0x5a7934]
mov dl, byte [0x5a7936]
push str.center
push esi
mov dword [0x5eef00], eax
mov word [0x5eef04], cx
mov byte [0x5eef06], dl
call fcn.00591d90
add esp, 8
test eax, eax
je 0x4602a5
or ebp, 1
mov dword [esp + 0x10], ebp
jmp 0x460ebd
push str.right
push esi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x4602c3
or ebp, 2
mov dword [esp + 0x10], ebp
jmp 0x460ebd
push str.nowrap
push esi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x460ebd
or ebp, 0xc
mov dword [esp + 0x10], ebp
jmp 0x460ebd
push str.link
push 0x5c5218
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x46039b
mov eax, dword [str.Static]
mov cx, word [0x5a7934]
mov dl, byte [0x5a7936]
push str.center
mov ebp, 0x40000000
push esi
mov dword [0x5eef00], eax
mov word [0x5eef04], cx
mov byte [0x5eef06], dl
mov dword [esp + 0x18], ebp
call fcn.00591d90
add esp, 8
test eax, eax
je 0x460345
mov ebp, 0x40000001
jmp 0x46035c
push str.right
push esi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x460360
mov ebp, 0x40000002
mov dword [esp + 0x10], ebp
push 0x5a5330
push esi
call fcn.00591d90
add esp, 8
test eax, eax
jne 0x460384
push str.disable
push esi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x46038e
or ebp, 0x8000000
mov dword [esp + 0x10], ebp
mov dword [esp + 0x5c], 1
jmp 0x460ebd
push str.edit
push 0x5c5218
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x460524
mov eax, dword [str.Edit]
mov cl, byte [0x5a78f8]
mov dword [0x5eef00], eax
mov byte [0x5eef04], cl
mov eax, dword [ebx + 0x15c]
or ebp, 0x10000
test eax, eax
mov dword [esp + 0x10], ebp
jne 0x4603ea
xor ecx, ecx
call fcn.0055be00
test eax, eax
jne 0x4603f4
or ebp, 0x800000
mov dword [esp + 0x10], ebp
push str.center
push esi
mov dword [esp + 0x38], 0x200
call fcn.00591d90
add esp, 8
test eax, eax
je 0x460413
or ebp, 1
jmp 0x460428
push str.right
push esi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x46042c
or ebp, 2
mov dword [esp + 0x10], ebp
push str.read
push esi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x460448
or ebp, 0x800
mov dword [esp + 0x10], ebp
push str.multi
push esi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x460461
or ebp, 4
mov dword [esp + 0x10], ebp
push str.pass
push esi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x46047a
or ebp, 0x20
mov dword [esp + 0x10], ebp
push str.return
push esi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x460496
or ebp, 0x1000
mov dword [esp + 0x10], ebp
push str.number
push esi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x4604b2
or ebp, 0x2000
mov dword [esp + 0x10], ebp
push str.hsbar
push esi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x4604ce
or ebp, 0x100000
mov dword [esp + 0x10], ebp
push str.vsbar
push esi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x4604ea
or ebp, 0x200000
mov dword [esp + 0x10], ebp
push str.autohs
push esi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x460506
or ebp, 0x80
mov dword [esp + 0x10], ebp
push str.autovs
push esi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x460b20
or ebp, 0x40
jmp 0x460b1c
push str.button
push 0x5c5218
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x460608
mov ax, word [0x5a77ec]
mov edx, dword [str.Button]
mov cl, byte [0x5a77ee]
mov word [0x5eef04], ax
mov eax, dword [esp + 0x50]
or ebp, 0x10000
test eax, eax
mov dword [0x5eef00], edx
mov byte [0x5eef06], cl
mov dword [esp + 0x10], ebp
jne 0x460595
push str.default
push esi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x460595
or ebp, 1
mov dword [esp + 0x10], ebp
mov dword [esp + 0x50], 1
push 0x5a792c
push esi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x4605af
mov dword [ebx + 0xe0], edi
jmp 0x4605c7
push str.cancel
push esi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x4605c7
mov dword [ebx + 0xe4], edi
push str.multi
push esi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x4605e3
or ebp, 0x2000
mov dword [esp + 0x10], ebp
push str.flat
push esi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x460ebd
or ebp, 0x8000
mov dword [esp + 0x10], ebp
jmp 0x460ebd
push str.check
push 0x5c5218
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x46066a
mov edx, dword [str.Button]
mov ax, word [0x5a77ec]
mov cl, byte [0x5a77ee]
push str.3state
push esi
mov dword [0x5eef00], edx
mov word [0x5eef04], ax
mov byte [0x5eef06], cl
or ebp, 0x10000
call fcn.00591d90
add esp, 8
test eax, eax
je 0x460662
or ebp, 6
jmp 0x460835
or ebp, 3
jmp 0x460835
push str.scroll
push 0x5c5218
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x4607f5
mov edx, dword [0x5a7890]
mov eax, dword [0x5a7894]
mov cx, word [0x5a7898]
push 0x5a7888
push esi
mov dword [0x5eef00], edx
mov dword [0x5eef04], eax
mov word [0x5eef08], cx
call fcn.00591d90
add esp, 8
test eax, eax
je 0x4606bf
or ebp, 2
jmp 0x4606e7
push str.left
push esi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x4606d6
or ebp, 2
jmp 0x4606e7
push str.bottom
push esi
call fcn.00591d90
add esp, 8
or ebp, 4
push str.horiz
push esi
mov dword [esp + 0x18], ebp
call fcn.00591d90
add esp, 8
test eax, eax
jne 0x460704
or ebp, 1
mov dword [esp + 0x10], ebp
push str.range
push esi
call fcn.00591d90
mov esi, eax
add esp, 8
test esi, esi
je 0x460ebd
mov al, byte [esi + 5]
add esi, 5
cmp al, 0x20
jne 0x46072e
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x460726
mov al, byte [esi]
test al, al
je 0x460ebd
movzx edx, al
push edx
call fcn.005920a7
add esp, 4
test eax, eax
jne 0x460756
mov al, byte [esi]
cmp al, 0x2b
je 0x460756
cmp al, 0x2d
jne 0x460ebd
push 0x20
push esi
call fcn.005912e0
mov edi, eax
add esp, 8
test edi, edi
je 0x4607d3
cmp byte [edi], 0x20
jne 0x460778
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
cmp al, 0x20
je 0x460770
mov al, byte [edi]
test al, al
je 0x4607d3
movzx eax, al
push eax
call fcn.005920a7
add esp, 4
test eax, eax
jne 0x460798
mov al, byte [edi]
cmp al, 0x2b
je 0x460798
cmp al, 0x2d
jne 0x4607d3
push esi
call fcn.0059164b
add esp, 4
test eax, eax
mov dword [esp + 0x64], eax
jg 0x4607b1
mov dword [esp + 0x64], 0
push edi
call fcn.0059164b
add esp, 4
test eax, eax
mov dword [esp + 0x34], eax
jg 0x460ebd
mov dword [esp + 0x34], 0
jmp 0x460ebd
push esi
call fcn.0059164b
add esp, 4
test eax, eax
mov dword [esp + 0x34], eax
jg 0x460ebd
mov dword [esp + 0x34], 0
jmp 0x460ebd
push str.radio
push 0x5c5218
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x460877
mov ecx, dword [str.Button]
mov dx, word [0x5a77ec]
mov al, byte [0x5a77ee]
mov dword [0x5eef00], ecx
mov word [0x5eef04], dx
mov byte [0x5eef06], al
or ebp, 0x10009
push str.left
push esi
mov dword [esp + 0x18], ebp
call fcn.00591d90
add esp, 8
test eax, eax
je 0x460852
or ebp, 0x20
mov dword [esp + 0x10], ebp
push str.push
push esi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x4605c7
or ebp, 0x1000
mov dword [esp + 0x10], ebp
jmp 0x4605c7
push 0x5a7850
push 0x5c5218
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x4608c5
mov ecx, dword [str.Button]
mov dx, word [0x5a77ec]
mov al, byte [0x5a77ee]
or ebp, 7
mov dword [0x5eef00], ecx
mov word [0x5eef04], dx
mov byte [0x5eef06], al
mov dword [esp + 0x10], ebp
mov dword [esp + 0x30], 0x20
jmp 0x460ebd
push str.list
push 0x5c5218
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x460a26
mov ecx, dword [str.ListBox]
mov edx, dword [0x5a7108]
mov dword [0x5eef00], ecx
mov dword [0x5eef04], edx
mov eax, dword [ebx + 0x15c]
or ebp, 0x210041
test eax, eax
mov dword [esp + 0x10], ebp
jne 0x460916
xor ecx, ecx
call fcn.0055be00
test eax, eax
jne 0x460920
or ebp, 0x800000
mov dword [esp + 0x10], ebp
push str.extsel
push esi
mov dword [esp + 0x38], 0x200
call fcn.00591d90
add esp, 8
test eax, eax
je 0x460944
or ebp, 0x800
mov dword [esp + 0x10], ebp
push str.multsel
push esi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x46095d
or ebp, 8
mov dword [esp + 0x10], ebp
push str.sort
push esi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x460976
or ebp, 2
mov dword [esp + 0x10], ebp
push str.size
push esi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x460992
or ebp, 0x100
mov dword [esp + 0x10], ebp
push str.vsbar
push esi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x4609ae
or ebp, 0x1000
mov dword [esp + 0x10], ebp
push str.hsbar
push esi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x4609ca
or ebp, 0x100000
mov dword [esp + 0x10], ebp
push str.check
push esi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x4609f3
or ebp, 0x410
mov dword [esp + 0x6c], 1
mov dword [esp + 0x10], ebp
jmp 0x460ebd
push str.radio
push esi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x460ebd
and ebp, 0xfffff7f7
or ebp, 0x410
mov dword [esp + 0x6c], 2
mov dword [esp + 0x10], ebp
jmp 0x460ebd
push str.combo
push 0x5c5218
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x460b89
mov eax, dword [str.ComboBox]
mov ecx, dword [0x5a6048]
mov dl, byte [0x5a604c]
mov dword [0x5eef00], eax
mov dword [0x5eef04], ecx
mov byte [0x5eef08], dl
mov eax, dword [ebx + 0x15c]
or ebp, 0x210240
test eax, eax
jne 0x460a7d
xor ecx, ecx
call fcn.0055be00
test eax, eax
jne 0x460a83
or ebp, 0x800000
push str.sort
push esi
mov dword [esp + 0x38], 0x200
call fcn.00591d90
add esp, 8
test eax, eax
je 0x460aa3
or ebp, 0x100
push str.size
push esi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x460abb
or ebp, 0x400
push str.vsbar
push esi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x460ad3
or ebp, 0x800
push str.hsbar
push esi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x460aeb
or ebp, 0x100000
push str.drop
push esi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x460b19
push str.edit
push esi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x460b14
or ebp, 2
jmp 0x460b1c
or ebp, 3
jmp 0x460b1c
or ebp, 1
mov dword [esp + 0x10], ebp
push str.limit
push esi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x460ebd
mov cl, byte [eax + 5]
add eax, 5
cmp cl, 0x20
jne 0x460b4a
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x460b41
cmp byte [eax], 0
je 0x45f691
push eax
call fcn.0059164b
add esp, 4
test eax, eax
mov dword [esp + 0x4c], eax
jge 0x460b71
mov dword [esp + 0x4c], 0
jmp 0x460ebd
cmp eax, 0x7530
jle 0x460ebd
mov dword [esp + 0x4c], 0
jmp 0x460ebd
push str.icon
push 0x5c5218
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x4614a5
mov eax, dword [str.Static]
mov cx, word [0x5a7934]
mov dl, byte [0x5a7936]
mov dword [0x5eef00], eax
mov word [0x5eef04], cx
mov byte [0x5eef06], dl
mov al, byte [esi]
mov edi, 1
xor ebx, ebx
test al, al
mov ebp, 0x40000003
mov dword [esp + 0x54], edi
mov dword [esp + 0x80], edi
mov dword [esp + 0x58], ebx
mov dword [esp + 0x10], ebp
jne 0x460ca4
push 0x128
mov byte [esp + 0x4dc], bl
mov dword [esp + 0x58], ebx
call fcn.00591118
add esp, 4
cmp eax, ebx
je 0x460ebd
lea esi, [esp + 0x4d8]
mov edx, eax
sub edx, esi
lea ecx, [esp + 0x4d8]
lea esi, [edx + 0xc]
mov dl, byte [ecx]
mov byte [esi + ecx], dl
inc ecx
test dl, dl
jne 0x460c25
mov edx, dword [esp + 0x18]
mov dword [eax + 0x110], ebx
mov dword [eax], ebx
mov ecx, dword [esp + 0x54]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x14]
mov dword [eax + 4], ecx
mov dword [eax + 0x114], edi
mov dword [eax + 0x118], edi
mov dword [eax + 0x11c], ebx
mov dword [eax + 0x120], ebx
mov dword [eax + 0x124], ebx
mov ecx, dword [edx + 0x1398]
cmp ecx, ebx
je 0x460c99
cmp dword [ecx + 0x124], ebx
je 0x460c8e
lea esp, [esp]
mov ecx, dword [ecx + 0x124]
cmp dword [ecx + 0x124], ebx
jne 0x460c80
mov dword [ecx + 0x124], eax
jmp 0x460ebd
mov dword [edx + 0x1398], eax
jmp 0x460ebd
push 0x2c
push esi
call fcn.005912e0
mov edi, eax
add esp, 8
test edi, edi
je 0x460db9
push str.noborder
push edi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x460cd3
mov dword [esp + 0x54], 0
push str.small
push edi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x460ced
mov dword [esp + 0x58], 1
push str.large
push edi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x460d07
mov dword [esp + 0x58], 2
push str.actual
push edi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x460d21
mov dword [esp + 0x58], 4
push 0x5a5330
push edi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x460d3c
mov ebp, 0x48000003
mov dword [esp + 0x10], ebp
push str.left
push edi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x460d53
mov ebx, 1
push str.right
push edi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x460d68
or ebx, 2
push 0x5a7888
push edi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x460d7d
or ebx, 4
push str.bottom
push edi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x460d92
or ebx, 8
push str.disable
push edi
call fcn.00591d90
add esp, 8
test eax, eax
je 0x460db9
or ebp, 0x8000000
mov dword [esp + 0x10], ebp
mov dword [esp + 0x80], 0
push 0x2c
push esi
xor edi, edi
call fcn.005912e0
add esp, 8
test eax, eax
je 0x460e44
mov byte [eax], 0
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
jne 0x460ddf
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x460dd6
cmp byte [eax], 0
je 0x460e44
lea edx, [esp + 0xf0]
sub edx, eax
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x460df0
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x139c]
mov ecx, dword [ecx + 0x1394]
push eax
push ecx
mov ecx, dword [eax]
push 0
push 0
push 1
push 0
push 0
lea edx, [esp + 0x10c]
call fcn.004a5de0
test eax, eax
je 0x45f691
lea edx, [esp + 0xf0]
push edx
call fcn.0059164b
mov edi, eax
add esp, 4
test edi, edi
jge 0x460e44
xor edi, edi
lea ecx, [esp + 0xf0]
sub ecx, esi
lea ecx, [ecx]
mov al, byte [esi]
mov byte [ecx + esi], al
inc esi
test al, al
jne 0x460e50
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 0x139c]
mov ecx, dword [esi + 0x1394]
push eax
push ecx
mov ecx, dword [eax]
push 0
push 0
push 1
push 0
push 0
lea edx, [esp + 0x10c]
call fcn.004a5de0
test eax, eax
je 0x45f691
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x54]
push edx
push ebx
push eax
push ecx
push 1
push edi
lea edx, [esp + 0x108]
push edx
mov edx, dword [esp + 0x34]
mov ecx, esi
call fcn.0045e0c0
test eax, eax
je 0x46148c
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x170]
test ecx, ecx
je 0x460f2b
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x20]
imul eax, ecx
mov ebx, dword [esp + 0x40]
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 0x460f6b
push 0x5a7948
push 0x5c5218
call fcn.005a299c
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
add esp, 8
test eax, eax
jne 0x460f63
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 0x460f67
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
mov edx, dword [0x5f92e8]
mov ebx, dword [esp + 0x14]
push 0
push edx
mov edx, dword [esp + 0x20]
push edx
mov edx, dword [ebx + 0xc8]
push edx
push ecx
push eax
mov eax, dword [esp + 0x48]
push edi
push esi
push ebp
push 0x5ef2e8
push 0x5eef00
push eax
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov ebp, eax
test ebp, ebp
je 0x46146a
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x460fb3
push eax
jmp 0x460fb5
push 0
push 0xffffffffffffffeb
push ebp
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov eax, dword [ebx + 0x15c]
test eax, eax
je 0x460fcf
mov ecx, ebp
call fcn.0055bdc0
mov eax, dword [esp + 0x88]
test eax, eax
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
je 0x460fe8
push 0
push eax
push 0x30
push ebp
call edi
mov eax, dword [esp + 0x64]
test eax, eax
jne 0x460ff8
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x461009
mov ecx, dword [esp + 0x34]
push 1
push ecx
push eax
push 2
push ebp
call dword [sym.imp.USER32.dll_SetScrollRange]
mov ebx, dword [esp + 0x4c]
test ebx, ebx
je 0x46108b
push str.ComboBox
push 0x5eef00
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x461073
push 5
push ebp
call dword [sym.imp.USER32.dll_GetWindow]
mov esi, eax
test esi, esi
je 0x4610a9
mov edx, 0x64
lea ecx, [esp + 0x8c]
call fcn.00420e60
push 0x63
lea edx, [esp + 0x90]
push edx
push esi
call dword [sym.imp.USER32.dll_GetClassNameA]
lea ecx, [esp + 0x8c]
call fcn.0047e810
test eax, eax
je 0x4610a9
push 0
push ebx
push 0xc5
push esi
jmp 0x4610a7
mov ecx, 0x5eef00
call fcn.0047e810
test eax, eax
je 0x4610a9
push 0
push ebx
push 0xc5
jmp 0x4610a6
mov ecx, 0x5eef00
call fcn.0047e810
cmp eax, 2
jne 0x4610a9
push 0xfa00
push 0
push 0x435
push ebp
call edi
mov eax, dword [esp + 0x5c]
test eax, eax
mov esi, dword [esp + 0x14]
je 0x4610e2
mov ecx, dword [esi + 0x1380]
push 0
mov edx, 0x5a4bec
call fcn.004d38f0
test eax, eax
je 0x45f691
mov ecx, dword [esp + 0x18]
mov dword [esi + 0x1380], eax
mov eax, dword [eax + 0x44]
mov dword [eax + 0xc], ebp
mov dword [eax + 8], ecx
mov ecx, 0x5eef00
call fcn.0047e810
test eax, eax
je 0x4610fc
push 0
push 0
push 0xb9
push ebp
call edi
cmp dword [esp + 0x50], 1
jne 0x46112c
mov edx, dword [esp + 0x18]
mov eax, dword [esi + 0xc8]
push 0
push edx
push 0x401
push eax
mov dword [esp + 0x60], 2
call edi
push 1
push 1
push 0xf4
push ebp
call edi
push 0x5a7948
push 0x5c5218
call fcn.005a299c
add esp, 8
test eax, eax
jne 0x46132c
mov ebx, dword [esp + 0x38]
cmp ebx, 0x32
jge 0x45f691
test ebx, ebx
jne 0x461282
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x70]
mov edi, dword [esp + 0x78]
add ebx, 9
lea edx, [ebx + ecx - 9]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x14]
cmp dword [edx + 0x170], 0
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x7c]
mov esi, eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ecx
je 0x4611f3
imul eax, dword [esp + 0x40]
cdq
and edx, 3
add eax, edx
mov esi, eax
mov eax, edi
imul eax, dword [esp + 0x40]
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 [0x5f92e8]
mov edx, dword [esp + 0x14]
push 0
push eax
mov eax, dword [edx + 0xc8]
push 0x66
push eax
sub ecx, ebx
push ecx
mov ecx, dword [esp + 0x70]
push edi
push ecx
push esi
push 0x40000007
push 0x5a4bec
push str.Static
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
test eax, eax
je 0x45f691
mov edx, dword [0x5f92e8]
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 0x5a4bec
push str.ListBox
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
test eax, eax
je 0x45f691
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x78], 0x14
mov dword [esp + 0x7c], 8
mov eax, dword [esp + 0x14]
mov edx, ebx
imul edx, edx, 0x5c
lea esi, [edx + eax]
lea edi, [esi + 0x174]
push 0x5ef2e8
mov edx, 0x32
mov ecx, edi
call fcn.00420d70
xor eax, eax
mov dword [esi + 0x1b0], eax
mov dword [esi + 0x1b4], eax
cmp ebx, eax
mov eax, dword [esp + 0x14]
mov dword [esi + 0x1a8], ebp
mov dword [esi + 0x1ac], 1
jne 0x4612d7
mov dword [eax + 0x1b8], 1
jmp 0x4612e1
mov dword [esi + 0x1b8], 0
lea edx, [ebx + 5]
imul edx, edx, 0x5c
xor ecx, ecx
push edi
push ecx
push 0x180
mov dword [esi + 0x1bc], 1
mov dword [esi + 0x1c0], 0xbe
mov dword [esi + 0x1c8], ecx
mov dword [edx + eax], ecx
mov dword [esi + 0x204], ecx
mov eax, dword [eax + 0xc8]
push 0x65
push eax
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
inc ebx
mov dword [esp + 0x38], ebx
jmp 0x46140f
mov eax, dword [esp + 0x44]
test eax, eax
je 0x46140f
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x46140f
mov cl, byte [eax + 3]
add eax, 3
cmp cl, 0x20
mov dword [esp + 0x44], eax
jne 0x461360
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x461353
mov dword [esp + 0x44], eax
cmp byte [eax], 0
je 0x45f691
mov ecx, dword [esp + 0x44]
push ecx
call fcn.0059164b
mov ebx, dword [esp + 0x18]
mov edi, eax
add esp, 4
add edi, 0x1770
xor esi, esi
add ebx, 0x1a8
lea ebx, [ebx]
mov eax, dword [ebx]
test eax, eax
je 0x4613af
push eax
call dword [sym.imp.USER32.dll_GetDlgCtrlID]
cmp eax, edi
je 0x4613af
inc esi
add ebx, 0x5c
cmp esi, 0x32
jl 0x461390
jmp 0x45f691
cmp esi, 0x32
jge 0x45f691
mov eax, dword [esp + 0x14]
mov edx, esi
imul edx, edx, 0x5c
mov ecx, dword [edx + eax + 0x1a8]
test ecx, ecx
je 0x45f691
mov edi, eax
mov ecx, dword [edi + 0x136c]
push 0
mov edx, 0x5a4bec
call fcn.004d38f0
test eax, eax
je 0x45f691
mov ecx, dword [esp + 0x18]
mov dword [edi + 0x136c], 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], ebp
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 + 0x2c]
mov eax, dword [eax + 0x40]
test eax, eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x2c], eax
je 0x4614b7
mov esi, eax
jmp 0x45f460
add edi, 0xffffe890
add ebx, 0x64
push edi
push ebx
xor edx, edx
mov ecx, 0x674
call fcn.0041f1a0
push eax
push 0x5cbac0
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
pop esi
pop ebx
pop edi
xor eax, eax
pop ebp
add esp, 0x8b0
ret
lea ecx, [esp + 0xf0]
push ecx
add ebx, 0x64
push ebx
xor edx, edx
mov ecx, 0x673
jmp 0x461456
mov eax, dword [esp + 0x14]
lea edx, [esp + 0xf0]
push edx
add eax, 0x64
push eax
xor edx, edx
mov ecx, 0x675
jmp 0x461456
add ebx, 0x64
push 0x5c5218
push ebx
xor edx, edx
mov ecx, 0x676
jmp 0x461456
mov eax, dword [esp + 0x60]
test eax, eax
jne 0x461524
add ebx, 0x64
push ebx
xor edx, edx
mov ecx, 0x677
call fcn.0041f1a0
push eax
push 0x5cbac0
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
xor edx, edx
mov ecx, 0x678
call fcn.0041f1a0
mov ecx, eax
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4614f0
mov edi, 0x5cbac0
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x461501
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 esi
pop ebx
pop edi
xor eax, eax
pop ebp
add esp, 0x8b0
ret
mov eax, dword [esp + 0x68]
test eax, eax
je 0x461539
mov edx, dword [ebx + 0xc8]
push edx
call dword [sym.imp.USER32.dll_DrawMenuBar]
pop esi
pop ebx
pop edi
mov eax, 1
pop ebp
add esp, 0x8b0
ret